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

Single Сhannel Change Detection

Добавлено: 25 май 2016, 22:32
StPatrick
В ScanEx Image Processor есть замечательная функция Single Сhannel Change Detection, которая позволяется сравнить 2 снимка по одиному каналу. Функция расчитывает вероятность изменения пикселя и может построить побитовую маску с пикселями превышающие определенный процент изменения.
Вопрос в следующем. Как эту функцию можно записать в растровом калькуляторе? Делаю скрипт на Google Earth Engine и там нет такой готовой функии, поэтому нужно написать ручками.
Полистал мануал для ScanEx версии 4.0, но понял только следующее, что значения 2-го снимка нужного пересчитывать по опорному растру. Далее посчитать R = A-Ba. (А - опорный растр, Ва - пересчитанные значения 2 снимка по диапазону значений 1 снимка, R - промежуточный результат). Далее сие есть загадка великая)

Был бы благодарен, если Вы смогли бы написать, как это считается формулой для растрового калкулятора.

Re: Single Сhannel Change Detection

Добавлено: 27 май 2016, 13:35
KolesovDmitry
На самом деле я не знаю, как делается в ScanEx, но рискну предположить по приведенной вами формуле, что там строится линейная регрессия между первым и вторым растром. Потом на осове полученных коэффициентов регрессии строится прогнозный снимок за вторую дату по снимку из первой даты. Величина разности между прогнозом и реальностью может служить оценкой того, было изменение или нет.
Так что вам нужно перевести формулы расчета регресси на язык растрового калькулятора. Понятно, что одним калькулятором вы не обойдетесь, вам нужно иметь инструменты рассчета суммы значений пикселей по снимку. Но эти инструменты должны быть в любых приличных ГИС.

Re: Single Сhannel Change Detection

Добавлено: 27 май 2016, 18:16
Boris
А как называется эта операция по-русски и на какой странице какого из руководств приведено описание, которые вы толкуете? Я в русском руководстве и свое памяти нашел только вот это:
Clipboard01.png
Clipboard01.png (6.96 КБ) 4954 просмотра
И описание в руководстве дано исчерпывающее:
Для уменьшения зависимости результатов от качества фотометрической коррекции строится линейная регрессия анализируемого растра на опорный (по данным в пределах заданной области анализа).
Результатом выполнения операции является растровый слой, значения яркости которого, приведенные в диапазон значений [0-1], показывают вероятность изменений, и/или полученный из него с использованием заданного порога бинарный растр.
В случае если выбран метод Вычитание, выполняются следующие операции:
R = A - BА,
в случае если выбран метод Деление, выполняются следующие операции:
R = A / BА,
в случае если выбран метод Главные компоненты,
R = (PC2A*(A-SA)+PC2B*(BА-SBА),
где R – промежуточный результат, A – референсный растр, BА – результат регрессии анализируемого растра на референсный, PC2A – множитель второй главной компоненты для растра A, PC2B – множитель второй главной компоненты для растра BА, SA – среднее значение растра A, SB – среднее значение растра BА (все величины вычисляются в области, ограниченной векторными масками).
Промежуточный результат используется для вычисления распределения, на основании которого вычисляется вероятность отклонений. Для значений R, соответствующих медиане распределения, вероятность изменений считается нулевой, для значений, соответствующих вероятности 0.05 и 0.95 вероятность изменений считается равной 90%, и т.д. Полученные значений вероятности используются для формирования результирующих растров.
И в чем собственно состоит вопрос?

Re: Single Сhannel Change Detection

Добавлено: 30 май 2016, 14:18
StPatrick
А можно на примере
допустим пиксель первого растра равен 100, второго растра 150
диапазон значений пикселей 0...255 у обоих растров.
Как рассчитать вероятность изменения пикселя?

Re: Single Сhannel Change Detection

Добавлено: 30 май 2016, 14:54
gamm
StPatrick писал(а):Как рассчитать вероятность изменения пикселя?
никак. Там же черным по русски написано, что регрессию нужно строить ...