自组织背景减法是Maddalena于2008年发表的《A self-organizing approach to background subtraction for visual surveillance applications》中提出的,通过自组织的方法自动的生成一张神经网格背景模型。这个背景减法在2012年和2013年的Change detection背景减法比赛中均排名前列。

 模型表示:

         对输入视频的每个像素p都建立一个对应的神经图,每个神经图由n*n个权重向量

背景消除法knn_初始化

组成。                      

背景消除法knn_背景消除法knn_02

={

背景消除法knn_权值_03

(p),i,j=0,……n-1}.将所有的神经图放在同一张图中产生一张背景模型图中。如果一个视频分辨率是R*P,则第t帧产生的2-D神经网络背景图背景消除法knn_初始化_04的大小就是n*R列,n*P行的。且一个像素点p=(x,y)中第(i,j)个权值向量

背景消除法knn_颜色空间_05

在B中的索引就是:                      背景消除法knn_权值_06(n*x+i,n*y+j)=

背景消除法knn_权值_07

,i,j=0,……n-1.

背景消除法knn_权值_08

图XXX     视频像素与其对应的神经网络背景模型图

 

神经模型初始化:

    在初始化过程中,作者的核心思想是视频的第一帧背景消除法knn_背景消除法knn_09非常好的近似于真实背景,所以对于每个像素值p,其对应的背景模型的权值向量M(p)由一下公式进行初始化:

背景消除法knn_背景消除法knn_10

 

由上公式可以看出,初始化的神经网络背景模型B,可以看成是一张经过n*n扩大后的视频第一帧背景消除法knn_颜色空间_11.

 

背景减法和模型更新:

(1)   寻找最佳匹配:

在t时刻给定当前的像素p,它的像素值

背景消除法knn_初始化_12

和他的当前的背景模型

背景消除法knn_背景消除法knn_13

作比较,找出其中与

背景消除法knn_初始化_14

最匹配的权重向量BM(p),也就是在颜色空间中与

背景消除法knn_权值_15

距离最近的权重向量:d(BM(p),

背景消除法knn_颜色空间_16

)=

背景消除法knn_初始化_17


在作者的模型中可以使用RGB颜色空间或者HSV颜色空间,如果是HSV颜色空间的话,其距离公式为:

给定两个像素的值

背景消除法knn_初始化_18

背景消除法knn_背景消除法knn_19

(2)  模型更新:

自组织模型的更新方法与众不同,在再找最佳匹配的权重向量BM(p)后,如果与像素p的当前像素值在颜色空间的距离小于阈值时,判定其当前像素值是背景,在此BM(p)和其在

背景消除法knn_初始化_20

中相对应的位置的邻居的权值向量都将进行更新。具体的说,假如BM(p)在

背景消除法knn_初始化_21

中的位置是背景消除法knn_权值_22,则

背景消除法knn_背景消除法knn_23

的权值向量的更新根据以下公式:

背景消除法knn_初始化_24

 

背景消除法knn_颜色空间_25

,其中 

背景消除法knn_权值_26

背景消除法knn_颜色空间_27在2-D空间中的邻居的权值向量.k在实验过程中取值为1.        

背景消除法knn_颜色空间_28

; 背景消除法knn_初始化_29是学习速率,G(背景消除法knn_权值_30)=

背景消除法knn_颜色空间_31

是一个2-D高斯低通滤波器。

背景消除法knn_背景消除法knn_32

是对像素点p的背景减法掩模值。        

背景消除法knn_颜色空间_33


  


 

Algorithm SOBS(Self-Organization Background Subtraction)

pt in frame It, t=0, … , LastFrame

Output:background/foreground binary mask value B(pt)

  

1.      Initialize mode C for pixel p0 and store it into
A
2.      
for t = 1, LastFrame
3.      
cm in C to current sampe pt
4.      
ifcm
found) then
5.      
B(pt) = 0 //background
6.      
updateA in the neighborhood of cm
7.      
else ifpt shadow) then
8.      
B(pt) = 0 //background
9.      
else
10.  
B(pt) = 1 //foreground