Построение зависимости между изображениями

Кроме QGIS
Ответить
Variant
Активный участник
Сообщения: 133
Зарегистрирован: 15 окт 2009, 09:14
Репутация: 42
Откуда: Москва

Построение зависимости между изображениями

Сообщение Variant » 26 фев 2013, 08:49

Понадобилось построить зависимость между двумя снимками, то есть совместить их и для каждого канала отобразить распределение переходов яркостей первого снимка в яркости второго. Проблема в том, что сделать это можно множеством способов, но те, которые пока приходят на ум, весьма громоздки и неэстетичны. Некоторый нюанс ещё в том, что поскольку для решения конкретно этой задачи пространственное положение снимков роли не играет, на каких-то этапах могут оказаться удобнее даже какие-то совершенно неожиданные не ГИС-овские решения, приходится учитывать и их тоже.

Есть ли какой-то красивый способ, как сделать это? В сторону каких программ стоит смотреть? Может быть, что-то подобное где-то уже реализовано?

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Построение зависимости между изображениями

Сообщение Максим Дубинин » 26 фев 2013, 11:30

Смотреть нужно в сторону статистических пакетов, например R.

Вот тут есть для начала: http://gis-lab.info/qa/regress-r.html

Но задача поставлена как-то мутновато, "построить зависимость" это может быть, например, регрессия для двух каналов одного или разных изображений, а "распределение переходов яркостей" это все что угодно. Перед реализацией надо бы все-таки сначала понять что именно нужно считать.
пристегивайтесь, турбулентность прямо по курсу

Variant
Активный участник
Сообщения: 133
Зарегистрирован: 15 окт 2009, 09:14
Репутация: 42
Откуда: Москва

Re: Построение зависимости между изображениями

Сообщение Variant » 26 фев 2013, 12:51

Спасибо за статью, очень в тему, как раз были мысли насчёт R, возможно удастся применить для финальной стадии

Моя задача близкая, но немного другая, поскольку связь скорее всего нелинейна, и хочется для начала хотя бы визуально оценить характер этой нелинейности. Поэтому нескольких десятков точек как в статье здесь недостаточно, хочется оценить "всю полноту". Можно конечно создать точки в центре каждого пиксела, или даже что-нибудь похлеще, но это как раз те способы, которые мне показались "неэстетичными"

Насчёт постановки задачи: построение регрессии ведётся обычно уже после получения распределения переходов одного параметра в другой. Для меня в данном случае наибольший интерес имеет как раз этот предварительный этап


идеализированный результат:
переход.png
переход.png (22.92 КБ) 6863 просмотра

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Построение зависимости между изображениями

Сообщение Максим Дубинин » 26 фев 2013, 13:26

В своё время идея была такая у меня на эту тему. Разбить изображения (или каналы изображения) на N спектрально близких классов, сделать случайную выборку N точек на класс, этими точками экстрагировать уже сами спектральные яркости из первого и ими же из второго изображения - сравнить...
пристегивайтесь, турбулентность прямо по курсу

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Построение зависимости между изображениями

Сообщение gamm » 26 фев 2013, 17:16

Variant писал(а):идеализированный результат
этот результат получается в R командой plot(), которую нужно вызвать три раза - если оба снимка лежат в одном geotiff, т.е. каналы пространственно совмещены. Для совмещения каналов есть соответствующие программы - GRASS, ITK (free), ERDAS, Scanex IP (not free), и т.д.

регрессия вам не очень годится, поскольку в регрессии независимая переменная предполагается вычисленной без ошибки - поэтому модель получается "несимметричная". Вам нужно построить совместное распределение вероятности для пар каналов, что позволит решать любые задачи, в том числе построить "серединную линию" приведенной на картинке зависимости. Что интересно сделать это можно чисто ГИСовскими средствами, чисто для смеху :mrgreen:

Variant
Активный участник
Сообщения: 133
Зарегистрирован: 15 окт 2009, 09:14
Репутация: 42
Откуда: Москва

Re: Построение зависимости между изображениями

Сообщение Variant » 27 фев 2013, 13:51

Максим Дубинин писал(а):В своё время идея была такая у меня на эту тему. Разбить изображения (или каналы изображения) на N спектрально близких классов, сделать случайную выборку N точек на класс, этими точками экстрагировать уже сами спектральные яркости из первого и ими же из второго изображения - сравнить...
идея красивая, единственное, нужно как-то контролировать, чтобы классы имели равную представительность, иначе оценка будет смещённой

такой подход может оказаться хорош, чтобы существенно сэкономить на количестве точек, не сильно потеряв в достоверности, но применять его для единичных и ответственных работ я бы не рискнул. Кроме того, сначала надо разобраться каковы его типовые потери точности и как он поведёт себя в различных вырожденных случаях
gamm писал(а):
Variant писал(а):идеализированный результат
этот результат получается в R командой plot(), которую нужно вызвать три раза - если оба снимка лежат в одном geotiff, т.е. каналы пространственно совмещены. Для совмещения каналов есть соответствующие программы - GRASS, ITK (free), ERDAS, Scanex IP (not free), и т.д.
спасибо, пожалуй, идея с R мне нравится всё больше. Кстати как у него с многослойными изображениями? Или только многоканальные?

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Построение зависимости между изображениями

Сообщение Максим Дубинин » 27 фев 2013, 14:02

Variant писал(а):Кстати как у него с многослойными изображениями? Или только многоканальные?
а в чем разница?
пристегивайтесь, турбулентность прямо по курсу

Variant
Активный участник
Сообщения: 133
Зарегистрирован: 15 окт 2009, 09:14
Репутация: 42
Откуда: Москва

Re: Построение зависимости между изображениями

Сообщение Variant » 27 фев 2013, 15:54

Разница, насколько я понимаю, лишь формальная: у многоканального все каналы имеют один ранг, у многослойного они упорядочены по слоям. Графические редакторы чётко разделяют эти понятия, и форматы файлов имеют соответствующие опции. Но как отреагируют на такие файлы популярные ГИС не знаю, никогда не проверял

Ответить

Вернуться в «Свободные, бесплатные, открытые ГИС»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей