文献标识码: A
DOI:10.16157/j.issn.0258-7998.2017.04.033
中文引用格式: 胡昭华,张维新,王珏,等. 基于改进ViBe的运动目标检测算法[J].电子技术应用,2017,43(4):129-132,137.
英文引用格式: Hu Zhaohua,Zhang Weixin,Wang Jue,et al. Moving object detection algorithm based on improved ViBe[J].Application of Electronic Technique,2017,43(4):129-132,137.
0 引言
伴随计算机视觉[1]这门学科的发展,运动目标检测技术[2]成为视频运动目标分析的核心内容。如何消除光照的变化、背景的扰动或者摄像机的运动等问题带来的影响,提高鲁棒性,是近些年来研究的热点问题。
摄像机静止情况下的运动目标检测方法主要分为帧间差分法[3]、光流场法[4]和背景建模方法。比较流行的背景建模算法主要有STAUFFER C和GRIMSON W E L[5]提出的混合高斯背景模型,解决了多模态环境下颜色分布不集中的运动目标检测问题。BARNICH O等人[6,7]提出了ViBe(Visual Background Extractor)算法,具有很好的鲁棒性和实时性,但特定条件下会出现Ghost区域以及对于动态背景处理效果不理想等问题。针对ViBe算法的不足, GUANG A H等人[8]提出了自适应的距离阈值,对于和背景区分不开的前景取得了较好的效果。QIN L等人[9]在基于ViBe算法的基础上加入了Gabor滤波器,增加了Ghost区域的消融速度,并根据此滤波器更新模型。FAN Z等人[10]提出了使用空间信息和自适应阈值改进了ViBe算法在阴影检测方面的效果。
针对ViBe算法的不足,本文提出IViBe(Improved Visual Background Extractor)算法。通过帧间差分法消除Ghost区域的影响,并加入动态背景复杂度的度量,实时地更新距离阈值和背景模型的更新率,从而降低了动态背景对检测结果造成的影响。并利用全局补偿将该算法应用到了摄像机运动情况下的运动目标检测。
1 基于IViBe算法的运动目标检测
IViBe算法流程框架如图1所示。本文将从背景模型的建立、前景目标检测、Ghost区域的去除、基于动态背景复杂度的背景模型更新这几个方面介绍IViBe算法;最后联合运动补偿算法将IViBe算法应用到摄像机运动情况下的动态目标检测问题。
首先,利用视频序列的第一帧构建初始样本集;其次,对于下一帧图像,统计每个像素点与其对应背景模型的欧氏距离小于距离阈值的个数,称之为匹配个数,通过比较其与匹配阈值的关系,区分前、背景点。并与利用帧间差分法得出的前景点进行逻辑“与”运算得出最终的前景点检测结果;然后,若某一像素点为背景点,则按照一定的概率更新其对应的背景模型;最后,根据背景动态程度的度量值,实时更新距离阈值和更新概率。
1.1 背景模型的建立
ViBe算法利用相邻像素点具有相似空间分布的特点,对图像中每一个像素点构建一个样本集。假设第一帧图像中任一像素点I的坐标为(x,y),则在其8邻域内随机选取N个像素点作为像素点I的初始样本集中的样本值。设当前帧像素值为v(x,y),背景样本值为vi(x,y),则初始样本集为MI(x,y)={v1(x,y),v2(x,y),v3(x,y),…,vN(x,y)},至此,初始背景模型构建完成。
1.2 前景目标检测
在背景模型构建完成之后,对于新的一帧图像,计算像素点与样本集之间的欧氏距离,统计距离小于设定的距离阈值R的个数n(x,y),并与预先设定的匹配阈值min进行比较。当匹配个数n(x,y)小于阈值min,表示该像素点v(x,y)与该像素点的背景样本集相似程度较低,即被判断为前景点,反之则为背景点。
为了避免某一样本长期保留在背景模型中,从而影响背景模型的精确性,引入了随机更新机制,即当像素点完成判别之后,若该像素点属于背景点,则有1/δ(x,y)的概率更新背景样本集,即从背景样本中随机选取一个样本值vi(x,y)并用当前像素点v(x,y)取代。
1.3 Ghost区域的去除
在ViBe算法中,如果在视频第一帧中存在待检目标,或者当运动目标在视频中由运动目标转变为背景时,由于不能及时更新背景模型,从而导致在后续帧当中将背景误判为前景,即为Ghost区域。
在IViBe算法中通过帧间差分法得到的前景点与ViBe算法得到的前景点结果进行逻辑“与”运算,去除Ghost区域。
实验结果如图2所示,本实验选取的是Walking视频序列,由实验结果可以看出,经过ViBe算法得出的实验结果在第44帧检测出结果的同时仍然存在第2帧中的运动目标区域,即为Ghost区域,在图2(c)中以白色边框作为标记。而IViBe算法则成功地去除了Ghost区域,提高了检测结果的准确性。
1.4 基于动态背景复杂度的背景模型更新
在ViBe算法中,背景模型更新拥有一个固定的更新率1/δ(x,y),但对于动态背景情况下,例如水的波纹、树叶的抖动等,就会出现大量背景点被错误地检测为前景点的情况,所以固定的更新率和距离阈值不能很好地适用于动态背景。当背景动态程度变化时,如若背景中某一个像素点动态程度较高,则对应该点的像素值变化必然比较大,反之应该无变化或变化较小。所以本文提出利用像素值背景模型样本集的标准差σ(x,y)来度量背景动态程度。
本文根据动态背景复杂度σ(x,y)实时更新距离阈值,对于背景动态程度较大的视频序列,适当增大距离阈值,降低动态背景对检测结果造成的影响,反之则减小适当距离阈值。这样就可以保证R(x,y)一直处于合理的变化范围之内。距离阈值的更新公式如式(1)所示:
其中α,β是预先设定的一个系数,分别取值为0.16和0.01。
而对于背景模型更新概率1/δ(x,y),采用和距离阈值较为类似的处理方式对更新概率进行自适应处理。即当该像素点被判别为前景像素点时,适当减小背景模型更新概率,反之适当增大背景模型的更新概率,并且只有当该像素点为背景点时,才会进行背景模型的更新。背景模型更新方式如式(2)所示:
其中γ是预先设定好的系数,取值为0.1。
1.5 联合LK光流法及运动补偿的目标检测
LK光流法用于计算两帧图像中对应像素点运动信息,利用邻域信息匹配出光流矢量,从而形成了整幅图像的运动场。当物体和图像背景中存在相对运动时,运动物体所形成的速度矢量则必然不同于邻域背景的速度矢量,从而将运动物体的位置检测出来。
通过LK光流法求出每一像素点运动方向向量之后,通过对整幅图像采用线性插值定理就可以得到运动补偿后的图像。如图3所示,补偿过后的图像和第12帧灰度图像相比,消除了第12帧中的运动背景影响。
对补偿后的图像,利用帧间差分法得出补偿前景点,将IViBe算法得出的前景点结果与补偿前景点结果进行“与”运算,进而得出最终的前景点判别结果。
2 实验结果及分析
2.1 IViBe算法对一般动态背景的目标检测
本算法测试硬件平台为AMD A6,4 GB RAM,软件开发环境为Windows10、Matlab2014a。在本实验中,使用了20个样本值作为每个像素点的样本集,距离阈值初始值设为20,min设为2,背景模型的更新率初始值设为1/16,选取的视频序列集是changedetection数据集[11]中的动态背景中overpass、fountain01、canoe这3个视频序列完成IViBe算法对动态背景的鲁棒性测试,并选取了ViBe算法进行了对比实验。
图4~图6为IViBe算法在动态背景中的鲁棒性测试结果。在本文实验中的动态背景分别为水中波纹、树叶的扰动、喷泉。可以看出,IViBe算法可以很好地抑制动态背景的干扰。
为了进一步研究IViBe算法对目标检测的准确度,采用正确分类比PCC,对改进算法与原算法进行了对比,如式(3)所示:
其中,TP是正确检测为前景像素点的个数;TN是正确检测为背景像素点的个数;FP是被错误检测为前景像素点的背景像素点个数;FN是被错误检测为背景像素点的前景像素点个数。选取上述3个视频计算其PCC均值,并和原始ViBe算法进行了比较,如表1所示,可以看出IViBe算法相比于ViBe算法有了一定程度上的提升。
2.2 IViBe算法对摄像机运动情况下的动目标检测
由于ViBe算法是针对摄像机静止情况下的运动目标检测,并不适用于摄像机运动的情况,会产生大量的前景点,但是利用LK光流法通过连续两帧计算每个像素点的运动向量,并使用该运动向量对前一帧图片进行运动补偿,然后通过帧间差分法得到初始运动目标检测结果和利用IViBe算法对结果进行“与”处理,从而可以得出最终的运动目标检测结果。实验结果如图7所示。
在图7中,由于摄像机的运动使得ViBe算法检测出的结果中,大部分背景像素点都被错误地检测为前景点,如图7(c)所示,而根据全局运动补偿后,结合帧间差分法和IViBe算法得出的结果则大部分正确地检测出了被错误检测为前景点的背景点。
3 结束语
本文针对传统ViBe算法中Ghost区域以及在动态背景下的传统ViBe算法中大量背景点被错误检测为前景点这一缺陷进行了分析与改进。针对Ghost区域,本文采用了IViBe算法和帧间差分法的结合,通过前景点检测结果相“与”去除了Ghost区域。对于动态背景,本文采用了样本集的标准差作为该像素点的背景动态程度度量方式,利用此度量值实时地更新距离阈值和更新率,并测试了对于动态背景的鲁棒性,取得了良好的效果。最后,本文利用LK光流法进行全局运动补偿,并使用改进的ViBe算法和帧间差分法进行结合取代并不适用于摄像机运动情况下的ViBe算法,取得了良好效果。
参考文献
[1] KANATANI K.Statistical optimization for geometric computation:Theory and practice[J].University Japan,1996,32(6):646.
[2] YILMAZ A,JAVED O,SHAH M.Object tracking:a survey[J].Acm Computing Surveys,2006,38(4):81-93.
[3] 甘明刚,陈杰,刘劲,等.一种基于三帧差分和边缘信息的运动目标检测方法[J].电子与信息学报,2010,32(4):894-897.
[4] PAUL M,HAQUE S M E,CHAKRABORTY S.Human detection in surveillance videos and its applications-a review[J].Eurasip Journal on Advances in Signal Processing,2013(1):1-16.
[5] STAUFFER C,GRIMSON W E L.Adaptive background mixture models for real-time tracking[C].CVPR.IEEE Computer Society,1999:2246.
[6] BARNICH O,VAN DROOGENBROECK M.ViBe:A universal background subtraction algorithm for video sequences[J].IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society,2011,20(6):1709-24.
[7] BARNICH O,VAN DROOGENBROECK M.ViBE:a powerful random technique to estimate the background in video sequences[C].IEEE International Conference on Acoustics.IEEE,2009:945-948.
[8] GUANG A H,WANG J,XI C.Improved visual background extractor using an adaptive distance threshold[J].Journal of Electronic Imaging,2014,23(6):063005.
[9] QIN L,SHENG B,LIN W,et al.GPU-accelerated video background subtraction using gabor detector[J].Journal of Visual Communication & Image Representation,2015,32(C):1-9.
[10] FAN Z,LU Z,LI J,et al.Robust motion detection based on the enhanced ViBe[J].Ieice Transactions on Information & Systems,2015,E98.D(9):1724-1726.
[11] WANG Y,JODOIN P M,PORIKLI F,et al.CDnet 2014:An expanded change detection benchmark dataset[C].Computer Vision & Pattern Recognition Workshops.IEEE,2014:393-400.
作者信息:
胡昭华1,2,张维新1,王 珏1,邵晓雯1,卞飞飞1
(1.南京信息工程大学 电子与信息工程学院,江苏 南京210044;
2.南京信息工程大学 江苏省大气环境与装备技术协同创新中心,江苏 南京210044)