融合改进的三帧差分和ViBe算法的运动目标检测

2020-07-06 13:35王春丹谢红薇李亚旋
计算机工程与应用 2020年13期
关键词:像素点差分前景

王春丹,谢红薇,李亚旋,张 昊

1.太原理工大学 软件学院,太原 030024

2.太原理工大学 信息与计算机学院,太原 030024

1 引言

运动物体检测[1](前景检测),即在视频中识别运动目标(前景)和相对静态部分(背景)的过程。它是运动分析、视频监控的关键步骤,也是最基础和重要的步骤。常见的检测算法有背景减法、帧差法和光流法等。背景减法[2-4]是先建立背景模型,当前帧减去背景模型即可得到前景。背景减法计算过程简单、计算量小,可满足实时性的要求和解决帧差提取目标存在内部空洞问题,但不适合光照变化、相机抖动等背景噪声大的环境[5]。背景减法包括:背景建模、前景提取和前景检测三个步骤,其中背景减法最重要部分是背景建模[6]。常用的背景建模有单高斯模型[7]、混合高斯模型[8-9]以及ViBe(Visual Background extractor)算法等。

针对其减少计算量、提高实时性检测和减少内存消耗的问题,Barnich 等人在 2011 年提出了 ViBe 算法[10]。ViBe 算法是一种鲁棒性强的非参数背景模型算法,具备占用内存低和高效的优点。但是ViBe算法使用第一帧图像获得初始化背景模型,会产生拖影,影响背景检测的准确性;背景更新过程采用固定阈值区分前景和背景,在刮风天气引起的树叶摇摆、湖面水纹波动等动态背景下,都有可能被检测为前景。ViBe 算法背景模型更新速度过快,将缓慢运动的目标误检为背景或噪声,造成检测目标的准确性和完整性下降。

针对上述问题,文献[11]采用结合三帧差分和边缘检测技术进行ViBe 算法的改进,对缓慢移动的目标其检测完整性和准确性还是有影响;文献[12]针对每个像素设定阈值,提高前景检测的精确度,但是还存在较多噪声点在大范围的动态背景下;文献[13]提出将ViBe算法与Canny边缘检测[14]结合进行运动目标提取,改善拖影的现象,在光照突变和树叶晃动的复杂背景下,抗干扰能力较差。本文算法在初始化背景模型阶段,选用在多帧图像使用基于Canny的三帧差分改进算法,改善初始背景模型造成的拖影现象;使用自适应阈值调整固定阈值和背景更新率,提高其在相对动态背景下的准确率;使用改进的ViBe算法和三帧差分融合,提高目标的完整性。

2 ViBe算法原理

2011年,Barnich提出了ViBe[10]算法,是一种高效快速提取前景的算法,ViBe算法计算过程简单,鲁棒性和实时性较高。主要是从以下三方面来体现。

2.1 模型的初始化

首帧图像所有像素点构成的样本集合就是初始化背景模型。第一帧的某个像素点x的背景像素值从领域中随机选取N个样本,作为像素点x的样本集第一帧图像中每个像素点都存储了样本集,这些样本集构成了初始化的背景模型。

2.2 前景检测

在前景检测过程中,像素点x处新的像素值和样本集合中的元素比较判断,确认是否属于前景。样本集合的大小为N,以x为中心,R为半径建立一个二维欧几里得色度空间的球体SR(v(x)),如图1所示。

图1 色度空间的球体SR(v(x))

当前帧某像素点x处的像素值与该点历史样本集合值作差并且与R进行比较,比R小的值存储在中,即计算集合M(x)与区域相交的样本个数,如公式(1)所示:

2.3 背景模型的更新策略

3 改进的ViBe算法

