1. 程式人生 > >光流 (Optical Flow)--未完待續

光流 (Optical Flow)--未完待續

光流 (Optical Flow)

物體在運動的時候,它在影象上對應畫素點也在做相應的運動,這種影象畫素的表觀運動就是光流,即空間運動物體在觀察成像平面上的畫素運動的瞬時速度。

當人的眼睛觀察運動物體時,物體的景象在人眼的視網膜上形成一系列連續變化的影象,這一系列連續變化的資訊不斷流過視網膜(即影象平面),好像一種光的流;,故稱之為光流(optical flow)。

光流場

光流場是由光流引申出來的,它指的是景物中可見畫素點的三維速度向量在成像表面投影形成的二維瞬時速度場。空間中的運動場轉移到影象上就表示為光流場,光流場反映了影象上每一點的灰度變化趨勢。

光流表達了影象的變化,由於它包含了目標運動的資訊,因此可被觀察者用來確定目標的運動情況。

光流場法實現目標檢測的基本思想:

  • 首先計算影象中每一個畫素點的運動向量,即形成了該影象的光流場;
  • 如果場景中沒有運動目標,則影象中所有畫素點的運動向量應該是連續變化的;
  • 如果有運動目標,由於目標和背景之間存在相對運動,目標所在位置處的運動向量必然和鄰域(背景)的運動向量不同,從而檢測出運動目標。

優點:
通過計算光流場得到的畫素運動向量是由目標和攝像機之間的相對運動產生的。因此該類檢測方法可以適用於攝像機靜止和運動兩種場合。在比較理想的情況下,它能夠檢測獨立運動的物件,不需要預先知道場景的任何資訊,可以很精確地計算出運動物體的速度。

缺點:
在實際的應用中,由於存在多光源、遮擋性、噪聲和透明性等多方面的原因,光流場基本方程中的灰度守恆這個假設條件是得不到滿足的,因此不能求解出正確的光流場,同時由於其採用的是迭代的求解計算方法,故需要的計算時間比較長,從而無法滿足實時的要求,並且該方法受噪聲的影響較大,因而該方法多適用於目標運動速度不大,影象噪聲比較小的情況。

光流法是基於以下假設的:

 1. 亮度恆定,就是同一點隨著時間的變化,其亮度不會發生改變。
 2. 小運動,時間的變化不會引起位置的劇烈變化(小運動情況下我們才能用前後幀之間單位位置變化引起的灰度變化去近似灰度對位置的偏導數)。
 3. 空間一致,一個場景上鄰近的點投影到影象上也是鄰近點,且鄰近點速度一致。這是Lucas-Kanade光流法特有的假定。