1. 程式人生 > >光流 optical flow介紹

光流 optical flow介紹

            光流是空間運動物體在觀測成像面上的畫素運動的瞬時速度。光流的研究是利用影象序列中的畫素強度資料的時域變化和相關性來確定各自畫素位置的“運動”,即研究影象灰度在時間上的變化與景象中物體結構及其運動的關係。將二維影象平面特定座標點上的灰度瞬時變化率定義為光流向量。


光流場(optical flow field)是指影象灰度模式的表觀運動。它是一個二維向量場,它包含的資訊即是各像點的瞬時運動速度向量資訊。研究光流場的目的就是為了從序列影象中近似計算不能直接得到的運動場。

當人的眼睛觀察運動物體時,物體的景象在人眼的視網膜上形成一系列連續變化的影象,這一系列連續變化的資訊不斷“流過”視網膜(即影象平面),好像一種光的“流”,故稱之為光流(optical flow)。光流表達了影象的變化,由於它包含了目標運動的資訊,因此可被觀察者用來確定目標的運動情況。

1981年,Horn和Schunck創造性地將二維速度場與灰度相聯絡,引入光流約束方程,得到光流計算的基本演算法。人們基於不同的理論基礎提出各種光流計算方法,演算法效能各有不同。Barron等人對多種光流計算技術進行了總結,按照理論基礎與數學方法的區別把它們分成四種:基於梯度的方法、基於匹配的方法、基於能量的方法、基於相位的方法。近年來神經動力學方法也頗受學者重視。

1 基於梯度的方法
基於梯度的方法又稱為微分法,它是利用時變影象灰度(或其濾波形式)的時空微分(即時空梯度函式)來計算畫素的速度向量。由於計算簡單和較好的結果,該方法得到了廣泛應用和研究。典型的代表是Horn-Schunck的光流計算方法,該方法在光流基本約束方程的基礎上附加了全域性平滑假設,從而計算出光流場。基於此思想,大量的改進演算法不斷提出。Nagel採用有條件的平滑約束,即通過加權矩陣的控制對梯度進行不同平滑處理;Black和Anandan針對多運動的估計問題,提出了分段平滑的方法。雖然很多基於梯度的光流估計方法取得了較好的光流估計,但由於在計算光流時涉及到可調引數的人工選取、可靠性評價因子的選擇困難,以及預處理對光流計算結果的影響,在應用光流對目標進行實時檢測與自動跟蹤時仍存在很多問題。


2 基於匹配的方法
基於匹配的光流計算方法包括基於特徵和區域的兩種。基於特徵的方法不斷地對目標主要特徵進行定位和跟蹤,對目標大的運動和亮度變化具有魯棒性(robustness)。存在的問題是光流通常很稀疏,而且特徵提取和精確匹配也十分困難。基於區域的方法先對類似的區域進行定位,然後通過相似區域的位移計算光流。這種方法在視訊編碼中得到了廣泛的應用。然而,它計算的光流仍不稠密。另外,這兩種方法估計亞畫素精度的光流也有困難,計算量很大。在考慮光流精度和稠密性時,基於匹配的方法適用。


3 基於能量的方法
基於能量的方法首先要對輸入影象序列進行時空濾波處理,這是一種時間和空間整合。對於均勻的流場,要獲得正確的速度估計,這種時空整合是非常必要的。然而,這樣做會降低光流估計的空間和時間解析度。尤其是當時空整合區域包含幾個運動成分(如運動邊緣)時,估計精度將會惡化。此外,基於能量的光流技術還存在高計算負荷的問題。此方法涉及大量的濾波器,目前這些濾波器是主要的計算消費。然而,可以預期,隨著相應硬體的發展,在不久的將來,濾波將不再是一個嚴重的限制因素,所有這些技術都可以在幀速下加以實現。