ViBe 算法首帧建立初始化模型,会出现漏检和检测错误的现象;固定阈值和背景更新率分别用于前景检测和更新背景模型,不适合多扰动的背景环境。三帧差分算法利用相邻的三帧相减提取出相邻帧间运动的前景目标,计算简单,速度快,但是捕捉到的目标轮廓不完整。本文算法使用基于Canny 的三帧差分改进算法构建ViBe 算法中的背景模型,提高其检测的准确性减少漏检现象。根据公式设置调整因子,动态调整判断阈值和背景模型更新率以适应多扰动的背景环境。改进后算法与三帧差分算法结合,提高检测目标的完整性。如图2所示。

3.1 背景模型的改进

为了消除初始帧造成的拖影,选取视频多帧使用基于Canny 的三帧差分改进算法构建背景样本模型。在视频多帧图像中,随机选取k帧图像的每个像素在领域中存储N个值为。在相邻帧间使用基于Canny的三帧差分改进算法取帧差,存储相邻帧差。选用k帧图像每个像素在领域中存储N个值和三帧帧差值作为背景模型。三帧帧差是由基于Canny 的三帧差分改进算法获取。如公式(3)所示,是多帧图像建立的背景模型,即是由该帧x像素点的样本集合和相邻之间的帧差构成的,例如和表示的是相邻三帧x位置处的像素值,帧差值存储得到Nk,最终得到Dk作为背景模型样本值。

图2 改进ViBe算法的框架图

3.2 阈值自适应调整因子

ViBe 算法在模型更新中,固定的半径R和更新率T不适合在真实背景环境。为适应多模态的场景,本文根据背景的复杂程度来调整更新率T(P)和半径阈值。第k帧中x位置的新像素点与其样本集合之间的距离差异反映当前位置像素点的差值,即反映像素级的背景复杂程度,忽略了背景变化中存在的空间相关性。将帧差值作为背景模型中的一部分,填补像素级存在的信息不充分的问题,第k帧中x位置的新像素点与其样本集合之间的最小距离值与背景模型中存储的三帧差分值比较,获取最小值表示当前位置像素点的复杂情况,如公式(4)所示:

3.3 前景目标的完整性

在背景模型更新阶段,应用自适应调节因子提高检测运动目标的准确性。在光照突变、相机抖动和树叶晃动的背景环境下,为提高其检测准确性和完整性。将三帧差分和改进ViBe 算法的结合获取到前景目标,通过逻辑或、逻辑与、中值滤波操作和形态学滤波操作得到最终的前景目标,这样就形成优劣互补,提高目标检测的准确性和完整性。改进ViBe算法得到的前景目标经过中值滤波(用于保护边缘信息)和形态学滤波处理(消除噪声和填补空洞),最终得到前景图像。三帧差分提取到的前景目标,对三帧差分和改进ViBe 算法得到的前景目标进行逻辑“或”运算,如公式(8)所示:

上述获得的结果再和改进ViBe算法进行逻辑“与”运算,如公式(9)所示:

公式(9)的处理前景目标经过形态学滤波操作,形态学操作包括开运算(消除小物体或小斑块)和闭运算(填充孔洞),其中B表示大小为(3,3)的内核矩阵,最终得到三帧差分和改进ViBe 算法结合获得的前景目标。公式(10)和(11)如下所示:

选用Highway 测试视频中第273 帧图像截取三帧差分和改进ViBe 算法进行逻辑或、逻辑与和形态滤波处理,每一步处理过程结果展示如图3所示。

图3显示的结果表明,三帧差分算法提取到的运动目标,还存在着噪声和完整性的问题;改进后的ViBe算法提取到的运动目标较为完整;将改进后的ViBe 算法和三帧差分算法提取到的运动目标进行逻辑或操作,提高目标检测的完整性,但还存在树影噪声的影响;将逻辑或得到的目标和改进ViBe 算法进行逻辑与操作,消除噪声的影响。最终将得到的前景目标再经过形态滤波处理,得到最终的前景目标。

图3 Highway测试视频检测结果展示

4 实验分析

本文算法的实验代码硬件环境:Intel i5,3.4 GHz CPU,RAM 8 GB。软件环境:64位Windows10操作系统,Visual Studio 2013,OpenCV 2.3。背景模型建立参数m=100,N=20,R=20。

