基于信息融合的运动目标检测算法

2018-06-15 02:19李忠海梁书浩沈阳航空航天大学自动化学院沈阳110136
沈阳航空航天大学学报 2018年2期
关键词:算子差分边缘

李忠海,梁书浩,杨 超(沈阳航空航天大学 自动化学院,沈阳 110136)

运动目标检测是视频图像处理中的热点、难点问题,是运动目标跟踪和识别的基础,它的检测效果直接影响后续的识别、跟踪效果。然而,现实环境中光线、天气变化给运动检测带来了困难。视频监控中常见的运动目标检测算法主要有3类:帧差法、光流法和背景差分法[1]。帧差法[2]包括帧间差分、三帧差分、四帧差分以及它们的改进算法,算法实时性好,能够较好适应背景环境变化的情况,但其检测效果一般,不能完整地检测出运动目标,会出现较大的空洞。光流法[3]根据每帧图像的像素点矢量特征,对图像进行动态分析,当目标发生运动时,目标的光流矢量发生变化,从而检测出运动目标,虽然可以获得完整的运动目标信息,但算法计算复杂、耗时,不易实时检测。背景差分法[4]是利用背景图像与当前图像进行差分运算来检测运动目标区域,该算法计算简单、实时性好,能够检测出完整的运动目标。但是背景差分法容易受到环境变化的干扰,例如天气、光线、树木树叶摇动等,会造成检测出现缺口、断裂和空洞的现象。

本文在现有算法基础上,提出背景边缘检测与五帧差分相融合的方法对运动目标进行检测。本文采用改进的Canny算法与自适应Surendra背景差分结合得到运动区域背景边缘再于五帧差分结果融合,检测出完整的运动目标,再对背景进行实时更新。

1 目标检测算法思想

信息融合算法由五帧差分、Canny背景边缘差分检测、Surendra背景差分[5]构建背景模型、后期形态学处理以及背景更新构成。

首先对当前帧图像进行五帧差分得到检测结果Ddiff,再进行Canny背景边缘差分检测得到检测结果Dedge,将这两个检测得到的二值结果进行逻辑“或”运算,得到运动目标轮廓Dcom,最后经过形态学处理去除噪声及空洞等,得到完整的运动目标,并对背景模型进行实时更新。运动目标检测结果可以表示为:Dcom=Dedge+Ddiff。

其算法流程图如图1所示:

图1 算法流程

2 优化Canny算子边缘检测

2.1 传统Canny算子的不足

Canny算子[6]能够较好地进行边缘检测和图像去噪,其检测效果由3个性能参数决定:一是在平滑过程中人工设定的高斯滤波函数σ,二是跟踪过程人为设定的高低阈值Th和Tl。

(1)人为设定的σ值较大,虽能较好地去除噪声,但会造成过度平滑,精度降低;反之,σ值较小,去噪能力较差,但边缘精度较高。

(2)高低阈值人工设定,而不是根据图像边缘信息自适应确定,如果阈值较低,不能有效抑制噪声;如果阈值较高,则会丢失过多的边缘信息。导致边缘出现大量间断和虚假边缘,影响检测效果。

2.2 自适应中值滤波去噪

用自适应的中值滤波替代高斯滤波平滑[7-10],克服σ设定的缺点。自适应中值滤波不但可以去噪,而且可以较好地保留边缘信息。算法思想为:根据噪声密度改变滤波窗口的大小,同时对噪声点和信号点采取不同的处理方法。对噪声点进行中值滤波,对信号点保持不变。算法步骤为:

(1)设fx,y为点(x,y)的灰度,Ax,y为当前工作窗口,fmin,fmax,favg分别为Ax,y中灰度最小值、最大值和中值,Amax为预设的最大窗口;

(2)若fmin

(3)若fmin

可以看出,算法中噪点的检测是以fmin和fmax为基准的,若fmin

2.3 双阈值自适应求取

针对Canny算子高低阈值方面的问题,通过最大间类差分法(Ostu)[11-13]用自适应方法确定阈值,通过寻找间类方差的最大值来确定最佳阈值。将最佳阈值作为Canny算子的高阈值,能够平衡去噪和保留边缘信息之间的矛盾,获得高质量的图像边缘。

图像一般由目标和背景组成,它们的分割阈值为T,图像的总像素数为N,其中目标像素数为N1,背景像素数为N2,目标和背景占总像素的比例为P1和P2,则P1=N1/N,P2=N2/N,平均灰度值分别为u1和u2,图像总的平均灰度值为u,则u=u1×P1+u2×P2,得最大间类方差为

