改进型ViBe算法及其在运动目标提取中的应用

2019-09-10 21:52杨青张著洪

杨青 张著洪

摘 要:提出一种基于阈值半径自适应更新及阴影与鬼影检测的改进型ViBe算法,解决运动场景下ViBe算法的目标提取效果易受背景高频扰动、摄像机抖动、阴影、鬼影的影响问题。算法设计中,依据当前帧的像素点梯度与背景图序列对应像素点的灰度均方差设计阈值自适应更新策略;依据背景图在HSV空间中的像素值设计阴影去除规则;利用前景-邻域直方图的相似度匹配规则设计鬼影清除规则。实验结果表明,改进型ViBe算法在保留原有的高效性的同时,能够较好地消除视频图像中隐含的阴影和鬼影,以及抖动对目标提取的影响。

关键词:ViBe算法;鬼影检测;阴影消除;阈值半径自适应更新

中图分类号:TP391

文献标识码: A

运动目标检测与跟踪是动态场景下运动目标行为分析的关键问题,也是视频分析的重要环节,对有效提取运动目标和正确分析目标的运动行为具有重要的现实意义。已有的背景建模法种类繁多,如帧间差分法[1]、基于关键点的建模法[2]、光流法[3]、混合高斯算法[4]、ViBe算法[5]等。ViBe算法是一种被较为广泛采纳的背景建模方法,由于其不考虑目标运动速度对目标提取效果的影响,因此相较于帧间差分法和基于关键点的建模法,获得的噪声模型更能恰当反映实时场景的背景状况;与此同时,相较于光流法和混合高斯算法,ViBe算法的设计思想简单、计算量小,能满足实时目标检测的要求。可是,该方法的随机更新策略也导致目标提取的效果受到鬼影、阴影、背景高频扰动和摄像机抖动的影响。鬼影是因视频初始帧存在运动目标而产生,其对后续目标的检测会造成较大影响;已有研究成果中[6-8],胡小冉[6]利用视频帧前n帧构建初始背景,进而此背景进行背景建模。该方法在背景简单情形下,运动目标提取的效果较为明显,但在当场景较为复杂时其自适应能力弱。阴影是由运动目标受到光源的照射而产生[9-10],其包含目标的轮廓和位置信息,对目标与背景分离处理会产生较大影响;张荣刚[11]利用视频帧的色度信息确定候选阴影区域,并借助区域梯度阀值消除目标提取时的阴影信息;该方法在一定条件下可获得较好的目标提取效果,但鲁棒性差且计算量大。对于影响背景建模的高频扰动和摄像机抖动抑制问题,闵卫东[12]提出一种自适应动态阈值方法来提取背景信息,但对光照的灵敏度高且较难抑制抖动的影响;随后,莫邵文[13]等借助时间子采样因子的自适应策略,利用闪烁程度矩阵设计自适应匹配阈值方案,进而在传统ViBe算法基础上获得改进型视觉背景提取方法,能解决抖动问题,但鲁棒性有待提高。

综上,尽管对ViBe算法的改进已有一定的成果,但大多以削弱基本ViBe算法的固有特性为代价来换取前景效果的提升,算法的鲁棒性和运行效率均有待提高。为此,本文在文献[13]的算法基础上,提出一种改进型ViBe方法(Improved ViBe Approach, IViBeA)。实验表明,该方法能较好地消除鬼影、阴影、高频扰动、摄像机抖动对背景建模的影响,使目标提取的效果较好。

1  基本ViBe算法的描述与分析

ViBe算法是由Barnich等[14]于2011年提出的一种基于像素级的背景建模方法。它相较于经典的基于运动特征的前景检测算法,首次把随机抽样思想和邻域传播机制引入到背景建模和更新中。 由于它利用视频序列的第一帧初始化背景模型,所以具有很高的实时性和鲁棒性[15]。算法的描述如下:

2 IViBeA的设计与描述

ViBe算法的随机抽样和无记忆的背景灰度值更新策略使得它获得的前景效果较好[16-18],可是鬼影、阴影、背景高频扰动和摄像机抖动现象制约着其广泛应用。针对于此,围绕阈值半径R的自适应性以及鬼影和阴影的清除问题提出改进策略。具体如下:

(1)阈值半径的自适应性

