光流計算方法及編程

    選自維基百科http://zh.wikipedia.org/wiki/%E5%85%89%E6%B5%81%E6%B3%95

    光流(Optical flow or optic flow)是關於視域中的物體運動檢測中的概念。用來描述相對於觀察者的運動所造成的觀測目標、表面或邊緣的運動。光流法在模式識別計算機視覺以及其他圖像處理中非常有用,可用於運動檢測、物件切割、碰撞時間與物體膨脹的計算、運動補償編碼,或者通過物體表面與邊緣進行立體的測量等等。

[編輯]光流的測算

一系列的圖像可以檢測出運動的瞬時速度或離散圖像位移。每一個時刻均有一個二維或多維的向量集合,如(x,y,t),表示指定座標在t點的瞬時速度。設I(x,y,t)爲t時刻(x,y)點的強度,在很短的時間Δt內,xy分別增加Δx, Δy ,可得:、

I(x+\Delta x,y+\Delta y,t+\Delta t) = I(x,y,t) + \frac{\partial I}{\partial x}\Delta x+\frac{\partial I}{\partial y}\Delta y+\frac{\partial I}{\partial t}\Delta t

同時,考慮到兩幀相鄰圖像的位移足夠短,因此:

I(x,y,t) = I(x+\Delta x, y + \Delta y, t + \Delta t)

因此

\frac{\partial I}{\partial x}\Delta x+\frac{\partial I}{\partial y}\Delta y+\frac{\partial I}{\partial t}\Delta t = 0
\frac{\partial I}{\partial x}\frac{\Delta x}{\Delta t}+\frac{\partial I}{\partial y}\frac{\Delta y}{\Delta t}+\frac{\partial I}{\partial t}\frac{\Delta t}{\Delta t} = 0

最終可得出結論:

\frac{\partial I}{\partial x}V_x+\frac{\partial I}{\partial y}V_y+\frac{\partial I}{\partial t} = 0

這裏的 V_x,V_y 是 x和 y 的速率,或稱爲I(x,y,t)的光流。\tfrac{\partial I}{\partial x}\tfrac{\partial I}{\partial y} 和 \tfrac{\partial I}{\partial t} 是圖像 (x,y,t)在t時刻特定方向的偏導數。 I_xI_y 和 I_t 的關係可用下式表述:

I_xV_x+I_yV_y=-I_t

\nabla I^T\cdot\vec{V} = -I_t

stanford作者源碼以及所用的視頻文件可以在下面網址找到:
http://ai.stanford.edu/~dstavens/cs223b/

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