APP下载

三帧差分运动目标检测算法分析与验证*

2017-02-09尹红娟

计算机与数字工程 2017年1期
关键词:差法差分法差分

尹红娟 栾 帅

(山东师范大学物理与电子科学学院 济南 250014)



三帧差分运动目标检测算法分析与验证*

尹红娟 栾 帅

(山东师范大学物理与电子科学学院 济南 250014)

运动目标检测准确与否决定了后续对运动目标行为的识别及适时跟踪的成败,在军事侦查、医学图像分析、科学研究等领域有广泛的应用。论文分析了三帧差分运动目标检测算法,利用OpenCV函数库进行仿真测试,并将其与普通帧间差分算法进行对比分析。实验结果表明,该算法准确率高,运算速度快,能满足实时要求。

三帧差分; 运动目标检测; OpenCV

Class Number TP391

1 引言

随着计算机技术、通信技术、图像处理技术的不断发展,计算机视觉己成为目前的热点研究问题之一,而运动目标检测是计算机视觉研究的核心课题之一。所谓运动目标检测是指在序列图像中检测出变化区域并将运动目标从背景图像中提取出来,其检测的准确与否决定了后续对运动目标行为的识别及适时跟踪的成败。比较典型的运动目标检测算法有光流法、背景差分法及帧差法等[1~2]。

光流法[3]是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。

背景差分法[4]是在背景静止情况下常用的运动目标检测方法。其主要利用当前场景中的某一帧图像作为参考背景图像,然后通过将当前帧图像与事先得到的背景图像或者实时得到的背景图像做差分运算,得到的差分图像用选定阈值进行二值化,就可得到运动目标区域,即差值大于一定阈值的像素点就被认为是运动目标上的点,否则就认为该点为背景点,很适合用来在背景图像随时间改变不大的情况下检测运动目标。

帧差法通过比较不同时刻、同一背景的两幅图像,比较的结果就反映了一个运动的物体在这个背景下运动的结果。较为简单的方法就是对两幅图像做“相减”或“差分”运算,根据相减后的图像结果就能得到物体的运动信息。在相减后的图像中,灰度不发生变化的部分就被减掉,这里被减掉的部分包括大部分的背景和小部分的目标。但是该方法提取的运动目标比实际的要大,往往出现“重影”现象[5];另外,由于检测出来的物体是前后两帧相对变化的部分,无法检测到重叠部分,导致检测到的目标发生“空洞”现象[6~7]。与帧间差分法相比,三帧差分法一定程度上解决了对目标运动速度的敏感性,增加了系统的鲁棒性。

2 三帧差分算法分析

2.1 三帧差分法原理与框架

三帧差分法是相邻两帧差分算法的一种改进方法,该算法的基本原理是先选取视频图像序列中连续三帧图像并分别计算相邻两帧的差分图像,然后将差分图像通过选取适当的阈值进行二值化处理,得到二值化图像,最后在每一个像素点得到的二值图像进行逻辑与运算,获取共同部分,从而获得运动目标的轮廓信息,其算法框架如图1所示。

图1 算法框架

2.2 三帧差分法流程

1) 灰度处理

输入的视频是彩色的,一般采用RGB颜色模型。由于帧差法是基于像素点的运动目标检测算法,它通过对视频图像序列中的相邻帧之间进行差分运算,判断背景中像素点的灰度值是否发生了变化,然后根据灰度值的变化得到运动目标,所以对输入的彩色视频应进行灰度处理,将彩色图像转化为灰度图像。灰度处理公式如下:

Y=0.21267*R=0.715160*G+0.072169*B

(1)

2) 分帧处理

从视频序列中取出某个时刻的图像,记为f(x,y,t),表示在t时刻该视频出现的帧图像,而f(x,y,t-1)和f(x,y,t+1)则分别表示其前一帧和后一帧图像。其中,x、y为像素位置,t为时间。

3) 差分处理

将当前帧与其前帧进行差分,得到一个差分图像为

D1(x,y)=f(x,y,t)-f(x,y,t-1)

(2)

将当前帧与其后一帧进行差分,得到另一个差分图像为

D2(x,y)=f(x,y,t+1)-f(x,y,t)

(3)

4) 二值化处理

为了选取目标区域,分别对D1(x,y)和D2(x,y)进行二值化处理,公式如下:

(4)

其中:k=1,2;Th为设定阈值;dk(x,y)为二值化处理结果。

阈值的选择可采用Otsu方法[8~9],该方法是经典的非参数、无监督自适应阈值选取方法。设灰度图像灰度级是L,则灰度范围为[0,L-1],利用Otsu算法计算图像的最佳阈值为

t=Max[w0(t)*(u0(t)-u)2+w1(t)*(u1(t)-u)2)]

(5)

其中的变量说明:当分割的阈值为t时,w0为背景比例,u0为背景均值,w1为前景比例,u1为前景均值,u为整幅图像的均值。使以上表达式值最大的t,即Th为分割图像的最佳阈值。

5) 提取前景图像

通过与运算提取二值化图像的交集,得到运动目标前景图像,公式如下:

X=d1(x,y)*d2(x,y)

(6)

其中,*为与运算。

6) 后处理

对获得的图像进行形态学的腐蚀与膨胀运算[10]。腐蚀,即删除对象边界某些像素。膨胀,即给图像中的对象边界添加像素。二值图像的腐蚀和膨胀是将一个小型二值图在一个大的二值图上逐点移动并进行比较,以去除图像中的噪声点与目标中的空洞。

3 三帧差分算法实验

3.1 实验数据与程序

选取几段不同的视频数据,分别使用传统帧差法和三帧帧差法,在Intel Xeon CPU,主频为2.5Ghz,内存为8GB,4G独立显卡的环境中,进行仿真实验。实验视频数据来源网站为http://www.sd235.com。选取了三类视频,第一类是在晴好天气环境下,一辆汽车在公路上行驶视频,图像为720*486,视频帧为29帧/秒。第二类是在晴好天气环境下,一只老鹰在天空飞翔视频,图像为720*486,视频帧为30帧/秒。第三类是在夕阳西下、背光环境下,多目标的高尔夫运动视频,图像为1920*1080,视频帧为23帧/秒。

为了实现视频中的运动目标检测,利用了Opencv库里的以下函数进行视频图像处理。

1) cvtColor(img_src1,gray1,CV_BGR2GRAY),使用该函数将视频的每一帧图像转化为灰度图像。

2) subtract(gray2,gray1,gray_diff11),使用该函数做帧间差分运算。

3) bitwise_and(gray_diff1,gray_diff2,gray),使用该函数进行点位运算—与运算。

4) dilate(gray,gray,Mat()),使用该函数进行膨胀处理。

5) erode(gray,gray,Mat()),使用该函数进行腐蚀处理。

3.2 实验结果分析

本文分别对3.1节中所选取的三类视频进行帧间差分与三帧差分实验,并选取其中部分结果进行对比分析。

图2为第一类视频的部分结果。

图2 汽车行驶视频

在图2中,图2(a)为第一类视频的第25帧。图2(b)为帧间差分法处理25帧和26帧后的图像,从该结果可以看出,帧间差分法能检测出汽车的基本轮廓,但边缘部分有缺失,总体检测效果一般。图(c)为三帧差分法处理24帧、25帧和26帧后的图像,与图(b)相比,检测的运动目标区域比较完整,轮廓清晰,效果较好。

图3为第二类视频的部分结果。

图3 老鹰在天空飞翔视频

在图3中,图(a)为第二类视频的第7帧,图(b)为帧间差分法处理7帧和8帧后的图像,从该结果可以看出,帧间差分法能够检测出老鹰的部分区域,检测效果不够理想。图(c)为三帧差分法处理6帧、7帧和8帧后的图像,与图(b)相比,能够检测出老鹰的整体轮廓,效果较理想。

图4为第三类视频的部分结果。

图4 高尔夫运动视频

在图4中,图(a)为第三类视频的第3帧,选用该视频段,主要是探究光照对帧差法的影响。图(b)为帧间差分法处理3帧和4帧后的图像,从该结果可以看出,帧间差分法检测轮廓不完整,检测效果一般。图(c)为三帧差分法处理2帧、3帧和4帧后的图像,与图(b)相比,检测的运动目标区域比较完整。但从整体检测效果来看,光照对实验结果有一定的影响,图中从左侧数第一人与第三人的检测效果在两种方法中都不佳,但在比较之下,三帧差分效果更好。

对第三类视频(多目标视频)实验结果,本文应用帧间差分法和三帧差分法得到的预测人数与实际人数的对比,结果如表1所示。

表1 各帧值下两种方法的人数预测与真实值对比

经过对比,可以发现三帧差法比帧间差分法准确度高。帧间差分法不能很好地提取出对象的完整区域,同时依赖于选择的帧间时间间隔。三帧差法为相邻三点间的视频序列的差值,比帧间差分法更精确。

4 结语