σ2=P1×(u1-u)2+P2×(u2-u)2

(1)

采用遍历法求出使σ2最大的阈值T,即是最佳阈值,将此阈值T作为Canny算子的高阈值Th,通过公式(2)可以求得低阈值Tl。

Th=2×Tl

(2)

通过Oust自适应阈值选取,可以使Canny算子在检测时根据图像的特点的选择合理的阈值,得到边缘细节清晰、连续的图像。

2.4 检测效果对比实验

验证边缘检测效果,分别采用传统和优化后的Canny算子对加有随机噪声的图像进行边缘检测,实验结果如图2所示。

图2 边缘检测结果

图2b为传统的Canny算子,预设σ=0.25,Th=0.7,Tl=0.35,图2c是本文优化方法得到的检测结果。结果可见,传统Canny有一定的去噪能力,但检测出来的边缘连续性不强,连续性差;而优化后的Canny不仅拥有较好的去噪能力,而且检测出来的边缘信息完整,连续性好。

3 五帧差分算法

帧间差分算法是简单、快速获得运动区域的方法,但是容易出现大量空洞和虚假边缘现象,四帧差分检测出来的运动区域更加接近真实的运动区域,能够减少虚假边缘,但仍然存在大量的空洞。

本文在四帧差分的基础上提出五帧差分[14-15],并结合动态阈值来检测出准确的运动目标,算法的基本思想为

从视频序列中选取连续的五帧图像分别为fk-2(x,y),fk-1(x,y),fk(x,y),fk+1(x,y),fk+2(x,y),用中间帧fk(x,y)分别和前两帧和后两帧进行差分运算,得到差分结果为

d13(x,y)=|fk(x,y)-fk-2(x,y)|

(3)

d23(x,y)=|fk(x,y)-fk-1(x,y)|

(4)

d34(x,y)=|fk(x,y)-fk+1(x,y)|

(5)

d35(x,y)=|fk(x,y)-fk+2(x,y)|

(6)

对得到的差分结果进行逻辑“与”运算得

D1(x,y)=d13(x,y)⊗d2(x,y)

(7)

D2(x,y)=d34(x,y)⊗d35(x,y)

(8)

再对D1(x,y)和D2(x,y)进行动态阈值处理,阈值为上面求得的最佳阈值T,将处理获得的结果进行逻辑“或”运算得到运动目标轮廓Ddiff

Ddiff=D1(x,y)⊕D2(x,y)

(9)

五帧差分可以消除检测出运动目标上的空洞现象,但对于光线变化的场景,检测出运动目标的连续性不好,上文的目标边缘检测可改进这一缺点,提高运动目标的连续性。

4 背景边缘差分与更新

4.1 Surendra算法提取与更新背景

首先通过优化的Canny算子对当前帧进行边缘检测,再通过帧差分的二值化图像的像素点的灰度值进行判断,该像素点的灰度值大于阈值,那么背景边缘保持不变,否则就利用当前帧和原背景图像边缘进行更新[16-17],经过一定时间的迭代更新就可以获得背景边缘。算法流程如下:

(1)初始背景B0建立。用优化的Canny算子检测的第1帧图像f0作为初始背景B0;

(2)令迭代次数i=1,选取阈值为T,最大的迭代次数为m;

(3)当前帧的差分图像

(10)

其中fi和fi-1为当前帧和上一帧边缘图像,T为上面求得的最佳阈值;

(4)由二值图像Di更新背景背景图像Bi

(11)

其中α为更新系数,这里取α=0.004;

(5)i=i+1,返回步骤(3)继续执行,当迭代次数为m时结束,此时的Bi为背景边缘图像。

获取背景边缘Bi后,将fi和Bi进行背景边缘差分运算,再经过最佳阈值T分割,就可以得到运动目标边缘Diedge;

(12)

4.2 图像后处理

经过上述过程得到的运动目标边缘,仍然会残留一些白色噪声区域影响检测效果。通过连通性检测可以降低噪声点。本文采用四连通区域进行连通检测,将最大连通区域的4%作为阈值,把面积小于阈值的连通区域去除掉,完成白色噪点的填充。

5 实验结果与分析

输入一段多辆汽车在道路上行驶的视频序列,来验证本文提出算法的有效性,视频大小为160×120。

分别采用自适应Surendra背景差分法、五帧差分法、差分组合的运动目标检测算法以及本文算法对视频序列中的运动车辆进行检测,得到实验结果,如图3所示。

图3 实验结果图

