Страница 1 из 1

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

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

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

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

Добавлено: 26 фев 2013, 11:30
Максим Дубинин
Смотреть нужно в сторону статистических пакетов, например R.

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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