視覺跟蹤綜述

來自:視覺跟蹤綜述 - Range - 博客園

       目標跟蹤是絕大多數視覺系統中不可或缺的環節。在二維視頻跟蹤算法中,基於目標顏色信息或基於目標運動信息等方法是常用的跟蹤方法。從以往的研究中我們發現,大多數普通攝像頭(彩色攝像頭)下非基於背景建模的跟蹤算法都極易受光照條件的影響。這是因爲顏色變化在某種程度上是光學的色彩變化造成的。如基於體素和圖像像素守恆假設的光流算法它也是假設一個物體的顏色在前後兩幀沒有巨大而明顯的變化。

      但在特定的場景應用中(如視頻監控等領域),不失有一些經典的跟蹤算法可以實現較好的跟蹤效果。以下主要介紹三種經典的跟蹤算法:CamShift算法、光流跟蹤以及粒子濾波算法。最後將給出一個各種跟蹤方法間的比較。

1、 CamShift(Continuously Adaptive Mean Shift)跟蹤算法

      CamShift算法是一種基於均值漂移的算法。均值移動的理論基礎是概率密度估計。均值移動的過程實際上就是在概率密度空間中尋找局部極大點。從其全稱可知CamShift的算法基礎實際上是MeanShift算法,均值移動的操作過程可用如下幾步來表示:

(a) 計算以初始點0爲中心的某一核窗所對應的均值移動向量mG(x0)

(b) 根據mG(x0)來移動核窗的中心位置,也即把mG(x0)中的加權平均值部分賦予x0,把x0作爲新的初始點,並轉回步驟(a)

(c) 重複(a)(b)過程,直到滿足某一預定的條件。

      因此,均值移動過程就是尋找數據分佈最密處的過程。

均值移動的實現過程可圖示爲:

  (1) 計算目標區域的均值、移動目標區域

  

  (2) 重新計算目標區域均值,還存在移動向量,繼續移動目標區域

  

  (3) 移動向量越來越小

  

  (4) 找到局部極大點,停止移動

  

  以上過程只是一次MeanShift算法過程,在連續幀上使用MeanShift算法就是CamShift跟蹤算法。CamShift同經典的均值移動跟蹤算法的基本思想是相同的,所不同的它是建立在顏色概率分佈圖和矩的基礎之上。CamShift對室內環境下的目標跟蹤具有較高的魯棒性。

2、 光流跟蹤算法

       將三維空間中的目標和場景對應於二維圖像平面運動時,他們在二維圖像平面的投影就形成了運動,這種運動以圖像平面亮度模式表現出來的流動就稱爲光流。光流法是對運動序列圖像進行分析的一個重要方法,光流不僅包含圖像中目標的運動信息,而且包含了三維物理結構的豐富信息,因此可用來確定目標的運動情況以及反映圖像其它等信息。

       光流是空間運動物體在觀測成像面上的像素運動的瞬時速度。光流的研究是利用圖像序列中的像素強度數據的時域變化和相關性來確定各自像素位置的“運動”,即研究圖像灰度在時間上的變化與景象中物體結構及其運動的關係。一般情況下,光流由相機運動、場景中目標運動或兩者的共同運動產生。光流計算方法大致可分爲三類:基於匹配的、頻域的和梯度的方法。

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

  (2) 基於頻域的方法利用速度可調的濾波組輸出頻率或相位信息。雖然能獲得高精度的初始光流估計,但往往涉及複雜的計算。另外,進行可靠性評價也十分困難。

  (3) 基於梯度的方法利用圖像序列的時空微分計算2D速度場(光流)。由於計算簡單和較好的效果,基於梯度的方法得到了廣泛的研究。雖然很多基於梯度的光流估計方法取得了較好的光流估計,但由於在計算光流時涉及到可調參數的人工選取、可靠性評價因子的選擇困難,以及預處理對光流計算結果的影響,在應用光流對目標進行實時監測與自動跟蹤時仍存在很多問題。

  光流法檢測運動物體的基本原理是:給圖像中的每一個像素點賦予一個速度矢量,這就形成了一個圖像運動場,在運動的一個特定時刻,圖像上的點與三維物體上的點一一對應,這種對應關係可由投影關係得到,根據各個像素點的速度矢量特徵,可以對圖像進行動態分析。如果圖像中沒有運動物體,則光流矢量在整個圖像區域是連續變化的。當圖像中有運動物體時,目標和圖像背景存在相對運動,運動物體所形成的速度矢量必然和鄰域背景速度矢量不同,從而檢測出運動物體及位置。採用光流法進行運動物體檢測的問題主要在於大多數光流法計算耗時,實時性和實用性都較差。但是光流法的優點在於光流不僅攜帶了運動物體的運動信息,而且還攜帶了有關景物三維結構的豐富信息,它能夠在不知道場景的任何信息的情況下,檢測出運動對象。

  

  對於視頻監控系統來說,所用的圖像基本都是攝像機靜止狀態下攝取得,所以對有實時性和準確性要求的系統來說,純粹使用光流法來檢測目標不太實際。更多的是利用光流計算方法與其它方法相結合來實現對目標檢測和運動估計。

  然而,在實際應用中,由於遮擋性、多光源、透明性和噪聲等原因,使得光流場基本方程的灰度守恆假設條件不能滿足,不能求解出正確的光流場,同時大多數的光流計算方法相當複雜,計算量巨大,不能滿足實時的要求,因此,一般不被對精度和實時性要求比較高的監控系統所採用。