在背景高频扰动及摄像机抖动场景下,如果当前灰度图中像素点的邻域半径R保持不变,则从该图中提取的前景必包含多个噪声点,从而影响前景提取的效果。另一方面,背景的复杂程度也影響R的设置;若背景较复杂,则R需取较大的值,反之则需取较小值。因此,R的取值应随着当前场景的变化而作自适应调整。在此,将当前灰度图中像素点(x,y)的梯度信息Grad(x,y)和K个背景图在像素点(x,y)处像素值的均方差σ(x,y)加权来刻画当前灰度图在该点处的背景复杂程度,即

(2) 阴影检测

在动态场景下的目标检测中,阴影通常是在光源较强下由目标形成的伪目标区域,在目标提取时常与目标一起被提取,因此设计阴影去除策略显得尤为重要。基于色度的阴影检测是目前应用最广的方法,如文献[19]利用阴影在HSV空间中具有稳定的特征,得到当前帧图像的阴影在所在区域内每个像素点处的色度H、饱和度S、亮度V之和小于背景图像中对应点的色调h、饱和度s、亮度v之和的结论。基于此,引入检测当前帧的像素点是否为阴影点的规则,即若当前帧中位置(x,y)处的H、S、V的平方和小于K个背景图中对应点的平均色度h-、平均饱和度s-和平均亮度v-的平方和,以及当前帧位置(x,y)处的亮度V在[av-,v-]内,则当前帧中像素点(x,y)为阴影点,否则则为前景点。在此,a为阴影调节因子且0.5≤a<1。

(3)鬼影检测

基本的ViBe算法中并未涉及鬼影去除的方法,因而不能及时、有效地去除鬼影。文献[20]利用当前帧的前景区域与前第n帧的同一位置的前景区域的颜色直方图来检测鬼影,可以较好地识别鬼影,但需保存额外的n帧信息且没有采取有效的鬼影消除手段,致使鬼影存在的区域对后续目标检测造成影响。在此,通过前景-邻域直方图的相似度匹配方式检测鬼影是否存在,进而利用鬼影区域对背景模型进行二次更新。具体而言,假设当前帧中有m个前景区域, F1, F2,…, Fm; 区域Fk的最小矩形框设为Bk,在Bk中去除Fk之后获得的区域用Gk表示(在此,称为邻域)。于是,鬼影检测规则是:若Fk和Gk依次对应的直方图的相似度大于阈值T,则前景区域Fk为鬼影,否则则为前景。图1~2给出了前景-邻域的直方图分布。

以上算法中,通过步5.1给每个像素点i设定一个自适应阈值半径,使其能够适应各种复杂场景,增强算法的鲁棒性,同时在算法中加入鬼影和阴影检测策略,避免了后续处理中对图像整体的遍历,可极大削减计算量。

3 数值实验

本实验在Windows7(CPU/3.70 GHz,RAM/4GB)/python3.6/OpenCV 3.4环境下进行。为检测以上算法在视频帧出现背景高频扰动及摄像机抖动和含有阴影、鬼影情形下是否能有效提取运动目标,选取参与比较的算法包括三帧差法、GMM和ViBe算法。测试样本为4组开源视频(A1:PETS2006; A2: Canoe; A3: Traffic; A4: Weizeman),如下图3所示。参与比较的算法的参数设置与相应文献的参数设置相同;IViBeA的参数设置是:背景模型数N=20, 背景更新概率p=1/16,匹配阈值σ=2,初始半径阈值R0=35,背景复杂度阈值H=20,阴影检测因子a=0.65,鬼影检测阈值T=0.8。

(1)算法比较分析

在图3的视频序列中,视频序列(a)的场景为交通车辆场景,场景中摄像机存在抖动;视频序列(b)为公园小湖中划船场景,场景中存在水纹;视频序列(c)为室内商场场景,运动目标随带有阴影;视频序列(d)为视频第一帧包含运动目标的场景。依据本文要处理的问题,分析以上视频是否存在摄像机抖动现象、背景高频扰动、阴影和鬼影。将以上四种算法依次作用于视频序列(a)~(d), 各算法获得每种视频的目标提取效果图(Traffic第715帧、Canoe第868帧、PEST2006第109帧、Winzeman中daria_walk的第18帧)如图4所示。

借助图3的视频序列,图4表明,以上四种算法获得的目标提取效果有明显差异。虽然三帧差法对光照不敏感且处理速度快,但获取目标的信息量较少,仅能获取目标的轮廓信息,因此仅适用于背景较为简单的场景且要求运动目标的运动速度快。相较于此方法,GMM、ViBe、IViBeA具有明显优势;GMM能较完整地提取目标信息,不会存在鬼影现象,但对光照敏感且较难清除阴影,不适用于存在背景高频扰动及摄像机抖动的场景;ViBe能较为完整地提取目标信息且有一定的阴影去除能力,但对噪声干扰较大的信息较难清除,且也不能及时去除鬼影;IViBeA不仅具有GMM、ViBe的优点,而且对于干扰较大的噪声具有强的抑制能力,能够及时检测出阴影和鬼影,适用于现实环境中的多种场景。

