Алгоритм Лукаса — Канаде

Материал из testwiki
Версия от 18:23, 28 мая 2022; imported>InternetArchiveBot (Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.8.7)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Алгоритм Лукаса — Канаде — широко используемый в компьютерном зрении дифференциальный локальный метод вычисления оптического потока.

Основное уравнение оптического потока содержит две неизвестных и не может быть однозначно разрешено. Алгоритм Лукаса — Канаде обходит неоднозначность за счет использования информации о соседних пикселях в каждой точке. Метод основан на предположении, что в локальной окрестности каждого пикселя значение оптического потока одинаково, таким образом можно записать основное уравнение оптического потока для всех пикселей окрестности и решить полученную систему уравнений методом наименьших квадратов.[1][2]

Алгоритм Лукаса — Канаде менее чувствителен к шуму на изображениях, чем поточечные методы, однако является сугубо локальным и не может определить направление движения пикселей внутри однородных областей.


Описание алгоритма

Предположим, что смещение пикселей между двумя кадрами невелико. Рассмотрим пиксель p, тогда, по алгоритму Лукаса — Канаде, оптический поток должен быть одинаков для всех пикселей, находящихся в окне с центром в p. А именно, вектор оптического потока (Vx,Vy) в точке p должен быть решением системы уравнений

{Ix(q1)Vx+Iy(q1)Vy=It(q1)Ix(q2)Vx+Iy(q2)Vy=It(q2)...Ix(qn)Vx+Iy(qn)Vy=It(qn)

где

q1,q2,,qn — пиксели внутри окна,
Ix(qi),Iy(qi),It(qi) — частные производные изображения I по координатам x, y и времени t, вычисленные в точке qi.

Это уравнение может быть записано в матричной форме:

Av=b,

где

A=[Ix(q1)Iy(q1)Ix(q2)Iy(q2)Ix(qn)Iy(qn)],v=[VxVy],b=[It(q1)[10pt]It(q2)[10pt]It(qn)]

Полученную переопределенную систему решаем с помощью метода наименьших квадратов. Таким образом, получается система уравнений 2×2:

ATAv=ATb,

откуда

v=(ATA)1ATb,

где ATтранспонированная матрица A. Получаем:

[VxVy]=[iIx(qi)2iIx(qi)Iy(qi)iIx(qi)Iy(qi)iIy(qi)2]1[iIx(qi)It(qi)iIy(qi)It(qi)]

Взвешенное окно

В методе наименьших квадратов все n пикселей qi в окне оказывают одинаковое влияние. Однако логичнее учитывать более близкие к p пиксели с большим весом. Для этого используется взвешенный метод наименьших квадратов,

ATWAv=ATWb

или

v=(ATWA)1ATWb

где Wдиагональная матрица n×n, содержащая веса Wii=wi, которые будут присвоены пикселям qi. Получаем следующую систему уравнений:

[VxVy]=[iwiIx(qi)2iwiIx(qi)Iy(qi)iwiIx(qi)Iy(qi)iwiIy(qi)2]1[iwiIx(qi)It(qi)iwiIy(qi)It(qi)]

В качестве весов wi обычно используется нормальное распределение расстояния между qi и p.

См. также

Примечания

Шаблон:Примечания

Ссылки

  1. B. D. Lucas and T. Kanade (1981), An iterative image registration technique with an application to stereo vision. Шаблон:Wayback Proceedings of Imaging Understanding Workshop, pages 121--130
  2. Bruce D. Lucas (1984) Generalized Image Matching by the Method of Differences Шаблон:Webarchive (doctoral dissertation)