KLT 光流

一 光流

光流的概念是Gibson在1950年首先提出來的。它是空間運動物體在觀察成像平面上的像素運動的瞬時速度,是利用圖像序列中像素在時間域上的變化以及相鄰幀之間的相關性來找到上一幀跟當前幀之間存在的對應關係,從而計算出相鄰幀之間物體的運動信息的一種方法。一般而言,光流是由於場景中前景目標本身的移動、相機的運動,或者兩者的共同運動所產生的。其計算方法可以分爲三類:

(1)基於區域或者基於特徵的匹配方法;

(2)基於頻域的方法;

(3)基於梯度的方法;

簡單來說,光流是空間運動物體在觀測成像平面上的像素運動的“瞬時速度”。光流的研究是利用圖像序列中的像素強度數據的時域變化和相關性來確定各自像素位置的“運動”。研究光流場的目的就是爲了從圖片序列中近似得到不能直接得到的運動場。

 光流法的前提假設:

(1)相鄰幀之間的亮度恆定;

(2)相鄰視頻幀的取幀時間連續,或者,相鄰幀之間物體的運動比較“微小”;

(3)保持空間一致性;即,同一子圖像的像素點具有相同的運動

這裏有兩個概念需要解釋:

運動場,其實就是物體在三維真實世界中的運動;

光流場,是運動場在二維圖像平面上的投影。




如上圖所示,H中的像素點(x,y)I中的移動到了(x+u,y+v)的位置,偏移量爲(u,v)

光流法用於目標檢測的原理:給圖像中的每個像素點賦予一個速度矢量,這樣就形成了一個運動矢量場。在某一特定時刻,圖像上的點與三維物體上的點一一對應,這種對應關係可以通過投影來計算得到。根據各個像素點的速度矢量特徵,可以對圖像進行動態分析。如果圖像中沒有運動目標,則光流矢量在整個圖像區域是連續變化的。當圖像中有運動物體時,目標和背景存在着相對運動。運動物體所形成的速度矢量必然和背景的速度矢量有所不同,如此便可以計算出運動物體的位置。需要提醒的是,利用光流法進行運動物體檢測時,計算量較大,無法保證實時性和實用性。

光流法用於目標跟蹤的原理:

(1)對一個連續的視頻幀序列進行處理;

(2)針對每一個視頻序列,利用一定的目標檢測方法,檢測可能出現的前景目標;

(3)如果某一幀出現了前景目標,找到其具有代表性的關鍵特徵點(可以隨機產生,也可以利用角點來做特徵點);

(4)對之後的任意兩個相鄰視頻幀而言,尋找上一幀中出現的關鍵特徵點在當前幀中的最佳位置,從而得到前景目標在當前幀中的位置座標;

(5)如此迭代進行,便可實現目標的跟蹤;


IxVx+IyVy+It=0;

對於二維的運動場,單靠一個像素無法確定其運動矢量(Vx,Vy)根據假設三, 我們可以使用當前像素的鄰域像素添加更多約束條件;如經典的Horn-Schunck光流法所加的運動平滑約束。

同時,對於二維運動場,只需包含兩條或以上邊緣則可以解系統方程,因此在進行光流法時,先選擇好跟蹤的特徵點,如harris角點。

二 KLT

KLT屬於光流法的一種,其前提假設與上一致

1)亮度恆定
2)時間連續或者是運動是“小運動”
3)空間一致,臨近點有相似運動,保持相鄰
  

很直觀的講,如果判斷一個視頻的相鄰兩幀I、J在某局部窗口w上是一樣的,則在窗口w內有:I(x, y, t) = J(x', y', t+τ),亮度恆定的假設(假設1)即爲了保證其等號成立不受亮度的影響,假設2是爲了保證KLT能夠找到點,假設3則爲以下原因假設(即對於同一個窗口中,所有點的偏移量都相等):

  在窗口w上,所有(x, y)都往一個方向移動了(dx,  dy),從而得到(x', y'),即t時刻的(x, y)點在t+τ時刻爲(x+dx, y+dy),所以尋求匹配的問題可化爲對以下的式子尋求最小值,或叫做最小化以下式子:

  用積分來表示上述式子,以上式子可等效爲:

  這個式子的含義,即找到兩副圖像中,在W窗口中,I、J的差異,其中I以x-d/2爲中心,J以x+d/2爲中心,w/2爲半徑的一個矩形窗口間的差異,好吧,結合我們微積分的知識,函數ε(d)要取得最小值,這個極值點的導數一定爲0,即
  

的值爲0,由泰勒展開的性質:

可以得到:

於是,問題轉化爲:

其中:

從而,問題即爲:

=>

即其等式可看作爲:

其中,Z爲一個2*2的矩陣,e爲一個2*1的向量,

爲了要使d能夠得到解,則Z需要滿足條件,即Z*Z'矩陣可逆,其中Z'爲Z矩陣的轉置(ZT),在一般情況下,角點具有這樣的特點。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章