光流法詳解之一 LK光流)

2022-07-05 04:18:09 字數 1262 閱讀 8357

lucas–kanade光流演算法是一種兩幀差分的光流估計演算法。它由bruce d. lucas 和 takeo kanade提出 [1]。

lk光流法有三個假設條件:

1. 亮度恆定:乙個畫素點隨著時間的變化,其亮度值(畫素灰度值)是恆定不變的。這是光流法的基本設定。所有光流法都必須滿足。

2. 小運動: 時間的變化不會引起位置的劇烈變化。這樣才能利用相鄰幀之間的位置變化引起的灰度值變化,去求取灰度對位置的偏導數。所有光流法必須滿足。

3. 空間一致:即前一幀中相鄰畫素點在後一幀中也是相鄰的。這是lk光流法獨有的假定。因為為了求取x,y方向的速度,需要建立多個方程聯立求解。而空間一致假設就可以利用鄰域n個畫素點來建立n個方程。

lk光流演算法原理的數學推導:

假設前一幀時間為t, 後一幀時間為t+δt。則前一幀i的畫素點i(x, y, z, t)在後一幀中的位置為i(x+δx, y+δy, z+δz, t+δt )。

① 根據亮度恆定假設:

② 根據小運動假設, 將上式右側用泰勒級數展開:

h.o.t是泰勒級數展開式的高階項,小運動情況下可以 忽略為0.

③ 根據上面兩個公式可以得到:

或者下面的公式:

而對於二維影象而言,只需要考慮x, y, t即可,其中ix,iy  it分別為影象在(x, y, t)方向的差分,寫為如下形式:

④ 現在有兩個未知數,只有乙個方程。因此用到第三個假設:即空間一致性假設,lk演算法是利用3x3視窗內的9個畫素點建立9個方程。簡寫為下面的形式:  

寫成矩陣形式:

當然兩個未知數,9個方程,這是乙個超定問題,採用最小二乘法解決:

寫成如下形式:

根據上式通過累加鄰域畫素點在三個維度的偏導數並做矩陣運算,即可算出該點的光流(vx,vy)。

源**及效果:

源**見這裡:

。效果並不好,很多錯誤匹配點。

光流演算法 Horn Schunck光流講解

光流 optical flow 是空間運動物體在觀察成像平面上的畫素運動的瞬時速度。光流場是乙個二維向量場,它反映了影象上每一點灰度的變化趨勢,可看成是帶有灰度的畫素點在影象平面上運動而產生的瞬時速度場。它包含的資訊即是各像點的瞬時運動速度向量資訊。光流的集合。亮度恆定不變。同一目標幀間變化亮度不發...

光流法的學習

光流法是比較經典的運動估計方法。在空間中,運動可以用運動場描述。而在乙個影象平面上,物體的運動往往是通過影象序列中不同圖象灰度分布的不同體現的。從而,空間中的運動場轉移到影象上就表示為光流場,光流場反映了影象上每一點灰度的變化趨勢。光流可以看作帶有灰度的畫素點在影象平面運動產生的瞬時速度場。下面我們...

光流法簡單介紹

光流的概念是 gibson 在1950 年首先提出來的。它是空間運動物體在觀察成像平面上的畫素運動的瞬時速度,是利用影象序列中畫素在 時間域上的變化以及 相鄰幀之間的相關性來找到上一幀跟當前幀之間存在的對應關係,從而計算出相鄰幀之間物體的運動資訊的一種方法。一般而言,光流是由於場景中前景目標本身的移...