SOBS(self-Organizing through artificial neural networks)是一種基於自組織神經網絡的背景差分算法,主要是借鑑神經網絡的特性,一個網絡輸入節點,對應多箇中間節點,將背景模型中的一個像素映射到模型的多個位置,並採用了像素鄰域空間相關的更新方式,使鄰域的信息進一步融入模型中,使得算法具備鄰域空間相關性。算法
算法僞代碼網絡
背景模型創建優化
選擇背景模型的映射大小,通常選取n = 3,即一個像素點對應於模型中的3*3塊,背景模型相比於原始圖像擴大了9倍。3d
選擇HSV顏色空間,選取第一幀數據做爲背景模型的初始化數據。如上圖示例所示,ai(h,s,v) = a(h,s,v)。blog
前景目標檢測ci
計算當前像素點與其對應的模型塊裏像素點的最小距離,距離計算方法以下:it
若最小距離小於閾值,則斷定爲背景,更新背景模型;io
不然,進行陰影判斷,陰影判斷方法以下:bfc
若斷定爲陰影,則只標識爲背景,不更新背景模型。神經網絡
背景模型更新
若像素斷定爲背景,且不屬於陰影,則按必定的權值更新背景模型中最佳匹配像素周圍的像素點,更新公式以下:
其中,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?