Это не официальный сайт wikipedia.org 01.01.2023

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

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

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

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

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


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

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

{ I x ( q 1 ) V x + I y ( q 1 ) V y = I t ( q 1 ) I x ( q 2 ) V x + I y ( q 2 ) V y = I t ( q 2 ) . . . I x ( q n ) V x + I y ( q n ) V y = I t ( q n )  

где

q 1 , q 2 , , q n   — пиксели внутри окна,
I x ( q i ) , I y ( q i ) , I t ( q i )   — частные производные изображения I   по координатам x, y и времени t, вычисленные в точке q i  .

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

A v = b  ,

где

A = [ I x ( q 1 ) I y ( q 1 ) I x ( q 2 ) I y ( q 2 ) I x ( q n ) I y ( q n ) ] , v = [ V x V y ] , b = [ I t ( q 1 ) I t ( q 2 ) I t ( q n ) ]  

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

A T A v = A T b  ,

откуда

v = ( A T A ) 1 A T b  ,

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

[ V x V y ] = [ i I x ( q i ) 2 i I x ( q i ) I y ( q i ) i I x ( q i ) I y ( q i ) i I y ( q i ) 2 ] 1 [ i I x ( q i ) I t ( q i ) i I y ( q i ) I t ( q i ) ]  

Взвешенное окноПравить

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

A T W A v = A T W b  

или

v = ( A T W A ) 1 A T W b  

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

[ V x V y ] = [ i w i I x ( q i ) 2 i w i I x ( q i ) I y ( q i ) i w i I x ( q i ) I y ( q i ) i w i I y ( q i ) 2 ] 1 [ i w i I x ( q i ) I t ( q i ) i w i I y ( q i ) I t ( q i ) ]  

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

См. такжеПравить

ПримечанияПравить

  1. B. D. Lucas and T. Kanade (1981), An iterative image registration technique with an application to stereo vision. Архивная копия от 17 января 2009 на Wayback Machine Proceedings of Imaging Understanding Workshop, pages 121--130
  2. Bruce D. Lucas (1984) Generalized Image Matching by the Method of Differences Архивировано 11 июня 2007 года. (doctoral dissertation)

СсылкиПравить