4 基於相位的方法
Fleet和Jepson首次從概念上提出了相位資訊用於光流計算的問題。因為速度是根據帶通濾波器輸出的相位特性確定的,所以稱為相位方法。他們根據與帶通速度調諧濾波器輸出中的等相位輪廓相垂直的瞬時運動來定義分速度。帶通濾波器按照尺度、速度和定向來分離輸入訊號。
基於相位的光流技術的綜合性能是比較好的:速度估計比較精確且具有較高的空間解析度,對影象序列的適用範圍也比較寬。同時,這裡仍有幾個問題值得討論:
(1)與基於能量的光流技術一樣,基於相位的模型既有一定的生物合理性,又有較高的計算複雜性;
(2)儘管相位技術用兩幀影象就可計算光流,但要獲得足夠的估計精度,就必須有一定的整合時間,這個延遲將會降低邊緣處運動估計的時間解析度;
(3)Fleet和Jespon的方法對輸入影象序列中的時間混疊比較敏感。


5 神經動力學方法
計算機視覺研究的初衷就是為了模仿人類視覺系統的功能。然而人類理解與識別影象的能力與計算機形成了巨大的反差。視覺科學家們迫切期望借鑑人類處理影象的方法,以擺脫困境。對於光流計算來講,如果說前面的基於能量或相位的模型有一定的生物合理性的話,那麼近幾年出現的利用神經網路建立的視覺運動感知的神經動力學模型則是對生物視覺系統功能與結構的更為直接的模擬。
Grossberg等人的視覺運動感知神經動力學模型描述了運動感知中視皮層簡單細胞、複雜細胞、超複雜細胞以及視網膜雙極細胞之間的相互作用,揭示了運動分割與組合、競爭與合作的神經整合機制。這個稱為運動邊界輪廓系統的神經網路解釋了複雜運動圖形上的區域性模糊運動如何被積極地組織成一個整體一致的運動訊號,給出了整體小孔問題的一個解。這個模型對於整體運動方向的判別非常有效,然而它卻不能給出運動速度的大小。


Fay和Waxman模仿視網膜中的時空處理和大腦的視覺運動通路,基於並聯動力學提出了一個多層神經網路,它涉及光適應、邊緣增強和邊緣速度提取等幾個處理階段。網路中,每個節點的動力學特性類似於具有可變電導的細胞膜,光適應利用神經元間的抑制作用來獲取,空間對比度增強借助於一個修正的on-中心/off-周邊反饋網路來實現,最後的速度估計由一個稱為對傳活化法的動力學方程來提取。這個神經網路在一併行機上實現了30幀/秒的幀速下的速度提取。遺憾的是它僅能提供運動邊緣的法向速度估計,為了恢復整個模式的光流場,還必須用速度泛函方法將估計的法向流整合成一個緻密的光流場。儘管用這些神經動力學模型來測量光流還很不成熟,然而這些方法及其結論為進一步研究打下了良好的基礎,是將神經機制引入運動計算方面所做的極有意義的嘗試。一併行機上實現了30幀/秒的幀速下的速度提取。遺憾的是它僅能提供運動邊緣的法向速度估計,為了恢復整個模式的光流場,還必須用速度泛函方法將估計的法向流整合成一個緻密的光流場。
儘管用這些神經動力學模型來測量光流還很不成熟,然而這些方法及其結論為進一步研究打下了良好的基礎,是將神經機制引入運動計算方面所做的極有意義的嘗試。


目前,對光流的研究方興未艾,新的計算方法還在不斷湧現。這裡對光流技術的發展趨勢與方向提出以下幾點看法:
(1)現有技術各有自己的優點與缺陷,方法之間相互結合,優勢互補,建立光流計算的多階段或分層模型,是光流技術發展的一個趨勢;
(2)通過深入的研究發現,現有光流方法之間有許多共通之處。如微分法和匹配法的前提假設極為相似;某些基於能量的方法等效於區域匹配技術;而相位方法則將相位梯度用於法向速度的計算。這些現象並不是偶然的。Singh指出,現有
各種光流估計方法基本上可以統一在一個框架之中,這個框架將光流資訊分成兩類:保持資訊和鄰域資訊,光流場的恢復通過兩種資訊的提取和融合來實現。光流計算的統一框架的研究是這個領域的又一趨勢;
(3)儘管光流計算的神經動力學方法還很不成熟,然而對它的研究卻具有極其深遠的意義。隨著生物視覺研究的不斷深入,神經方法無疑會不斷完善,也許光流計算乃至計算機視覺的根本出路就在於神經機制的引入。神經網路方法是光流技術的一個發展方向。