盧卡斯-卡納德方法
在計算機視覺中,盧卡斯-卡納德方法是一種廣泛使用的光流估計的差分方法,這個方法是由Bruce D. Lucas和Takeo Kanade發明的。它假設光流在像素點的鄰域是一個常數,然後使用最小平方法對鄰域中的所有像素點求解基本的光流方程。[1] [2]
通過結合幾個鄰近像素點的信息,盧卡斯-卡納德方法(簡稱為L-K方法)通常能夠消除光流方程里的多義性。而且,與逐點計算的方法相比,L-K方法對圖像噪聲不敏感。不過,由於這是一種局部方法,所以在圖像的均勻區域內部,L-K方法無法提供光流信息。
基本原理
編輯L-K方法假設兩個相鄰幀的圖像內容位移很小,且位移在所研究點p的鄰域內為大致為常數。所以,可以假設光流方程 在以p點為中心的窗口內對所有的像素都成立。也就是說,局部圖像流(速度)向量 須滿足:
其中, 是窗口中的像素, 是圖像在點 和當前時間對位置x,y和時間t的偏導。
這些等式可以寫成矩陣的形式 ,此處
此方程組的等式個數多於未知數個數,所以它通常是over-determined的。L-K方法使用最小平方法獲得一個近似解,即計算一個2x2的方程組:
- 或
其中, 是矩陣 的轉置。即計算:
對i=1 到 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)
外部連結
編輯- The image stabilizer plugin for ImageJ (頁面存檔備份,存於互聯網檔案館) based on the Lucas–Kanade method
- Mathworks Lucas-Kanade (頁面存檔備份,存於互聯網檔案館) Matlab implementation of inverse and normal affine Lucas-Kanade
- FolkiGPU : GPU implementation of an iterative 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.
- KLT (頁面存檔備份,存於互聯網檔案館): An Implementation of the Kanade–Lucas–Tomasi Feature Tracker
- Takeo Kanade (頁面存檔備份,存於互聯網檔案館)