梁志刚,杨 朋
(哈尔滨工程大学 信息与通信工程学院,哈尔滨 150001)
运动目标检测是计算机视觉领域、图像理解、精确制导、安全监控等研究的重要课题之一,同时也是后续运动目标跟踪和识别等高级应用的基础[1].现在主要有三类运动目标检测方法:光流法[2-3]、相邻帧差法[4-5]和背景减法[6-8].光流法能够检测独立运动的对象,不需要预先知道场景的任何信息,并且可用于摄像机运动的情况.但是因为其计算量大,算法较复杂,所以一般不被直接应用于实时视频监控场合.相邻帧差法的实时性较好,它非常适合于动态变化的环境,但是因为它对物体的运动速度有一定的要求,不能完整地分割运动目标,所以不利于进一步地识别和分析目标.相对于上述两种方法而言,背景减法易于实现,且能够较精确地提取出运动目标,是目前比较受欢迎的运动目标检测方法.但是,在复杂的户外环境中,运动目标的背景往往会发生改变.一般来讲,会存在以下几个问题:背景图像一般不是完全静止的,如因风而引起的花草树木等的摇动,这种周期性的运动会对运动目标的检测造成很大的影响;运动目标部分区域的灰度有时和背景的灰度十分接近,这使得由帧差法得到的目标区域出现空洞现象等等.背景减法的难点主要在于背景动态模型的建立,也就是怎样从包含运动目标的视频序列中提取出背景.
参数估计方法是解决背景动态模型建立的有效方法之一.但是该方法依赖于模型和密度分布函数的形式的固定,这意味着该方法需要有一定的有关待估计过程的先验知识.但是,在很多实际情况下,人们无法得到这些先验知识.最近发展起来的非参数估计方法可以直接从数据中估计出模型的密度分布函数.它的优点是它无需假定模型的密度分布函数的形式是固定的,可以避免模型假设以及参数优化等问题.显然相对参数估计方法而言,非参数估计方法更适合解决背景动态模型的建立.当前,比较典型的能够建立合适的背景动态模型的算法是Elgammal 等人提出的一种非参数核密度估计算法[9].该算法非常适用于密度分布未知的计算机视觉分析问题.它的优点有许多,如不需要事先假定背景特征密度分布函数的形式,可以避免高斯模型参数的设置和优化问题,可以直接用已知的视频数据进行背景估计.但是它的缺点也很明显,如它需要较大的计算量,资源占用率也比较高.
为了降低计算量和资源占用率,本文对核密度估计方法进行了改进并提出一种基于关键帧的背景建模方法.该方法根据背景像素灰度的相似性原理来提取关键帧,在保留图像的特征信息的同时减少了密度估计的训练样本.另外,为了保证目标检测的精度,该算法将剩余的灰度值按距离最近原则归并到了关键帧中[10].实验表明改进后的方法的执行效率比改进前的方法执行效率有较大的提高.
在对复杂场景中的运动目标进行检测时,必须建立一个合适的背景模型来反映环境的动态变化.视频序列中每一像素的特征取值可视为一个随机过程,因为户外场景比较复杂,背景通常不是静止不变的,所以不能简单地用一个单模态模型来完全描述背景的密度分布,而且背景分布的形式也无法提前假设.因此,本文将采用一种改进的非参数核密度估计方法来建立背景的动态模型.
核密度估计通过加权平均中心点位于采样值的局部函数来估计未知的密度分布.从理论上讲,只要有充足的样本点数,概率密度估计就可渐进收敛于任何形式的密度函数.
如果假设某像素特征空间的一个样本集合中的某个像素x 的概率密度函数是f(X),{X1,X2,…,Xn}是与X 邻近的n 帧图像上的对应灰度像素集,那么f(X)的核密度估计可用式(1)来表示[11-13],
其中:h为窗宽,n为样本容量,αi为归一化权值系数,存在,通常令αi=1/n,K(·)为以样本点为中心对称的单峰核函数,一般情况下,它满足以下几个条件:
当考虑颜色特征时,如果一个像素有j个颜色通道,那么核函数K 应选取高斯函数,其中:σj表示各颜色通道的核函数的带宽,此时式(1)可写成式(2).
核函数估计不需要引入数据分布的先验知识,只要训练样本足够就可以获取数据的分布特征.它除了与样本有关,还与核函数及窗宽的选取密切相关.在给定样本后,一个核估计的好坏,取决于核函数及窗宽的选取是否得当,即核函数和窗宽的选择直接影响密度函数的估计的准确度.
核函数的形式可以有很多种,比如高斯函数,三角函数,均值函数等.其中,由于高斯函数比较符合图像各像素点的分布特征,且具有连续可微及优良的概率特性.因此,我们选用高斯函数作为背景模型的核函数.
核函数的窗宽σ 的选取通常比核函数本身的选择更加重要.它表征随机噪声引起的图像灰度的局部变化,σ 的选择太小会使估计的密度分布出现欠光滑的现象,太大则会过于平滑而掩盖了某些重要的特征.在实际应用中,窗宽的选择十分的关键.如果假设像素点xi服从正态分布N(μ,σ2),那么(xi-xi+1)服从正态分布N(μ,2σ2),median(|xi-xi+1|)是全体相邻两帧对应像素点的颜色差值的绝对值的中值,满足式(3),
由正态分布性质可以查表求得:
运用核密度估计进行运动目标检测需要一个待估计的背景训练样本,传统的核密度把视频序列的每一帧像素作为背景训练样本,而且每一帧对模型的贡献度一样大,显然这样会大大降低检测的速度,从而无法保证检测的实时性.本文提出了一种求取关键帧以替代全部帧的背景建模算法.该算法不仅增强了检测的实时性而且提高了检测的精度.该算法分为3个步骤来完成:
1)假设总样本为n 的序列中某一像素的灰度值为(x1,x2,…,xn),为了防止遗漏某些重要信息我们把这n个像素值按时间的先后顺序归为(y1,y2,…,ym)类,其中m值可以通过多次试验和实际情况而定,这样每一类中就有i=n/m个样本点.
2)接下来我们对每类样本yi(i=1,2,…,m)进行进一步的处理,并创建出需要的关键帧.
①第yi类中含有n/m个样本点,首先从这n/m个样本点提取出出现次数最多的样本值记作Pi,还有n/m个样本点中灰度值最大的Pmax和灰度最小值Pmin.
②然后分别求出n/m个样本点到Pi的距离,其中最大的记作dmax,最小的记作dmin,也就是所有点到Pi的最大和最小距离.
③接下来以dmax和dmin为基准把所有点到Pi的距离平均分为3 段.即到Pi距离小于(dmax-dmin)/3 的分为一组;距离在(dmax-dmin)/3 到2(dmax-dmin)/3 之间的分为第二组;距离大于2(dmax-dmin)/3 的分为第三组,求出每组的平均值.
3)通过上述方法求取出每组的平均值作为新样本(即,关键帧)的灰度对密度分布估计的作用显然不同,所以各个关键帧的灰度的权重也不相同,因此,我们要重新计算新样本权值.设每类含有t个新样本值Yi的权值βi,
其中:ti是求取第i个关键帧时所用到的原始样本数的个数.
非参数核密度估计方法主要是通过阈值化来实现运动目标的提取,对于当前帧图像每一个观测像素点xi,我们运用式(2)来估计出该点的概率f(xi),如果f(xi)小于我们事先选定的阈值th,那么认定该像素为运动目标,否则认定为背景点,判决公式是公式
其中:th 可通过多次试验和实际情况而定,对于不同的图像,阈值一般也不相同.如果阈值选择大了,虚警率会提高,反之,如果选择小了则会使误检率提高.因此,我们要根据具体情况和实验目的来适当选择阈值th.依公式(7)的判决,可以得到检测后的运动目标.
因为场景是不断变化的,所以也需要不断的更新背景模型来适应这些变化,否则将严重影响检测的结果.为此,需要重新考虑背景模型的更新.本文在更新背景时同样采取提取关键帧的策略,采用“先进先出”的原则提取新图像的特征帧来代替最早的部分特征帧图像.这样做既保证了检测的实时性又不会降低更新时目标检测的速度.
本文设计了两组对比实验以验证KDEKFD 在运动目标检测方面的有效性和优越性.文章尚未对运动目标进行阴影检测消除和后处理.
硬件环境:普通PC 机(Intel(R)Core(TM)2 Duo CPU 2.40GHz,内存2.00G).软件环境:Windows 2003 Server和Matlab.
本文将KDEKFD和KDE 在两组视频序列上进行了对比实验.视频序列分别源于标准视频库http://media.xiph.org/video/derf/和 http://i21www.ira.uka.de/image_sequences/.图1 显示了分别取自视频序列1和视频序列2 中的两帧图像,图像的大小均为640×480,格式均为bmp.其中,序列1 的帧长n=50,m=5,t=3,KDE 的阈值th=0.04,KDEKFD 的阈值th=0.000 000 001;序列2 的n=50,m=5,t=3,KDE 的阈值th=0.004,KDEKFD 的阈值th=0.000 000 1.
图1 两帧图像
为了验证KDEKFD 的有效性和高效性,将之与KDE 在上述两组视频序列中上取得的目标检测结果进行了对比分析.图2 显示了上述两帧图像的检测结果.在图2 中,从左到右的四列分别是KDE的检测结果、KDEKFD 的检测结果、KDE 的检测结果的二值化处理结果、KDEKFD 的检测结果的二值化处理结果.为了使两种实验算法的检测结果更加的清晰,本文对这些结果直接进行二值化处理.表1 给出了两种实验算法检测当前帧的运行时间.
图2 KDE和KDEKFD 的检测结果及检测结果的二值化结果
从图2 中可以得出以下几组比较结果:1)在序列1 的第42 帧图像上,KDE 的检测结果的背景噪声十分明显,而KDEKFD 的检测结果的背景噪声较少,噪声的分布区域也较小.这说明KDEKFD对噪声的抑制能力明显优于KDE 的噪声抑制能力.2)在序列2 的第35 帧图像上,KDE 表现了明显的误检测,它误将路面当成了目标.不仅如此,KDE 对真实目标的检测效果也不太理想,它不能给出目标的较为完整的轮廓,而KDEKFD 没有出现误检测,且检测出了目标的较完整的轮廓.上述两点综合表明KDEKFD 的检测效果要优于KDE,KDEKFD 对KDE 的改进是有效.
表1 两种算法的运行时间(单位:s)
从表1 中可以看出,KDEKFD 在序列1和序列2 上的执行时间分别在1.1 s和0.6 s 以内,而KDE 在两序列上的执行时间则分别在27.5 s和5.5 s 以上,KDEKFD 的执行速度要快KDE 至少(5.521 9/0.572 7)=9.641 9 倍.这是因为KDEKFD的训练样本是由提取的关键帧组成的,而KDE 的训练样本是由全部帧组成,所以KDEKFD 的运算量明显小于KDE 的运算量.
综上所述,KDEKFD 是有效的且在运动目标的实时性检测方面较KDE 具有明显的优势,KDEKFD 的提出是有意义的.
基于非参数核密度估计算法的运动目标检测方法和其他方法相比具有很多优势:比如可以克服背景中的周期性环境突变及运动干扰,保留背景的多模态分布,不必对模型参数进行设置和优化.它的缺点是计算量太大.为了克服这一缺点,本文提出了一种通过提取关键帧来进行高斯核密度背景模型估计的算法,该算法大大降低了计算量,提高了运算效率.实验证明该算法在对视频进行运动目标检测时具有很好的准确性和实时性.但仅做了运动目标的初步检测,并未对检测结果进行进一步的处理,今后的工作主要是对算法进行优化,找到更有效的关键帧提取方法,同时对检测结果进行阴影去除等后处理,使检测更加完善.
[1]FAN J P,WANG R,ZHANG L M,et al.Image sequence segmentation based on 2D temporal entropic thresholding[J].Pattern Recognition Letters,1996,17(10):1101-1107.
[2]JI X P,WEI Z Q,FENG Y W.Effective vehicle detection technique for traffic surveillance systems[J].Journal of Visual Communication and Image Representation,2006,17(3):647-658.
[3]IKETANI A,KUNO Y,SHIMADA N,et al.Real time surveillance system detecting persons in complex scenes[C]//Proceedings.International Conference on Image Analysis and Processing,1999,1112-1115.
[4]甘明刚,陈 杰,刘 劲,等.一种基于三帧差分和边缘信息的运动目标检测算法[J].电子与信息学报,2010,32(4):893-897.
[5]王静静,林明秀,魏 颖.基于灰度相关的帧间差分和背景差分相融合的实时目标检测[J].中南大学学报,2009,40(Supl.):142-148.
[6]KIMA K,CHALIDABHONGSEB T,HARWOODA D,et al.Real-time foreground background segmentation using codebookmodel[J].Real Time Imaging,2005,11(3):172-185.
[7]SHOUSHTARIAN B,BEZ H E.A practical adaptive approach for dynamic background subtraction using an invariant colour model and object tracking [J].Pattern Recognition Letters,2005,26(1):5-26.
[8]WU Q Z,JENG B S.Background subtraction based on logarithmic intensities[J].Pattern Recognition Letters,2002,23(13):1529-1536
[9]ELGAMMAL A,HARWOOD D,DAVIS L.Nonparametric model for background subtraction[C]//Proceeding of 6th European Conference on Computer Vision,Ireland:Dublin,2000,751-767.
[10]孙剑芬,陈 莹,纪志成.基于关键帧的核密度估计背景建模方法[J].光学技术,2008,34(5):699-701.
[11]毛燕芬,施鹏飞.一种用于运动目标检测的多模态非参数背景模型[J].上海交通大学学报,2005,39 SUP:134-137.
[12]王劲松,颜益安,魏法杰.利用背景高斯核密度估计的运动目标检测算法[J].红外与激光工程,2009,38(2):373-376.
[13]卢志茂,殷梦妮.一种去抖动的运动目标检测方法[J].哈尔滨商业大学学报:自然科学版,2012,28(3):295-299.