摘 要: 传统的三帧差分运动目标检测算法易出现空洞及虚假边缘等现象。为了对其进行改进,提出了一种融合边缘检测的三帧差分运动目标检测算法。首先对三帧连续图像采用Canny 边缘检测算子快速提取边缘图像,然后对三帧连续的边缘图像进行改进的三帧差分运算, 最后通过阈值分割和形态学处理完成对运动目标的提取。实验结果表明, 该算法计算简单,连通性好且准确率高,可满足实时检测的要求。
关键词: 三帧差分;边缘检测;阈值分割
0 引言
运动目标检测处于智能视频监控系统的最底层,其检测结果的好坏将直接影响后续的处理效果,故其技术发展和应用前景受到广泛关注。目前常用的运功目标检测算法[1]有:背景差分法、光流法及帧间差分法。背景差分法能够较完整地提取出运动目标,但对光照及外部条件引起的动态场景变化过于敏感;光流法是基于对光流场的估算进行检测分割的方法,计算复杂,须有特殊硬件设备支持,实时性差;帧差法是根据图像中像素点的灰度差计算出运动物体的位置和形状等信息,这种方法对于动态环境有很好的适应性,算法简单,易于实现,但不能提取出较完整的运动目标。
视频图像的边缘信息抗干扰性能好,不易受亮度突变及噪声的影响,因此本文融合图像边缘信息与改进的三帧差分对运动目标进行检测,简化了计算。实验结果表明该算法可以有效改善传统帧间差分算法出现的空洞现象。
1 融合边缘检测的三帧差分运动目标检测
1.1 预处理
众所周知,灰度图像的处理效率高于彩色图像,因此首先对图像进行灰度化。另外,图像获取过程中不可避免地存在诸如斑点噪声及椒盐噪声等一系列噪声影响,为了有效抑制噪声影响,本文采用中值滤波法对原始图像进行滤波处理。最后本文采用直方图均衡化及梯度化操作,使得图像轮廓更为清晰,以增强抗干扰能力。
1.2 Canny 边缘检测算法
边缘作为图像的最基本特征广泛存在于目标物与背景之间、目标物与目标物之间,在图像处理中有着重要的作用和广泛的应用。目前常用的边缘检测算子包括 Robets 算子、Sobel算子、Prewwits 算子、 Log 算子、二阶Laplace 算子等。这些算子简单,易于实现且具有很好的实时性,但抗干扰性能差,对噪声较敏感且边缘的精度有待提高。基于最优化算法的 Canny 边缘检测算子[2],是先采用高斯函数对图像进行平滑处理,再进行边缘检测,提取的边缘线形连接较为完整,定位准确性较高,效果较好。本文采用此方法对序列帧图像进行边缘提取。.
Canny算子的基本原理是通过查找图像梯度强度局部的最大值来得到边缘信息,图像梯度的计算采用Gauss滤波器。为了消除噪声干扰、提高边缘检测的精度,Canny采用双阈值来提取边缘像素点。如果梯度强度不满足高阈值的检测条件,但是与己检测出的较强边缘点相连接,并且满足低阈值条件,则确定为弱边缘点。双阈值法使得采用Canny算子提取边缘点具有更强鲁棒性。
Canny算法的实现步骤如下:
(1)高斯滤波:选取合适的Gauss窗函数和尺度,用Gauss滤波器对需要处理的图像进行平滑滤波,得到平滑图像;
(2)梯度计算:用一阶偏导的有限差分来计算梯度的幅值和方向;
(3)量化梯度方向:对梯度方向进行量化,使其只有8个方向,即0?、45?、90?、135?、180?、225?、270?、315?;
(4)梯度非最大值抑制:对于每一个梯度强度非零的像素点,查找沿其量化后的梯度方向的两个相邻像素点,然后通过阈值判断为非边缘点还是候选边缘点;
(5)双阈值判决:设定双阈值,进一步判断候选边缘点为强边缘点、弱边缘点还是非边缘点;
(6)边缘连接:对于弱边缘点,如果它与强边缘点在8连通区域相连,则该点记为弱边缘点,同时将其边缘提取置为1,所有标记为1的点就成了最后的边缘。
1.3 改进三帧差分算法基本原理
传统的三帧差分算法虽然能够快速检测出运动目标的轮廓,但其所检测出的轮廓往往不连续且存在较大的空洞现象,同时传统三帧差分算法不能完整提取目标信息。本文采用改进的三帧差分算法[3],可以在一定程度上克服传统三帧差分算法的不足。设预处理后的连续三帧图像为fi-1(x,y)、fi(x,y)、fi+1(x,y) ,首先分别将中间帧fi(x,y)与其前后两帧做差分运算以及将fi+1(x,y)与fi-1(x,y)做差分运算,得到差分结果:
然后将差分后的结果Di与Di+1进行“与”运算,“与”运算能够有效地克制或运算造成的目标重叠现象。最后对DA和Di+2进行滤波及动态阈值二值化处理, 并将其结果进行“或”运算,能够有效地克制空洞现象,得到最终的目标轮廓:
1.4 本文算法
本文算法融合图像边缘信息与改进三帧差分对运动目标进行检测,首先采用Canny边缘检测算法快速提取连续三帧图像的边缘图像,然后利用改进的三帧差分算法得到较为完整的运动目标轮廓,最后通过后期一系列处理提取出准确完整的运动目标区域。本文算法整体流程如图1所示。
1.5 形态学处理
由于干扰因素的存在,导致所得到的二值化图像中往往会出现噪声及空洞,可以通过数学形态学对其进行后处理。首先采用腐蚀运算消除二值图像中的孤立噪声点,再采用膨胀运算来填充运动目标的边缘空洞。
2 实验对比
本文采用 Matlab 进行仿真实验,为验证算法的有效性,分别利用传统三帧差分法、改进三帧差分法以及本文算法对同一组 AVI 视频序列图像进行测试。检测结果如图2所示。
由图可知,采用传统三帧差分算法检测到的目标轮廓不连续,改进三帧差分法得到的图像目标轮廓更清晰,内容更为丰富,而采用本文算法检测得到的结果进一步消除了空洞现象且轮廓清晰,结果准确完整。
3 结论
本文融合图像边缘信息与改进的三帧差分算法对运动目标进行检测,首先采用Canny边缘检测算法快速提取连续三帧图像的边缘图像,然后利用改进三帧差分算法得到较为完整的运动目标轮廓,最后通过后期一系列处理提取出准确完整的运动目标区域。实验结果表明本文算法能够快速准确地检测出运动目标,进一步改进了传统三帧差分目标轮廓不连续现象,计算简单,可满足实时性检测需求。
参考文献
[1] 罗志升,王黎,高晓蓉,等. 序列图像中运动目标检测与跟踪方法分析[J]. 现代电子技术, 2009(11):125-126.
[2] 蒋钘. 人体运动目标检测与跟踪关系问题研究[D]. 长沙:中南林业科技大学, 2013.
[3] 岑银. 智能视频监控中运动目标跟踪技术研究[D]. 成都:西南交通大学, 2010.
[4] 舒欣, 李东新, 薛东伟.五帧差分和边缘检测的运动目标检测[J].计算机系统应用, 2014,23(1):124-127.
[5] 许录平. 数字图像处理[M]. 北京:科学出版社, 2007.
[6] 张德丰. MATLAB 数字图像处理[M].北京:机械工业出版社, 2009.
[7] 邵广安. 视频监控中运动目标检测与跟踪方法的研究[D]. 南昌:南昌大学, 2013.
[8] 赵洁,李玮,郝志鹏,等. 基于改进 Canny 算子与图像形态学融合的边缘检测方法[J]. 微型机与应用, 2011,30(10):44-46.