采用ChangeDetection(CDnet2014)数据集,提供室内室外逼真和实用性的视频(包括共11 类有挑战性的场景),大约有16万帧视频[16]。实验选用有树枝晃动、行人运动、抖动相机和运动缓慢的目标4 种情况的视频,即4 组测试数据集5 569 张(Highway:1 700、PETS2006:1 200、traffic:1 570 和 Pedestrians:1 099)图像序列完成实验的比对。本文算法与ViBe原始算法和融合边缘检测的三帧差分算法进行实验比对,从定性和定量两个角度对其算法其结果的进行评价。

4.1 定性评价

定性评价是由人眼观察检测结果得出的主观量度[17],图4给出了前景目标结果样例。图3第一列是Highway测试视频在第1 638帧的效果对比,由于大风天气造成树枝晃动和树影变换,文献[18]算法在车辆挡风玻璃上漏检了前景像素点,在树枝晃动区域出现了噪声;文献[10]算法和本文算法有效地填补前景空洞和抑制去除摇曳树枝造成的干扰。第二列是Pedestrians 测试视频在第666 帧的效果对比,文献[18]算法检测到行人轮廓,漏检了行人的上半身和左腿前景像素点;文献[10]算法检测的行人头部前景像素不完整;改进的ViBe 算法检测到行人整体像素点,没有出现漏检的现象。第三列是traffic 测试视频在第1 548 帧的效果对比,相机的抖动对背景干扰很大,文献[18]和文献[10]算法出现误检,抖动相机造成晃动的树影和震动背景像素点误检为前景。改进的ViBe 算法消除了背景噪声的干扰,提高了检测效果。

图4 实验检测结果对比

如图5 所示,第一行3 幅图像是PETS2006 测试视频的第542 帧、576 帧和699 帧的原图像,图像中红框标明的是缓慢移动的运动目标。第二行和第三行是文献[18]和文献[10]算法对应时刻的检测效果图,可以看出红框内前景像素已被吸收为背景像素,未能把目标完整提取出来。第四行是本文算法,可以看出本文算法检测红框内像素点较文献[18]和文献[10]算法效果更理想。

图5 PETS2006视频检测结果

表1 算法定量评价

4.2 定量评价

定量评价,选用精确度Precision、召回率Recall、评价F-measure 这3 个指标用于评估模型的性能[19]。前两者之间的取值范围在0到1之间,数值越接近1,代表的查准率或查全率越高,F-measure 是指前两者的调和平均值。如公式(12)~(14)所示,其中TP是正确检测为前景点个数,TN是正确检测为背景点个数,FP是误检背景的前景点个数,FN是误检前景的背景点个数。

表1列出了本文算法与文献[18]、文献[10]算法在3个样本测试视频的精确度Precision、召回率Recall、评价F-measure 指标值对比。由表1 数据所示,本文算法的Precision、Recall 和F-measure 指标值明显高于文献[18]和文献[10]算法。

5 总结

本文首先对运动目标检测的算法以及目前ViBe的改进方法进行介绍,在此基础上提出融合改进三帧差分和ViBe 改进的运动目标检测算法,选择在CDnet-2014数据集选用多扰动背景环境下进行有效测试。改进算法使用基于Canny 的三帧差分改进算法建立接近真实背景的背景模型,引入自适应调节因子根据背景的复杂程度调整阈值,将其提取到的目标与三帧差分算法结合提高目标的完整性和准确性。实验结果表明,本文算法能够在树枝晃动、相机抖动和目标体缓慢运动的背景环境下,得到完整和检测准确的运动目标,具有一定的实施性和有效性。

猜你喜欢
像素点差分前景
RLW-KdV方程的紧致有限差分格式
数列与差分
我国旅游房地产开发前景的探讨
基于局部相似性的特征匹配筛选算法
四种作物 北方种植有前景
离岸央票:需求与前景
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
量子纠缠的来历及应用前景