由实验结果可以看出,图3b Surendra算法容易受到光线的影响,40帧、51帧、99帧由于光线的突变,阴影也被检测出来;图3c五帧差分检测到的目标边缘不完整,连续性差;通过公式计算识别率DR和误检率FAR,来分析上述算法的性能

(13)

其中,TP为正确检出运动目标数;FN为未检出的运动目标数;FP为错误检出的非运动目标数。图3d文献[4]的算法能解决边缘不连续的问题,但仍然不够完整,存在虚假边缘和空洞现象。以上表明,这3种算法都不能完整的提取出运动目标。本文算法检测出的目标轮廓清晰最接近目标本身,并且解决了假边缘和不连续的现象,填充消除了空洞,识别速度快,满足实时性要求。结果如表1所示。

表1 14种算法性能比较

从表4可以看出,识别率本文算法最好,达到98%以上,误检率本文算法最低,为2.8%。本文算法识别率高、误检率低,能有效检测出运动目标。

6 结论

本文算法是将背景边缘检测与五帧差分法相融合,利用两种算法的优势互补,既解决了背景减法对外界环境突变的敏感问题,降低了误检率,又解决了帧差法对移动较慢目标的漏检问题。该方法能够适应光线的变化,消除阴影、虚假边缘和空洞等现象,并能实时进行背景更新,准确检测出运动目标。实验证明,该算法简单、有效、实时性好。

参考文献(References):

[1] 基于视频监控运动目标检测算法研究[D].广州:华南理工大学,2013.

[2] NETO B,GOUTSIAS J.Object-based image analysis using multi-scale connectivity[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2005,27(6):892-907.

[3] RENE V,RAVICHANDRAN A.Optical flow estimation and segment-anon of multiple moving dynamic textures[C]//Proceedings of 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition[S.1.]:IEEE Press,2005:516-521.

[4] 郝毫刚,陈家琪.基于五帧差分和背景差分的运动目标检测算法[J].计算机工程,2012,38(4):146-148.

[5] HERRERO E,ORRITE C,SENAR J.Detected motion classification with a double background and a neighborhood-based difference[J].Pattern Recognition Letters,2003,24(12):2079-2092.

[6] 王佐成,刘晓冬,薛丽霞.Canny算子边缘检测的一种改进方法[J].计算机工程与应用,2010,46(34):202-204.

[7] 郭忠峰,唐晓晓,任仲伟,等.基于Canny算子改进的图像边缘检测算法研究[J].机械研究与应用,2017,148(30):123-124.

[8] 冯永亮.基于Canny算子的图像边缘检测方法改进研究[J].计算机与数字工程,2016,44(8):1567-1569.

[9] 王文豪,姜明新,赵文东.基于Canny算子改进的边缘检测算法[J].中国科技论文,2017,12(8):910-915.

[10]JU WEN,LIU JIAOLONG,JlN SONGZHI.An improved clustering based on edge detection method[C]//IEEE.Proceedings of the 35th Chinese Control Conference.Chengdu,China:IEEE Computer Society,2016:4026-4030.

[11]梁光明,孙即祥,马琦,等.Otsu算法在Canny算子中的应用[J].国防科技大学学报,2003,25(5):36-39.

[12]胡敏,李梅,汪荣贵.改进的Otsu算法在图像分割中的应用[J].电子测量与仪器学报,2010,24(5):443-448.

[13]吴君钦,刘昊,罗勇.图像融合的运动目标检测算法研究[J].计算机工程与设计,2012,33(12):4614-4618.

[14]舒欣,李东新,薛东伟.五帧差分和边缘检测的运动目标检测[J].计算机系统应用,2013,23(1):125-127.

[15]陈志勇,彭力,张纪宽.动态环境下改进五帧差分的运动目标检测新算法[J].江南大学学报(自然科学版),2015,14(1):35-37.

[16]龙腾.基于Surendra改进的运动目标检测算法[J].电子设计工程,2013,21(14):151-153.

[17]纪青华,禹素萍.基于Surendra背景减除法和四帧差分法的目标检测算法[J].计算机应用与软件,2014,31(12):242-244.

猜你喜欢
算子差分边缘
RLW-KdV方程的紧致有限差分格式
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
符合差分隐私的流数据统计直方图发布
斜对角算子矩阵的Weyl谱
数列与差分
拟微分算子在Hp(ω)上的有界性
Domestication or Foreignization:A Cultural Choice
一张图看懂边缘计算
相对差分单项测距△DOR
在边缘寻找自我