Алгоритм Лукаса — Канаде
Алгоритм Лукаса—Канаде — широко используемый в компьютерном зрении дифференциальный локальный метод вычисления оптического потока.
Основное уравнение оптического потока содержит две неизвестных и не может быть однозначно разрешено. Алгоритм Лукаса—Канаде обходит неоднозначность за счет использования информации о соседних пикселях в каждой точке. Метод основан на предположении, что в локальной окрестности каждого пикселя значение оптического потока одинаково, таким образом можно записать основное уравнение оптического потока для всех пикселей окрестности и решить полученную систему уравнений методом наименьших квадратов.[1][2]
Алгоритм Лукаса—Канаде менее чувствителен к шуму на изображениях, чем поточечные методы, однако является сугубо локальным и не может определить направление движения пикселей внутри однородных областей.
Содержание |
[править] Описание алгоритма
Предположим, что смещение пикселей между двумя кадрами невелико. Рассмотрим пиксель p, тогда, по алгоритму Лукаса—Канаде, оптический поток должен быть одинаков для всех пикселей, находящихся в окне с центром в p. А именно, вектор оптического потока
в точке p должен быть решением системы уравнений
где
— пиксели внутри окна,
— частные производные изображения
по координатам x, y и времени t, вычисленные в точке
.
Это уравнение может быть записано в матричной форме
, где
Полученную переопределенную систему решаем с помощью метода наименьших квадратов. Таким образом, получается система уравнений 2×2
или
где
— транспонированная матрица
. Получаем,
[править] Взвешенное окно
В методе наименьших квадратов все n пикселей
в окне оказывают одинаковое влияние. Однако логичнее учитывать более близкие к p пиксели с большим весом. Для этого используется взвешенный метод наименьших квадратов,
или
где
— диагональная матрица n×n, содержащая веса
, которые будут присвоены пикселям
. Получаем следующую систему уравнений:
В качестве весов
обычно используется нормальное распределение расстояния между
и p.
[править] См. также
[править] Примечания
- ↑ B. D. Lucas and T. Kanade (1981), An iterative image registration technique with an application to stereo vision. Proceedings of Imaging Understanding Workshop, pages 121--130
- ↑ Bruce D. Lucas (1984) Generalized Image Matching by the Method of Differences (doctoral dissertation)
[править] Ссылки
- KLT: An Implementation of the Kanade-Lucas-Tomasi Feature Tracker
- Takeo Kanade
- Dor’s Image Processing Site, Mandatory site for IP algorithm developers, by Dor Barber. Tel Aviv University. Updated 31 December 2010.
- The image stabilizer plugin for ImageJ based on the Lucas-Kanade method
- Mathworks Lucas-Kanade Matlab implementation of inverse and normal affine Lucas-Kanade
- The French Aerospace Lab : GPU implementation of a Lucas-Kanade based optical flow
- Lucas-Kanade for the iPhone by Success Labs. A modified and enhanced port of the OpenCV lkdemo sample application to the iPhone.





![A = \begin{bmatrix}
I_x(q_1) & I_y(q_1) \\[10pt]
I_x(q_2) & I_y(q_2) \\[10pt]
\vdots & \vdots \\[10pt]
I_x(q_n) & I_y(q_n)
\end{bmatrix},
\quad\quad
v =
\begin{bmatrix}
V_x\\[10pt]
V_y
\end{bmatrix},
\quad\quad
b =
\begin{bmatrix}
-I_t(q_1)\\ [10pt]
-I_t(q_2)\\ [10pt]
\vdots \\[10pt]
-I_t(q_n)
\end{bmatrix}](http://upload.wikimedia.org/wikipedia/ru/math/8/d/9/8d92abf3ed8e0d55a2efac66b455c05e.png)
или
![\begin{bmatrix}
V_x\\[10pt]
V_y
\end{bmatrix}
=
\begin{bmatrix}
\sum_i I_x(q_i)^2 & \sum_i I_x(q_i)I_y(q_i) \\[10pt]
\sum_i I_x(q_i)I_y(q_i) & \sum_i I_y(q_i)^2
\end{bmatrix}^{-1}
\begin{bmatrix}
-\sum_i I_x(q_i)I_t(q_i) \\[10pt]
-\sum_i I_y(q_i)I_t(q_i)
\end{bmatrix}](http://upload.wikimedia.org/wikipedia/ru/math/c/b/a/cba1627ab304fe6a56eb1bf69f711dff.png)


![\begin{bmatrix}
V_x\\[10pt]
V_y
\end{bmatrix}
=
\begin{bmatrix}
\sum_i w_i I_x(q_i)^2 & \sum_i w_i I_x(q_i)I_y(q_i) \\[10pt]
\sum_i w_i I_x(q_i)I_y(q_i) & \sum_i w_i I_y(q_i)^2
\end{bmatrix}^{-1}
\begin{bmatrix}
-\sum_i w_i I_x(q_i)I_t(q_i) \\[10pt]
-\sum_i w_i I_y(q_i)I_t(q_i)
\end{bmatrix}](http://upload.wikimedia.org/wikipedia/ru/math/5/5/3/553c95e817bc4b32f43b2e883aede3b1.png)