Нет ли у кого-нибудь скипта для взаимной калибровки снимков?
-
- Завсегдатай
- Сообщения: 324
- Зарегистрирован: 14 фев 2010, 20:42
- Репутация: 0
Нет ли у кого-нибудь скипта для взаимной калибровки снимков?
Задача такая: есть 2 NDVI за 2 года. Они немного разные из-за фенологии, неламбертова рассеяния в зависимости угла солнца, и еще чего-то. Существует методика регрессионного приведения 2-х снимков к "общему знаменателю" по априорно неизменным участкам, чтобы повысить качество итогового Change Detection. Так вот, нет ли в GRASS готовой функции чтобы эту взаимную калибровку сделать?
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Нет ли у кого-нибудь скипта для взаимной калибровки снимков?
Если у вас уже есть априорно неизменные участки, то попробуйте создать маску и воспользуйтесь r.regression.line.kryl писал(а):Задача такая: есть 2 NDVI за 2 года. Они немного разные из-за <...>. Существует методика регрессионного приведения 2-х снимков к "общему знаменателю" по априорно неизменным участкам <...>. Так вот, нет ли в GRASS готовой функции чтобы эту взаимную калибровку сделать?
Общий же случай, т.е., когда такие участки неизвестны и их нужно выделить какими-то статистическими процедурами, меня самого очень интересует. Пока сижу, копаюсь в литературе, но критической массы еще не набрал. Буду рад, если что-то подскажете.
-
- Завсегдатай
- Сообщения: 324
- Зарегистрирован: 14 фев 2010, 20:42
- Репутация: 0
Re: Нет ли у кого-нибудь скипта для взаимной калибровки снимков?
А как полученные коэффициенты применить к снимку?
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Нет ли у кого-нибудь скипта для взаимной калибровки снимков?
Если я правильно понимаю задачу, то вы выбираете один снимок в качестве опорного (пусть называется Y), а второй (остальные) "подтягиваете" к опорному снимку. Пусть второй растр называется X.kryl писал(а):А как полученные коэффициенты применить к снимку?
Тогда: находим уравнение регрессии y = a + b*x (вычисляем не для всего снимка, а только для "неизменных областей") и при помощи r.mapcalc:
Код: Выделить всё
newX = a + b*X
-
- Гуру
- Сообщения: 4067
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1062
- Ваше звание: программист
- Откуда: Казань
Re: Нет ли у кого-нибудь скипта для взаимной калибровки снимков?
а причем здесь NDVI - нужен change detection или продуктивность сравнить?kryl писал(а):Задача такая: есть 2 NDVI за 2 года. Они немного разные из-за фенологии, неламбертова рассеяния в зависимости угла солнца, и еще чего-то. Существует методика регрессионного приведения 2-х снимков к "общему знаменателю" по априорно неизменным участкам, чтобы повысить качество итогового Change Detection. Так вот, нет ли в GRASS готовой функции чтобы эту взаимную калибровку сделать?
Если все-же NDVI, то нужно все это затащить в нормальный статистический пакет, и там посмотреть (см. в новостях про связь GRASS и R).
Методика такая: нужно сделать выборку по неизменной области, и посмотреть для начала scatter plot (есть там зависимость, и если есть - то какая). Потом построить модель (не факт, что она линейная), оценить ее качество, и применить - посчитать регрессию, найти разность и использовать распределение ошибок модели для определения вероятности изменений. В ГИС этого не сделать (скорее всего), в R без всяких ГИС - запросто, включая построение результирующего растра.
Если делать это не с NDVI, а с каналами, то регрессию нужно считать каноническую (пачку на пачку). Или использовать что-то типа Multivariate Alteration Detection (я не знаю, реализован он где-либо в ГИС или нет, в R делается руками).
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей