李文
摘要:运动目标检测是指在图像序列中检测出变化区域并将运动目标从背景图像中提取出来。通常情况下,目标分类、跟踪和行为理解等后处理过程仅仅考虑图像中对应于运动目标的像素区域,因此运动目标的正确检测与分割对于后期处理非常重要,本文主要介绍几种经常使用的目标检测算法的原理。
关键词:目标检测 光流法背景减除法十贞差法
引言
运动目标检测技术是计算机视觉领域研究的热点和难点,算法多种多样。其主要原理是实现图像的分割,将目标和背景的分离,将视频监控图像帧中运动变化部分分离出来,然后实现对运动目标的跟踪、分类、识别。目标检测算法主要有光流法、背景减除法、帧差法等,每种方法均有利有弊,下面对目标检测算法做一个简单介绍。
1目标检测方法介绍
1.1光流法
光流法的主要任务就是计算光流场,即在适当的平滑性约束条件下,根据图像序列的时空梯度估算运动场,通过分析运动场的变化对运动目标和场景进行检测与分割,包括全局光流场和特征点光流场两种方法。最经典的全局光流场法主要有L-K (Lueas&Kanada)法和H-S (Hom&Schunck)法。全局光流场法是通过比较运动目标与背景之间的运动差异对运动目标进行光流分割,但是计算量很大。特征点光流法通过特征匹配计算特征点位置的流速,完成背景和人体的分离,计算量小、快速灵活,但稀疏的光流场很难精确的提取运动目标的形状。光流法对场景的信息不需要提前知道,主要是通过计算场景内的光流场来检测目标。但是,光流场对环境非常敏感,场景内的噪声多光源人体阴影和遮挡都会严重的影响光流场的分布计算,降低计算精度。
人体的运动在空间和时间上具有连续性,在较短的时间间隔里,人体在图像中的灰度值几乎不会发生变化,根据这个原理,检测人体区域的光流方程式如下:
灰度在较短时间间隔内保持不变,可得:
I(x,y,t)=I(x+dt,y+dt,t+dt)式(2)
将公式(2)的右边用泰勒展开,将二阶以上无穷小项去除,则可以获得基本光流方程如下:
其中,I(x,y,t)为图像中点k在(x,y)处t时刻的灰度,该点的光 流为p=(u,v),u(x,y)和v(x,y)分别为点k的水平光流分量和垂直光流分量。
光流法对实验的环境和硬件要求都很高,并且计算量很大,实时性差,所以在图像检测中使用比较少。
1.2背景减除法
背景减除法是一种利用待测图像和已存储的无目标存在的背景图像进行简单的计算机减法运算,这种方法在目标提取技术里是一种比较简单和广泛的方法。但是对使用的场景有一定的要求,首先,两幅图像针对的场景需要固定不变,即摄像头保持不动,将两幅图像做差后存在差异的地方就被认定是目标区域。这种方法的优点是处理速度快,运算简单易懂,但是缺点是适用场合有限,检测的误差大,因为现实使用中,经常会受到外界因素像灯光、外部扰动等的影响,同时对原始背景的选取也存在难度。背景减除法的原理如图1所示。
背景减除法的原理比较简单,摄像头采集图像后,首先要存储一个原始的背景图像,该背景中不存在待测的目标,然后将背景图像与当前待检测图像帧进行做差得到差分图像,再对差分图像进行二值化、连通性处理最终就可以获得待测目标这是基本的背景减除法的原理,也是其它背景建模、更新算法的基礎。数学公式表示如下:
在公式(4)中,4(x,y)是差分结果,g,(x,y)是待检测图像帧,9ag(ty)是原始的背景图像。做差得到差分图像4(x,y)后,设定阈值M,使用公式(5)对其进行二值化处理,可得到目标区域。将差分图像4(x,y)中大于阀值M的部分设置为255,在图像上用白色表示,白色区域就认定为是人体部分。小于M的部分定义为O,在图像上用黑色表示这部分认定是背景部分。背景减除法的原理就是两幅图像做减法,设定一个合理的阈值,二值化处理后就可以得到目标图像。所以阈值的选取十分重要,阈值设定太小,会将背景点误判人人体;阈值太大,会使部分人体点误判为背景。阈值设置的准确与否直接决定目标的检测精度,同时,要固定背景,使背景不会随着时间的推移而变化,这样可以减少检测误差。
背景减除法在目标检测中常被作为基础检测方法,经常和其他方法结合使用。许多研究都在它的基础上进行改进,不断优化和更新背景模型,让计算机根据实际情况自适应建立背景模型。
1.3帧差法
帧差法是目标检测常用的一种方法基本原理和背景减除法相似,它是通过摄像头采集连续的图像帧.将当前图像帧与相邻若干帧的图像逐一做差,对做差后的图像进行二值化处理,从而检测出运动目标的区域。其原理如图2所示。
首先,摄像头采集连续的图像帧,用当前图像帧与相邻n帧的图像进行作差运算,对差分图像做二值化处理,该需要自定义阈值。如果差分图像的像素值小于阈值就认为没有目标出现把图像作为背景。如果做差后的对应的像素值有了显著变化,就认为图像序列中有人体目标的出现,可以确定为目标帧,进而使用图像做差分离出人体目标,二值化处理后得到检测结果。
在视频图像序列中,相邻帧图像之间内容变化不会太大,具有较好的相关性,利用相邻图像帧做背景更新模型更具有实时性,从算法复杂度、更新速度来说,都是一种比较有效的方法。但是,该算法仍然有缺陷,就是对环境噪声很敏感,在更新背景帧时,阈值的选择也很重要,阈值太小不能去掉图像中的噪声,太大会丢失人体目标,无法提取完整的人体目标。
定义第t帧和第t-n帧图像的帧差为,即:
上式中的n是两幅图像之间间隔的图像帧,可以自己设定也可以根据经验来设置。M是二值化处理设定的阈值,两帧图像差分后的结果如果大于阈值M,则把该点处的像素点置为255,图像显示白色,为检测的目标区域。当n=l,即表示是前后连续的两帧图像,n=2,表示间隔一帧图像的两幅图像,当n增大时,则两幅图像的间隔比较大,这样的处理方法可以放大边缘的部分,减小误差,提取到更好的运动目标。不过也有不当之处,就是边缘会变大,精度会降低。在两幅图像相对应的像素点上,对两个像素点做差处理,场景中相同的地方,Dt(x,y)=0,存在差异的地方Dt(x,y)≠0。当视频中的运动目标运动缓慢时,即视频场景相对稳定,两个图像之间的差异会比较小,这样的情况下经常把人体目标误判为背景。
帧差法相对于背景减除法,不需要预先设立背景,它是一种在检测过程中自适应建立背景模型,根据图像帧之间的不同来确定背景。实时性比较好,也易实现。帧差法对图像的识别效果非常差,识别结果由两帧图像里运动目标的重合度决定,重合的地方越多,则背景区域越大,重合地方越小,检测的目标越准确。所以帧差法识别人体姿态在实际应用中有很大限制。
2总结
本文对运动目标检测的几种方法进行分析对比, 考虑现实生活中场景的动态变化,如天气、光照、阴影及杂乱背景干扰等的影响,每一种目标检测算法在实际应用中还有不足之处,还需要结合具体场景进行改进。
参考文献
[1]张国云,郭龙源.计算机视觉与图像识别[M].北京:科学出版社,2012.
[2]景丽.图像处理与计算机视觉算法及应用[M],北京:清华大学出版社.2012.
[3]杨高波,计算机视觉特征提取与图像处理[M].北京:电子工业出版社.2014.
[4]冈萨雷斯,数字图像处理[M].北京:电子工业出版社,2004.
[5]郝菲,智能监控系统中运动目标检测跟踪的研究[D].北京交通大学硕士论文,2009.