Відкрити головне меню

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

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

Зміст

Опис алгоритмуРедагувати

Припустимо, що зміщення пікселів між двома кадрами — відносно мале. Розглянемо піксель p, тоді відповідно до алгоритму Лукаса — Канаде, оптичний потік має бути однаковий для всіх пікселів, які находяться у вікні з центром в точці p. А саме, вектор оптичного потоку   в точці p має бути розв'язком рівняння

 

де

  — пікселі всередині вікна,
  — часткові похідні зображення   по координатам x, y і часу t, обчислені в точці  .

Це рівняння може бути записано у матричному вигляді:

 ,

де

 

Систему рівнянь яку ми отримали будемо розв'язувати методом найменших квадратів. Таким чаном отримуємо систему рівнянь 2×2:

 ,

звідки:

 ,

да   — транспонована матриця  . Маємо:

 

Зважене вікноРедагувати

У методі найменших квадратів всі n пікселів   у вікні несуть однаковий вплив. Однак більш логічно враховувати ближчі до p пікселі з більшою вагою. Для цього використовується зважений метод найменших квадратів,

 

або

 

де   — діагональна матриця n×n, містить коефіцієнти ваги  , котрі будуть присвоєні пікселям  . Отримуємо наступну систему рівнянь:

 

Для визначення   зазвичай використовується нормальний розподіл відстані між   і p.

Див. такожРедагувати

ПриміткиРедагувати

  1. B.
  2. Bruce D.

ПосиланняРедагувати