SOBS(self-Organizing through artificial neural networks)是一種基於自組織神經網絡的背景差分算法,主要是借鑒神經網絡的特性,一個網絡輸入節點,對應多個中間節點,將背景模型中的一個像素映射到模型的多個位置,並采用了像素鄰域空間相關的更新方式,使鄰域的信息進一步融入模型中,使得算法具有鄰域空間相關性。
算法偽代碼
背景模型建立
選擇背景模型的映射大小,一般選取n = 3,即一個像素點對應於模型中的3*3塊,背景模型相比於原始圖像擴大了9倍。
選擇HSV顏色空間,選取第一幀數據作為背景模型的初始化數據。如上圖示例所示,ai(h,s,v) = a(h,s,v)。
前景目標檢測
計算當前像素點與其對應的模型塊里像素點的最小距離,距離計算方法如下:
若最小距離小於閾值,則判定為背景,更新背景模型;
否則,進行陰影判斷,陰影判斷方法如下:
若判定為陰影,則只標識為背景,不更新背景模型。
背景模型更新
若像素判定為背景,且不屬於陰影,則按一定的權值更新背景模型中最佳匹配像素周圍的像素點,更新公式如下:
其中,a(t)是常數,wi,j是背景建模時,背景模型中每個像素對應的權重,初始為高斯權重,背景模型中最匹配像素的位置為(x',y')。
如圖所示,假如f與f1最匹配,則黑色框的背景像素都將更新,即(b9,c7,c8,e3,f1,f2,e6,f4,f5)。
注意:算法中的每個像素都要與背景模型中的n*n個像素背景求最小值,在一定程度上影響了處理速度。
算法改進
1.背景模型更新方法優化
SOBS算法中,背景模型更新時,只是以是否存在最佳匹配的背景像素點為更新准則,沒有利用最佳匹配像素點的最小距離值,具體更新方法如下:
由上述公式所示,有兩種更新方法可選擇,最小距離d(cm,pt)越小,對應的更新因子ai,j(t)值越大,當前像素點對背景模型的貢獻度越大。
2.背景判定准則優化
SOBS算法中,背景判定准則是背景模型中是否存在最小距離小於閾值的像素。
這種判定准則存在的問題是若有噪聲的影響,導致像素對應模型塊中剛好存在唯一一個像素的距離小於閾值,此時,會把噪聲點判定為背景,產生誤檢。
優化方法是引入滿足匹配的像素數目作為判定准則,優化背景判定過程,具體方法是以最佳匹配像素表示背景,並計算與之對應的原始像素周圍滿足匹配的像素點數目(反向計算匹配過程),計算方法如下:
參考資料:
A Self-Organizing Approach to Background Subtraction for Visual Surveillance Applications
Multivalued Background/Foreground Separation for Moving Object Detection
The SOBS algorithm: what are the limits?