【背景建模】SOBS

  SOBS(self-Organizing through artificial neural networks)是一种基于自组织神经网络的背景差分算法,主要是借鉴神经网络的特性,一个网络输入节点,对应多个中间节点,将背景模型中的一个像素映射到模型的多个位置,并采用了像素邻域空间相关的更新方式,使邻域的信息进一步融入模型中,使得算法具有邻域空间相关性。

算法伪代码

  【背景建模】SOBS

背景模型建立

  选择背景模型的映射大小,一般选取n = 3,即一个像素点对应于模型中的3*3块,背景模型相比于原始图像扩大了9倍。

 

  【背景建模】SOBS

  选择HSV颜色空间,选取第一帧数据作为背景模型的初始化数据。如上图示例所示,ai(h,s,v) = a(h,s,v)。

前景目标检测

  计算当前像素点与其对应的模型块里像素点的最小距离,距离计算方法如下:

  【背景建模】SOBS

  若最小距离小于阈值,则判定为背景,更新背景模型;

  【背景建模】SOBS

  否则,进行阴影判断,阴影判断方法如下:

  【背景建模】SOBS

  若判定为阴影,则只标识为背景,不更新背景模型。

背景模型更新

  若像素判定为背景,且不属于阴影,则按一定的权值更新背景模型中最佳匹配像素周围的像素点,更新公式如下:

  【背景建模】SOBS

  其中,a(t)是常数,wi,j是背景建模时,背景模型中每个像素对应的权重,初始为高斯权重,背景模型中最匹配像素的位置为(x‘,y‘)。

  【背景建模】SOBS

  如图所示,假如f与f1最匹配,则黑色框的背景像素都将更新,即(b9,c7,c8,e3,f1,f2,e6,f4,f5)。

注意:算法中的每个像素都要与背景模型中的n*n个像素背景求最小值,在一定程度上影响了处理速度。

算法改进

1.背景模型更新方法优化

  SOBS算法中,背景模型更新时,只是以是否存在最佳匹配的背景像素点为更新准则,没有利用最佳匹配像素点的最小距离值,具体更新方法如下:

  【背景建模】SOBS

  由上述公式所示,有两种更新方法可选择,最小距离d(cm,pt)越小,对应的更新因子ai,j(t)值越大,当前像素点对背景模型的贡献度越大

2.背景判定准则优化

  SOBS算法中,背景判定准则是背景模型中是否存在最小距离小于阈值的像素。

  这种判定准则存在的问题是若有噪声的影响,导致像素对应模型块中刚好存在唯一一个像素的距离小于阈值,此时,会把噪声点判定为背景,产生误检

  优化方法是引入满足匹配的像素数目作为判定准则,优化背景判定过程,具体方法是以最佳匹配像素表示背景,并计算与之对应的原始像素周围满足匹配的像素点数目(反向计算匹配过程),计算方法如下:

  【背景建模】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?

【背景建模】SOBS

上一篇:C#开发微信门户及应用(46)-基于Bootstrap的微信门户应用管理系统功能介绍


下一篇:main函数和启动例程