本文采用三帧差分法对运动目标进行检测,在分析三帧差分法原理的同时,对其进行了实验验证,并将其实验结果与传统帧差法进行了对比。经比较,该方法能减少光照变化对运动目标检测的影响,消除帧间差分带来的重影和空洞现象,能够获得较为完整的区域,提取出运动目标,为后期的目标识别奠定了基础。

[1] 盛旭峰,李校祖,庄俊.基于三帧时间差分法的独居老人运动检测[J].计算机工程与应用,2010,46(13):239-241. SHENG Xufeng, LI Xiaozu, ZHUANG Jun. Motion detection research of elderly aging-in-place based on three-frame-differencing[J]. Computer Engineering and Applications,2010,46(13):239-241.

[2] 吕国亮,赵曙光,赵俊.基于三帧差分和连通性检验的图像运动目标检测新方法[J].影像技术,2008,11(4):17-20. LV, Guoliang, ZHAO Shuguang, ZHAO Jun. Novel Method of Moving Object Detection Based on Three Frame Differencing and Connectivity Checking[J]. Chinese Journal of Liquid Crystals and Displays,2008,11(4):17-20.

[3] Valera M, Velastin S A. Intelligent Distributed Surveillance Systems: A Review[J]. IEE Proceedings Vision Image and Signal Processing(S1751-9632),2005,152(2):192-204.

[4] 李宁,黄山,张先震,等.基于背景差分的人体运动检测[J].图像处理,2009(25):257-258. LI Ning, HUANG Shan, ZHANG Xianzhen, et al. Human Motion Detection Based on Background Difference[J]. Image Processing,2009(25):257-258.

[5] 庞首颜,张元胜.基于三帧差分及Canny算子的运动目标检测[J].重庆工商大学学报,2013,30(5);57-61. PANG Shouyan, ZHANG Yuansheng. The Moving Target Extraction Based on the Three Frame Difference and Canny Operator[J]. Journal of Chongqing Technology and Business University(Social Science Edition),2013,30(5);57-61.

[6] Fang Z, Zhang J, Chen F I. A fast and robust algorithm of motion detection for distributed outdoor surveillance[C]//IEEE International Symposium on IT in Medicine and Education,2011:129-132.

[7] 谭歆,武岳.基于OpenCV的运动目标检测方法研究与应用[J].视频应用与工程,2010(34):184-193. TAN Xin, WU Yue. Research and Application of Moving Target Detecting Method Based on OpenCV[J]. Video Application & Project,2010(34):184-193.

[8] Xu J B, Liu B, Lin H J, et al. Approximation implementation approach for gaussian filtering in roundness measurement[J]. Acta Metrologica Sinica,2012,33(1):814-817.

[9] 栾庆磊,赵为松.动背景下帧差分法与边缘信息融合的目标检测算法[J].光电工程,2011,38(10):77-83. LUAN Qinglei, ZHAO Weisong. Moving Object Detection Algorithm Based on Three-Frame-Difference of Moving Background and Edge Information[J]. Opto-Electronic Engineering,2011,38(10):77-83.

[10] 孙继平,吴冰,刘晓阳.基于膨胀/腐蚀运算的神经网络图像预处理方法及其应用研究[J].计算机学报,2005,28(6):985-990. SUN Jiping, WU Bing, LIU Xiaoyang. Cellular Neural Network Applicating Manner in Pre-Processing Image[J]. Chinese Journal of Computers,2005,28(6):985-990.

Three-image Difference Algorithm for Moving Target Detection

YIN Hongjuan LUAN Shuai

(School of Physical and Electronics, Shandong Normal University, Jinan 250014)

The accuracy of moving target detection determines the success or failure of subsequent recognition and motion tracking of the target behavior in a timely manner, moving target detection is widely used in military reconnaissance, medical image processing, scientific research, ect. This paper presents a three-frame difference algorithm for moving target detection. Some simulation tests are carried out by the algorithm and the basic frame difference method, respectively, moreover, the results are analyzed comparatively. The results illustrate that the proposed algorithm is more accurate and rapid, which can fulfill the realtime requirement.

three-frame differential, moving target detection, OpenCV

2016年7月10日,

2016年8月28日

尹红娟,女,硕士研究生,研究方向:多媒体信息处理与集成。

TP391

10.3969/j.issn.1672-9722.2017.01.015

猜你喜欢

差法差分法差分
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
数列与差分
基于有限差分法的边坡治理数值分析
基于有限差分法的边坡治理数值分析
系数退化的拟线性拋物方程解的存在性
关于用逐差法计算纸带加速度合理性的讨论
“闹”中取静点差法
“点差法”虽好 应用须谨慎
浅谈有限差分法在求梁变形时的应用