基于改进三帧差分法的运动车辆目标检测
傅莉 王一淼 黄全军
摘 要:针对传统三帧差分法中目标检测不完整、自适应性差的问题,本文对此进行了改进。通过将三帧差分法与边缘检测算子相结合解决了目标边缘不连续性的问题。采用自适应阈值法对边缘检测算子的高、低阈值进行自动选取,从而提高了算法的自适应能力。采用数学形态学算法处理,填充了运动目标的部分空洞。实验结果表明改进算法能更清晰完整地检测出运动车辆目标。
关键词:运动车辆目标检测;三帧差分法;边缘检测;自适应阈值;数学形态学
Abstract:In view of the problem of incomplete target detection and poor adaptability in the traditional three-frame difference method,this paper improves this.By combining the three-frame difference method with the edge detection operator,the problem of target edge discontinuity is solved.The adaptive threshold method is used to automatically select the high and low thresholds of the edge detection operator,thereby improving the adaptive ability of the algorithm.It is processed by mathematical morphology algorithm and fills some holes of the moving target.Experimental results show that the improved algorithm can detect moving vehicle targets more clearly and completely.
Key words:Moving vehicle target detection;three-frame difference method;edge detection;adaptive threshold;mathematical morphology
運动目标检测技术是智能交通系统的关键部分,在检测交通流量和商场客流量方面有着广泛的应用[1]。运动目标检测算法包括:背景减除法、光流法、差分法等[2]。本文主要研究差分法,差分法直接比较连续两帧或多帧图像中对应像素的灰度值,然后在设置阈值的序列图像中提取运动目标的区域,其存在着目标重叠部分检测困难、边缘不连续性等问题。
本文针对传统三帧差分法中存在的问题,对其进行改进,加入自适应的边缘检测算法和数学形态学算法进行处理,以解决运动目标检测不完整和自适应差的问题。
1 传统的三帧差分法
传统的三帧差分法是指取连续三帧原始图像,进行灰度化处理,分别对当前帧与前一帧和后一帧灰度图像做差分运算,对差分后的灰度图像进行二值化处理,由于二值化阈值的选取需要手动设定,因此自适应性较差,然后对两帧二值化的图像进行与操作,目的是去除运动目标的拉长部分,然而,由于图像重叠,检测到的运动目标存在较大的空洞[3]。
三帧差分法运算公式为:
k+1(x,y)分别表示第k-1、k、k+1帧图片的像素点的灰度值,D1(x,y)、D2(x,y)分别表示对应的差分结果,E1(x,y)、E2(x,y)表示二值化结果,T为预先设点的阈值,如果T选取的过大,则检测出来的运动目标可能会出现检测不完整或者漏检,反之,则会出现大量的噪声。E(x,y)表示最后检测出的目标图像。
2 改进的三帧差分法
2.1 自适应的边缘检测
针对传统的三帧差分运动目标检测算法中存在的目标边缘不连续性的问题,加入Canny边缘检测算法进行处理[4],能够清晰完整地检测出目标边缘。
为了增强算法的自适应性,对边缘算子的双阈值进行选取时,采用最大类间方差法。用遍历法求使类间方差最大化的最佳阈值,将其设为Canny算子的低阈值,高阈值设定为低阈值的2倍。
2.2 数学形态学处理
在传统算法中,由于相邻两帧图像的重叠,因此检测到的目标会产生空洞,所以采用数学形态学进行处理[5-6]。
本文使用膨胀的形态学运算,其能够将图像的边缘扩大些,将目标的边缘或者内部的空洞填充[7]。
2.3 操作方法
由以上分析可知,改进的三帧差分运动目标检测算法步骤如下:
(1)首先取连续三帧原始图像,进行灰度化处理。
(2)对当前帧与前一帧和后一帧灰度图像分别做差分运算。
(3)通过最大类间方差法分别确定两帧差分灰度图像对应Canny算子的高、低阈值,进行边缘检测。
(4)运用膨胀的方法分别对两帧边缘检测后的图像进行形态学处理。
(5)最后对两帧处理后的图像进行与操作,得到目标图像。
3 实验结果及分析
本文以Visual Studio2019为软件平台,借助Opencv库函数采用C++编程语言对算法进行改进和优化,实验中所用的视频是用手机拍摄的一段车辆行驶的视频,本文选取其中的第70帧和90帧图片进行实验结果分析,实验结果图如图1和图2所示。
实验结果表明,传统的算法检测出的运动车辆目标边缘并不连续并且内部会产生空洞。本文改进的算法检测出的运动车辆目标边缘连续,能够得到比较完整的运动车辆轮廓,并且填充了部分空洞,可以更清晰完整地检测出运动车辆目标。
4 结论
本文对传统的三帧差分运动目标检测算法进行改进,加入了自适应的边缘检测算法和数学形态学算法进行处理。通过加入边缘检测算法解决了目标边缘不连续的问题,对阈值进行自动选取提高了算法的自适应能力,最后采用形态学算法填充了运动目标的部分空洞,得到了更清晰完整的运动目标。本文算法解决了传统算法中检测的目标不完整和自适应差的问题。实验结果表明本文的改进算法计算量小,实时性强,能更清晰完整地检测出运动车辆目标。
参考文献:
[1]骆且.运动车辆检测与跟踪方法研究与实现[D].江苏:扬州大学,2014.
[2]姜惠云,吴晓娟,王孝刚,张小燕.运动检测算法的研究和仿真实现[J].电气电子教学学报,2009,31(03):56-59.
[3]陈宝远,霍智超,陈光毅,等.一种改进的三帧差分运动目标检测算法[J].应用科技,2016,43(2):10-13.
[4]卞桂平,秦益霖.基于Canny算法的自适应边缘检测方法[J].电子设程,2017,25(10):53-56+60.
[5]陈尹刚.基于数学形态学图像处理算法研究[J].信息通信,2019(12):67-68.
[6]钱月.基于MATLAB的图像形态学处理技术与应用[J].内江师范学院学报,2019,34(10):51-55.
[7]Amin Nazerzadeh,Afsaneh Nouri Houshyar,Alireza Jahed.An Intelligent Algorithmfor SkinCancer Detection[J].Intelligent Control and Automation,2020,11(01).
基金项目:辽宁省自然科学基金项目(2015020061)
作者简介:傅莉(1968—),女,汉族,辽宁凤城人,博士,教授,研究方向:模式识别与智能系统。