背景建模與前景檢測算法之ViBe

 背景建模與前景檢測算法之ViBe

http://blog.csdn.net/oycf119 

              ViBe是一種像素級的背景建模、前景檢測算法,該算法主要不同之處是背景模型的更新策略隨機選擇需要替換的像素的樣本,隨機選擇鄰域像素進行更新。在無法確定像素變化的模型時,隨機的更新策略,在一定程度上可以模擬像素變化的不確定性。

 

背景模型的初始化

  初始化是建立背景模型的過程,一般的檢測算法需要一定長度的視頻序列學習完成,影響了檢測的實時性,而且當視頻畫面突然變化時,重新學習背景模型需要較長時間。

  ViBe算法主要是利用單幀視頻序列初始化背景模型對於一個像素點,結合相鄰像素點擁有相近像素值的空間分佈特性,隨機的選擇它的鄰域點的像素值作爲它的模型樣本值

  優點:不僅減少了背景模型建立的過程,還可以處理背景突然變化的情況,當檢測到背景突然變化明顯時,只需要捨棄原始的模型,重新利用變化後的首幀圖像建立背景模型。

  缺點:由於可能採用了運動物體的像素初始化樣本集,容易引入拖影(Ghost)區域。

前景檢測過程

  背景模型爲每個背景點存儲一個樣本集,然後每個新的像素值和樣本集比較判斷是否屬於背景。

  計算新像素值和樣本集中每個樣本值的距離,若距離小於閾值,則近似樣本點數目增加。

  如果近似樣本點數目大於閾值,則認爲新的像素點爲背景。

檢測過程主要由三個參數決定:樣本集數目N,閾值#min和距離相近判定的閾值R,一般具體實現,參數設置爲N=20,#min=2,R=20。

 

背景模型的更新策略 

1).無記憶更新策略

  每次確定需要更新像素點的背景模型時,以新的像素值隨機取代該像素點樣本集的一個樣本值。

2).時間取樣更新策略

  並不是每處理一幀數據,都需要更新處理,而是按一定的更新率更新背景模型。當一個像素點被判定爲背景時,它有1/rate的概率更新背景模型。rate是時間採樣因子,一般取值爲16。

3).空間鄰域更新策略

  針對需要更新像素點,隨機的選擇一個該像素點鄰域的背景模型,以新的像素點更新被選中的背景模型。

 

ViBe的改進

  

1).距離計算方法

  以圓椎模型代替原來的幾何距離計算方法

  

  以自適應閾值代替原來固定的距離判定閾值,閾值大小與樣本集的方差成正比,樣本集方差越大,說明背景越複雜,判定閾值應該越大。

  

2).分離updating mask和segmentation mask

  引入目標整體的概念,彌補基於像素級前景檢測的不足。針對updating mask和segmentation mask採用不同尺寸的形態學處理方法,提高檢測準確率。

3).抑制鄰域更新

  在updating mask裏,計算像素點的梯度,根據梯度大小,確定是否需要更新鄰域。梯度值越大,說明像素值變化越大,說明該像素值可能爲前景,不應該更新。

4).檢測閃爍像素點

  引入閃爍程度的概念,當一個像素點的updating label與前一幀的updating label不一樣時,blinking level增加15,否則,減少1,然後根據blinking level的大小判斷該像素點是否爲閃爍點。閃爍像素主要出現在背景複雜的場景,如樹葉、水紋等,這些場景會出現像素背景和前景的頻繁變化,因而針對這些閃爍應該單獨處理,可以作爲全部作爲背景。

5).增加更新因子

  ViBe算法中,默認的更新因子是16,當背景變化很快時,背景模型無法快速的更新,將會導致前景檢測的較多的錯誤。因而,需要根據背景變化快慢程度,調整更新因子的大小,可將更新因子分多個等級,如rate = 16,rate = 5,rate = 1。

 

 

參考資料與鏈接:

   http://www2.ulg.ac.be/telecom/research/vibe/

  

   ViBe A universal background subtraction algorithm for video sequences

   Background Subtraction Experiments and Improvements for ViBe

 

 

 

 

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