首页 > 代码库 > 背景减法——自组织算法
背景减法——自组织算法
自组织背景减法是Maddalena于2008年发表的《A self-organizing approach to background subtraction for visualsurveillance applications》中提出的,通过自组织的方法自动的生成一张神经网格背景模型。这个背景减法在2012年和2013年的Change detection背景减法比赛中均排名前列。
模型表示:
对输入视频的每个像素p都建立一个对应的神经图,每个神经图由n*n个权重向量组成。
={(p),i,j=0,……n-1}.
将所有的神经图放在同一张图中产生一张背景模型图中。如果一个视频分辨率是R*P,则第t帧产生的2-D神经网络背景图的大小就是n*R列,n*P行的。且一个像素点p=(x,y)中第(i,j)个权值向量在B中的索引就是:
(n*x+i,n*y+j)=,i,j=0,……n-1.
图XXX 视频像素与其对应的神经网络背景模型图
神经模型初始化:
在初始化过程中,作者的核心思想是视频的第一帧非常好的近似于真实背景,所以对于每个像素值p,其对应的背景模型的权值向量M(p)由一下公式进行初始化:
由上公式可以看出,初始化的神经网络背景模型B,可以看成是一张经过n*n扩大后的视频第一帧.
背景减法和模型更新:
(1) 寻找最佳匹配:
在t时刻给定当前的像素p,它的像素值和他的当前的背景模型作比较,找出其中与最匹配的权重向量BM(p),也就是在颜色空间中与距离最近的权重向量:
d(BM(p),)=,
在作者的模型中可以使用RGB颜色空间或者HSV颜色空间,如果是HSV颜色空间的话,其距离公式为:
给定两个像素的值
(2) 模型更新:
自组织模型的更新方法与众不同,在再找最佳匹配的权重向量BM(p)后,如果与像素p的当前像素值在颜色空间的距离小于阈值时,判定其当前像素值是背景,在此BM(p)和其在中相对应的位置的邻居的权值向量都将进行更新。具体的说,假如BM(p)在中的位置是,则的权值向量的更新根据以下公式:
,
其中 指在2-D空间中的邻居的权值向量.k在实验过程中取值为1.
; 是学习速率,G()=是一个2-D高斯低通滤波器。是对像素点p的背景减法掩模值。
Algorithm SOBS(Self-Organization Background Subtraction)
Input: pixel value ptin frame It, t=0, … , LastFrame
Output:background/foreground binary mask value B(pt)
1. Initialize mode C for pixel p0 and store it intoA
2. for t = 1, LastFrame
3. Find best match cm in C to current sampe pt
4. if (cmfound) then
5. B(pt) = 0 //background
6. updateA in the neighborhood of cm
7. else if (pt shadow) then
8. B(pt) = 0 //background
9. else
10. B(pt) = 1 //foreground