Смысл этой формулы действительно очень прост. Представьте, что вы берете две одинаковые по размеру области изображения: синюю и красную:
Функция окна равна 0 за пределами красного прямоугольника (для простоты мы можем предположить, что окно просто внутри константы внутри красного прямоугольника). Таким образом, оконная функция выбирает, на какие пиксели вы хотите смотреть, и присваивает относительный вес каждому пикселю. (Наиболее распространенным является окно Гаусса, поскольку оно вращательно-симметрично, эффективно для вычисления и выделения пикселей рядом с центром окна.) Синий прямоугольник смещен на (u, v).
Затем вы вычисляете сумму квадратов разности между частями изображения, помеченными красным и синим, т.е. вычитаете их попиксельно, возводите в квадрат разницу и суммируете результат (предполагая, для простоты, что окно = 1 в области, которую мы ищем) в). Это дает вам одно число для каждого возможного (u, v) -> E (u, v).
Посмотрим, что произойдет, если мы вычислим это для разных значений u / v:
Сначала держите v = 0:
Это не должно вызывать удивления: разница между частями изображения наименьшая, когда смещение (u, v) между ними равно 0. По мере увеличения расстояния между двумя заплатами сумма квадратов разностей также увеличивается.
Сохраняя u = 0:
График выглядит аналогично, но сумма квадратов различий между двумя частями изображения намного меньше, когда вы смещаете синий прямоугольник в направлении края.
Полный график E (u, v) выглядит так:
Сюжет немного похож на «каньон»: разница будет небольшая, если вы сдвинете изображение в направлении каньона. Это потому, что этот патч изображения имеет доминирующую (вертикальную) ориентацию.
Мы можем сделать то же самое для другого патча изображения:
Здесь график E (u, v) выглядит иначе:
Независимо от того, каким образом вы меняете патч, он всегда выглядит иначе.
Таким образом, форма функции E (u, v) говорит нам кое-что о патче изображения
- если E (u, v) почти везде 0, то в патче изображения, на который вы смотрите, нет текстуры
- если E (u, v) имеет форму каньона, участок имеет доминирующую ориентацию (это может быть ребро или текстура)
- если E (u, v) "конусовидная", патч имеет текстуру, но не имеет доминирующей ориентации. Вот такой патч ищет угловой детектор.
Многие источники говорят, что это величина, на которую смещено окно 'w' ... так на сколько смещено окно? Один пиксель ... два пикселя?
Обычно вы вообще не вычисляете E (u, v). Тебя интересует только его форма в окрестности (u, v) = (0,0). Таким образом, вы просто хотите разложить Тейлора в E (u, v) около (0,0), что полностью описывает его «форму».
Является ли суммирование по позициям пикселей в окне?
Говоря математически, более элегантно разрешить суммирование по всем пикселям. Практически говоря, нет смысла суммировать пиксели, где окно равно 0.