概述
本文根据M. Lucia等人的论文“A self-Organizing approach to background subtraction for visual surveillance applications ”结合自己的理解而成,如果对论文感兴趣的,将在后面给出相应的链接下载,有问题欢迎交流。另转载请注明出处:http://blog.csdn.net/kezunhai。
在改论文中,作者提出了一种基于自组织神经网络(self-Organizing through artificial neural networks)的背景减除算法(简称SOBS算法),用于智能视频监控系统中的目标检测,该算法不仅对光照具有较强的鲁棒性,而且具有较强的实用性。本文将对算法分两个环节进行介绍,分别是背景建模、前景检测与背景更新。
1)背景建模
根据神经网络的特性,一个网络输入节点,对应多个中间节点。文中在背景建模阶段,也采用了这种思路,将背景模型中的一个像素映射到模型中的多个位置,首先我们用下图这个例子来看看映射方式:
在上图中是采用一个2×3例子来说明,对于一个每个像素,在背景模型中采用n×n(n=3)来表示,则对于一幅M×N的图像来说,其背景模型的大小将变成(M×n)×(N×n),即与原图像相比,模型的大小扩大了n×n倍。图中,像素a对应于模型中的(a1,a2,....,an2-1)。在背景模型初始化时,将图像转换到HSV颜色空间,模型中的每个值用ai=(hi,si,vi)表示。因此,对于原图中(x,y)处的一个像素,则对应于背景模型中的(i,j)(i=n*x,n*x+1,...,x*(n+1)-1), j =n*y,n*y+1,...,y*(n+1)-1))。
至此,SOBS背景模型建立完成,下面我们进一步来分析前景检测与背景更新。
2)前景检测与背景更新
对于新进来的视频帧,对应位置的像素与背景模型中对应位置的模型进行比较。在HSV颜色空间,两个像素的pi与pj的距离如下式来计算:
这种距离叫做HSV Color Hexcone,对光照变化具有较强的鲁棒性。另外,假设图像中(x,y)处的像素对应的背景模型为C=(c1,c2,...,cn2),则采用上式计算当前像素与背景模型的距离,如果最小距离满足下式:
式子的右边是一个阈值,则该像素被分为背景模型,并进行背景更新。背景更新是论文中的一大亮点,其采用了像素邻域空间相关的更新方式,取得了很好的效果。
具体来说如下:
① 在背景建模时,模型中的每个像素都对应一个权重weight,该权重初始化为高斯权重。
② 如果当前像素被判为背景,且其与对应背景模型C中的cm最匹配(假设对应位置为(x',y')),即上式中的距离最小, 则其权重采用下式进行更新:
其中,i=x'-n/2,x'-n/2+1,...,x'+n/2 , j=y'-n/2,y'-n/2+1,...,y'+n/2 。其中alpha(i,j)的值如下所示:
其中alpha(t)是一个常数,wi,j就是对应的高斯权重。
通 过上式的更新方式,我们可以看到,如果一个像素被判为背景,那么其邻域像素也会被更新,其邻域像素的背景模型也会被该像素影响,使邻域的信息进一步融入模型中,使得算法具有了邻域空间相关性。这里我继续通过上面的映射图来进一步解释:假设a位置的像素与背景模型中的a9最匹配,即其距离满足上面的最小距离度量方式,那么背景模型中对应于(a5,a6,b4,a8,a9,b7,d3,e1,e3)将被更新,更新位置如下图所示(即图中黑色框框出来的像素将被更新,更新模型中包括了邻域的背景像素,随着算法的继续执行,那么邻域之间的信息将被更好的融合):
经过测试,算法性能表现不错,对光照也有较强的鲁棒性,另外计算速度还可以,对于352×288的图像来说,处理速度可以达到15-20fps(应个人主机而异)。但是有些许不足的是,该算法中的每个像素都要与背景模型中的n×n个像素背景求最小值,这在一定程度上影响了处理速度(但这又与背景模型的更新紧密关联,能否采用类似VIBE算法中的度量方式,只要满足#min,则判为背景,然后选用另外的更新方式,处理速度上应该有所提高)。另外,作者与此相关的一篇论文:The SOBS algorithm- what are the limits,有兴趣的读者可以下下来看看。下面给出论文的伪代码:
最后,贴出几张论文中的效果图:
论文下载:http://download.csdn.net/detail/kezunhai/5283117
最后
以上就是悲凉唇彩为你收集整理的【计算机视觉】基于自组织背景减除的运动目标检测算法的全部内容,希望文章能够帮你解决【计算机视觉】基于自组织背景减除的运动目标检测算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复