3、 粒子濾波跟蹤算法

       粒子濾波算法有很多變種,以Rob Hess實現的這種最基本的粒子濾波算法爲例。它的核心思想是隨機採樣和重要性重採樣。在不知道目標在哪裏的情況下,隨機向場景中分散粒子,撒完粒子後,根據特徵相似度計算每個粒子的重要性,然後在重要的地方多撒粒子,不重要的地方少撒粒子。所以說粒子濾波較之蒙特卡洛濾波計算量較小。這種思想雖然簡單,但效果往往很好。

粒子濾波實現對目標的跟蹤通常分以下四個步驟:

(1) 初始化階段-提取跟蹤目標特徵

該階段要人工指定跟蹤目標,程序計算跟蹤目標的特徵,比如可以採用目標的顏色特徵。這點和CamShift算法類似,不能實現自動初始化。但我們可以在初始時給定一個顏色樣本,實現程序的半自動初始化。然後計算該區域色調(Hue)空間的直方圖,即爲目標的特徵。直方圖可以用一個向量來表示,所以目標特徵就是一個N*1的向量V

(2) 搜索階段—分撒搜索粒子

獲取目標特徵後,在場景中分撒許多搜索粒子去搜索目標對象。粒子分撒有許多種方式。比如,a)均勻分撒。即在整個圖像平面均勻的撒粒子(uniform distribution)b)在上一幀得到的目標附近按照高斯分佈來放,可以理解成,靠近目標的地方多放,遠離目標的地方少放。Rob Hess的代碼用的是後一種方法。粒子放出去後按照初始化階段得到的目標特徵(色調直方圖,向量V)計算它所處的位置處圖像的顏色特徵,得到一個色調直方圖,向量Vi,計算該直方圖與目標直方圖的相似性(直方圖匹配)。相似性有多種度量,最簡單的一種是計算sum(abs(Vi-V))。每個粒子算出相似度後再做一次歸一化,使得所有的粒子得到的相似度加起來等於1

(3) 決策階段

分撒出去的每個粒子將返回其所處位置的圖像信息。比如,“一號粒子處圖像與目標的相似度是0.3,“二號粒子處圖像與目標的相似度是0.02,“三號粒子處圖像與目標的相似度是0.0003,N號粒子處圖像與目標的相似度是0.013”然後做加權平均。設N號粒子的圖像像素座標是(Xn,Yn),它報告的相似度是Wn,於是目標最可能的像素座標X = sum(Xn*Wn),Y = sum(Yn*Wn)

(4) 重採樣階段Resampling

在新的一幀圖像裏,爲了搜索到目標的新位置,需要再分撒粒子進行搜索。但現在應該怎樣分撒呢?這要根據上一幀各個粒子返回的相似度報告。比如,“一號粒子處圖像與目標的相似度是0.3,“二號粒子處圖像與目標的相似度是0.02,“三號粒子處圖像與目標的相似度是0.0003,N號粒子處圖像與目標的相似度是0.013”。綜合所有粒子的報告,一號粒子處的相似度最高,三號粒子處的相似度最低,於是要重新分撒粒子,在相似度最高的粒子那裏放更多條粒子,在相似度最低的粒子那裏少放粒子,甚至把原來那條粒子也撤回來。這就是Sampling Importance Resampling,根據重要性重採樣(更具重要性重新放粒子)

(2)->(3)->(4)->(2)如是反覆循環,即完成了目標的動態跟蹤。

粒子濾波跟蹤算法可用於視頻監控領域,可以跟蹤速度較快的跟蹤目標。

4、 其他跟蹤算法及優缺點

  將其他一些常用的跟蹤算法及優缺點形成了一個表,其原理不做贅述,可參閱相關文獻。

  

local orientation correlation (LOC) , flocks of features tracking (FF) , optical flow tracking using templates on a regular grid (OF) and local feature tracking, KLT-tracker(KLT) , and boosted detection (BD).

參考

[1] 《基於均值移動的人臉跟蹤簡介》未公開

[2] http://kb.cnblogs.com/a/1742263/

[3] AIDIA – Adaptive Interface for Display Interaction

[4] http://baike.baidu.com/view/2810997.htm
發佈了93 篇原創文章 · 獲贊 97 · 訪問量 104萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章