4 结论

为了解决ViBe算法应用于运动目标提取易受背景高频扰动、摄像机抖动、阴影及鬼影影响的问题,本文在分析ViBe算法存在的缺陷基础上,提出一种改进型ViBe算法。该算法利用自适应阈值增强算法对环境的适应能力,可有效消除背景高频扰动和摄像机抖动对目标提取的影响。针对前景中包含阴影或鬼影的问题,在检测出前景点基础上,结合阴影点在HSV空间的分布情况,设计一种阴影检测策略,并在消除阴影后利用前景-邻域直方图相识度匹配及背景二次更新策略消除阴影和鬼影对目标提取的影响。实验结果表明,以上改进型ViBe算法能有效抑制背景高频扰动、摄像机抖动、阴影与鬼影对目标提取的影响。

参考文献:

[1]唐佳林, 李熙莹, 罗东华,等. 一种基于帧差法的夜间车辆检测方法[J]. 计算机测量与控制, 2008, 16(12): 1811-1813.

[2]魏洪峰,韩志艳.运动目标检测与跟踪[J].渤海大学学报(自然科学版),2017,38(4):370-377.

[3]杨叶梅. 基于改进光流法的运动目标检测[J]. 计算机与数字工程, 2011, 39(9): 108-110.

[4]焦波, 李国辉, 涂丹,等. 一种用于运动目标检测的快速收敛混合高斯模型[J]. 中国图象图形学报, 2008, 13(11): 2139-2143.

[5]Yu Y, Cao M, Yue F. EVibe:An improved Vibe algorithm for detecting moving objects[J]. Chinese Journal of     Scientific Instrument, 2014, 35(4):924-931.

[6]胡小冉, 孙涵. 一种新的基于ViBe的运动目标检测方法[J]. 计算机科学, 2014, 41(2): 149-152.

[7]陈亮, 陈晓竹, 范振涛. 基于Vibe的鬼影抑制算法[J]. 中国计量大学学报, 2013, 24(4): 425-429.

[8]金标, 胡文龙. 基于边缘相似性的背景差鬼影判别方法[J]. 计算机工程, 2011, 37(11):1-3.

[9]Leone A, Distante C. Shadow detection for moving objects based on texture analysis[J]. Pattern Recognition, 2007, 40(4):1222-1233.

[10]付萍, 方帅, 徐心和,等. 视频监控系统中运动目标检测的阴影去除方法[J]. 計算机工程, 2007, 33(10):22-24.

[11]张荣刚, 顾强. 基于ViBe的动态目标检测算法优化[J]. 机械与电子, 2017, 35(4): 21-26.

[12]闵卫东, 郭晓光, 韩清. 改进的ViBe算法及其在交通视频处理中的应用[J]. 光学精密工程, 2017, 25(3): 806-811.

[13]莫邵文, 邓新蒲, 王帅,等. 基于改进视觉背景提取的运动目标检测算法[J]. 光学学报, 2016(6): 196-205.

[14]Su Y, Li A. Improved visual background extractor model for moving objects detecting algorithm[J]. Journal of Computer-Aided Design & Computer Graphics, 2014, 26(2):232-240.

[15] Zhu Z, Chi C, Zhao Y. Multi-scale based enhanced ViBe for background modeling[J]. Journal of Beijing Jiaotong University, 2015, 39(2):1-6.

[16]吴珍荣, 毛征, 曲劲松,等. 一种改进的快速目标检测算法[J]. 中国科技论文, 2013, 8(4): 327-329.

[17]Wang H, Song J X. Threshold based adaptive vibe target detection algorithm[J]. Computer Science, 2015, 42(6A):154-157.

[18]Sun S, Qin Y, Xianbing M A. ViBe foreground detection algorithm and its improvement with morphology post-processing for outdoor scene[J]. Computer Engineering & Applications, 2013, 49(10):159-162.

[19]徐柱. 运动目标检测与阴影消除的研究[D]. 苏州:江苏大学, 2010.

[20]吴亮, 周东翔, 范才智, 等.基于直方图匹配的鬼影检测算法[J]. 计算机工程与科学, 2008(7):57-60.

(责任编辑:曾 晶)