在實際過程中采用 Lucas-Kanade 光流算法跟蹤運動物體特征點的時候,一個很明顯的特點是LK算法(包括其他光流算法)不能計算“大運動”,加上金子塔的方法稍微好點。
這是什么原因?
查看LK算法的三個假設:
1、亮度恆定;
2、時間連續或者運動是“小運動”;
3、空間一致;同一子圖像的像素點有相同的運動。
1和3都相對好理解,對於2,換句話,可以將運動的變化看成是亮度對時間的導數。如果距離比較大,那么求導之后是物體在這段時間內的平均速度,並不能反映物體在某一時刻的速度。
類比圖像的某點位置的梯度求解,我們只會把該點與其領域內的像素點作差值,不會與較遠的點作差值。
以前和別人討論過LK光流跟蹤和圖像塊匹配跟蹤,兩者的區別及哪種效果更好。
LK光流既用到了圖像的梯度信息(灰度信息),又有時間對灰度的求導,圖像只有匹配灰度(梯度)信息。另外,覺得LK算法的速度明顯要快。但是,就上述討論的結果來看,對於“小運動”圖像塊匹配的速度也會很快。
個人覺得兩種算法的區別主要數學處理的方法不一樣,LK算法實際上求導的方法,圖像塊匹配則是用了歸一化相關,他們們的目的都是一樣的,找的相連兩幀圖像中一樣子區域。
轉自http://hi.baidu.com/lin65505578/item/896b8bd62c109646fb5768d2