Нет ли у кого-нибудь скипта для взаимной калибровки снимков?

Ответить
kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Нет ли у кого-нибудь скипта для взаимной калибровки снимков?

Сообщение kryl » 07 окт 2010, 08:43

Задача такая: есть 2 NDVI за 2 года. Они немного разные из-за фенологии, неламбертова рассеяния в зависимости угла солнца, и еще чего-то. Существует методика регрессионного приведения 2-х снимков к "общему знаменателю" по априорно неизменным участкам, чтобы повысить качество итогового Change Detection. Так вот, нет ли в GRASS готовой функции чтобы эту взаимную калибровку сделать?

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Нет ли у кого-нибудь скипта для взаимной калибровки снимков?

Сообщение KolesovDmitry » 07 окт 2010, 10:40

kryl писал(а):Задача такая: есть 2 NDVI за 2 года. Они немного разные из-за <...>. Существует методика регрессионного приведения 2-х снимков к "общему знаменателю" по априорно неизменным участкам <...>. Так вот, нет ли в GRASS готовой функции чтобы эту взаимную калибровку сделать?
Если у вас уже есть априорно неизменные участки, то попробуйте создать маску и воспользуйтесь r.regression.line.

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

kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Re: Нет ли у кого-нибудь скипта для взаимной калибровки снимков?

Сообщение kryl » 07 окт 2010, 13:38

А как полученные коэффициенты применить к снимку?

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Нет ли у кого-нибудь скипта для взаимной калибровки снимков?

Сообщение KolesovDmitry » 07 окт 2010, 17:49

kryl писал(а):А как полученные коэффициенты применить к снимку?
Если я правильно понимаю задачу, то вы выбираете один снимок в качестве опорного (пусть называется Y), а второй (остальные) "подтягиваете" к опорному снимку. Пусть второй растр называется X.

Тогда: находим уравнение регрессии y = a + b*x (вычисляем не для всего снимка, а только для "неизменных областей") и при помощи r.mapcalc:

Код: Выделить всё

newX =  a + b*X

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

Re: Нет ли у кого-нибудь скипта для взаимной калибровки снимков?

Сообщение gamm » 15 окт 2010, 22:37

kryl писал(а):Задача такая: есть 2 NDVI за 2 года. Они немного разные из-за фенологии, неламбертова рассеяния в зависимости угла солнца, и еще чего-то. Существует методика регрессионного приведения 2-х снимков к "общему знаменателю" по априорно неизменным участкам, чтобы повысить качество итогового Change Detection. Так вот, нет ли в GRASS готовой функции чтобы эту взаимную калибровку сделать?
а причем здесь NDVI - нужен change detection или продуктивность сравнить?

Если все-же NDVI, то нужно все это затащить в нормальный статистический пакет, и там посмотреть (см. в новостях про связь GRASS и R).

Методика такая: нужно сделать выборку по неизменной области, и посмотреть для начала scatter plot (есть там зависимость, и если есть - то какая). Потом построить модель (не факт, что она линейная), оценить ее качество, и применить - посчитать регрессию, найти разность и использовать распределение ошибок модели для определения вероятности изменений. В ГИС этого не сделать (скорее всего), в R без всяких ГИС - запросто, включая построение результирующего растра.

Если делать это не с NDVI, а с каналами, то регрессию нужно считать каноническую (пачку на пачку). Или использовать что-то типа Multivariate Alteration Detection (я не знаю, реализован он где-либо в ГИС или нет, в R делается руками).

Ответить

Вернуться в «GRASS»

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

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