kaiyun官方注册
您所在的位置: 首页> 显示光电> 设计应用> 一种改进的融合帧差法的ViBe算法
一种改进的融合帧差法的ViBe算法
2016年微型机与应用第04期
史瑞环,吴斌,李务军,范风兵
(西南科技大学 信息工程学院,四川 绵阳 621010)
摘要:ViBe运动目标检测算法速度快,能有效抑制噪声,但在光照强度突然改变的情况下,该算法会造成大面积的背景像素被误判为前景像素,针对此问题提出一种改进的融合帧差法的ViBe算法。实验结果表明,改进的算法能在光照有变化时依然能检测到完整的运动目标。
关键词: Vibe 目标检测 帧差法
Abstract:
Key words :

  史瑞环,吴斌,李务军,范风兵

  (西南科技大学 信息工程学院,四川 绵阳 621010)

摘要ViBe运动目标检测算法速度快,能有效抑制噪声,但在光照强度突然改变的情况下,该算法会造成大面积的背景像素被误判为前景像素,针对此问题提出一种改进的融合帧差法的ViBe算法。实验结果表明,改进的算法能在光照有变化时依然能检测到完整的运动目标。

 关键词: ViBe;目标检测; 帧差法

0引言

  随着互联网和物联网的飞速发展 ,近年来智能安防监控得到了广泛的关注和应用。前景目标的提取是运动视频分析的关键步骤,提取的目标是否准确完整将直接影响到后续的目标分类、目标跟踪和识别的准确率。

  目前,常用的运动检测方法有:帧差法、背景差法、光流法[1]。其中,背景差法应用最为广泛,核心原理是为每一个像素点建立一个背景模型,然后用模型与当前像素相比,以确定是否为背景像素。经典的背景差法是GMM[2],它将单一像素点所呈现的颜色用M(一般取 3~5)个高斯分布来近似,能处理多模型背景场景,但是它的计算量非常大,需要估计分布的参数,而且更新参数难调试。

  2009年,BARNICH O等人[3]提出了一种全新的背景差算法——ViBe算法,只通过在每个像素领域内随机选取若干个采样点对各像素建立一个样本模型,采用随机的方法更新背景模型。对比其他一些前沿的背景提取方法,ViBe算法简单,有效地简化了程序,加快了对于帧的处理速度的同时,可以达到较高的准确度,增强了抗噪能力并减少了计算负载[4]。但是该算法在背景光照突然发生变化时会将大面积的背景误判为运动前景[5],导致检测出的目标无法识别。针对此问题,本文结合帧差法对ViBe算法进行改进,实验结果验证了改进算法的有效性。

1ViBe和帧差法的算法原理

  1.1ViBe算法

  ViBe算法主要包括工作原理、初始化方法、更新策略三个方面。

  (1)工作原理

  ViBe算法为每个背景点存储了一个样本集,然后将每一个新的像素值和样本集进行比较来判断是否属于背景点。如果一个新的观察值属于背景点,那么它应该与样本集中的采样值比较接近。图1展示了ViBe算法如何判断像素点是否为前景点。

001.jpg

  记v(x)为x点处的像素值,M(x)={v1,v2,…,vN}为x处的背景样本集(样本集大小为N),SR(v(x))是以x为中心、R为半径的区域。如果SR(v(x))∩{v1,v2,…,vN}大于一个给定的阈值#min,则认为x点属于背景点。

  (2)初始化方法

  初始化就是建立背景模型的过程。ViBe的初始化利用了相近像素点拥有相近的时空分布特性,仅通过一帧图像即可完成,极大地提高了算法的实时性。具体就是:对于一个像素点,随机地选择它的邻居点的像素值作为它的模型样本值。

  (3)更新策略

  BARNICH O在参考文献[6]中提到,好的更新方式是让采样值在模型中的概率单调降低。ViBe算法采用一种无记忆背景更新策略,从每个点的八邻域中随机选取一个样本,替代原有背景模型中随机选取的一个样本,这样既保证了样本在背景模型中存在寿命的平滑指数衰减,又避免了先入先出方法造成的变化速度不能正确处理的问题。同时采用随机邻域传播机制,即背景模型中的样本也要更新对应的邻域,这样有效地保证了空间的一致性,可以随时间恢复被前景遮挡的背景像素。

1.2帧差法

  帧差法[7]的基本原理是将连续视频序列中的两帧或3帧图像的像素点相减,然后通过比较相减得到的差值与预先设定的阈值相比较来确定视频序列中移动目标的运动的区域。对于一段视频序列,用当前帧图像fm(x,y,t)减去前一帧图像fn(x,y,t-1),最后得到二值图像 fj(x,y)。用式(1)表示如下:

  fj(x,y)=1,|fm(x,y,t)-fn(x,y,t-1)|≥X

  0,|fm(x,y,t)-fn(x,y,t-1)|

  其中,fm(x,y,t)是当前帧的输入图像,fn(x,y,t-1)是前一帧输入图像,fj(x,y)是检测到的二值图像,X是设定的阈值。

  帧差法是根据相邻帧差值与阈值X的大小来判断像素点属于运动前景还是背景,如果相邻帧差值的绝对值大于等于阈值X,则该像素是前景像素,反之为背景像素。

2融合帧差法的ViBe算法

  ViBe算法速度快,能有效抑制噪声,检测效果完整准确,但却在光照变化时几乎检测不到准确的目标。而帧差法算法实现简单,检测速度快,实时性好,受光线变化的影响小。

  根据以上分析本文采用帧差法来改进ViBe算法。对于一段视频,首先,从第二帧开始对输入的当前帧图像是否有光照变化进行判断,然后根据判断结果选择使用的目标检测算法和检测结果。即计算当前帧与前一帧图像像素值的变化程度,当像素值的变化大于等于预先设定的阈值时表明当前帧光照有变化,则将帧差法处理的结果和ViBe算法处理的结果做与运算,作为当前帧的目标检测结果。当像素值的变化小于设定的阈值时表示当前帧光照无变化或变化不明显,则ViBe算法的处理结果作为当前帧的目标检测结果。最后再通过形态学处理掉一些孤立的噪点得到完整的目标图像。具体的算法流程图如图2所示 。

002.jpg

  当前帧像素值的变化大小用M表示:

  M=∑N|fm(x,y,t)-fn(x,y,t-1)|(2)

  其中,N是图像的大小,fm(x,y,t)是当前帧图像,fn(x,y,t-1)是前一帧图像。光照变化可能是变亮,也可能是变暗,所以式(2)中加了绝对值。当M≥T(T为阈值)时,表明当前帧与前一帧相比,有光照的变化;当M

3实验结果与分析


003.jpg

  为了验证算法的有效性,本文选取了一段有光照强度变化(像素值变化了30~40)的车辆视频做测试,该视频的帧率为15帧/秒,分辨率为160×120,格式为AVI。实验效果对比如图3所示,第71帧与前一帧相比无光照变化,39、77帧与前一帧相比有光照变化。根据实验结果可以看出ViBe算法在光照不变的情况下检测效果很好,但是在光照变化的情况下,出现了大面积的像素点误判。改进之后的ViBe算法不再受光照变化的影响,依然可以检测到运动目标,大大提高了ViBe算法在光照变化时的目标检测准确率。

4结论

  将ViBe算法与帧差法融合在一起,根据阈值判断当前帧图像是否发生了光照变化来决定最终目标检测结果的算法,在监控视频中有光照变化的情况下依然可以检测到近乎完整的目标。但是ViBe算法还存在对阴影敏感和鬼影[8]长时间不能消除的问题,这将是下一步的研究计划。

参考文献

  [1] PANDER R P,MISHRA N D,GULBANE S, et al. Detection of moving object with the help of motion detection alarm system in video survelliance[J].Journal of Signal and Image Processing,2012,2(3):118121.

  [2] STAUFER C,GRIMSON W E L.Adaptive background mixture models for realtime tracking[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1999(2):241252.

  [3] BARNIEH O,VAN DROOGENBROECH M.ViBe:a powerful random technique to estimate the background in video sequences[C]Proceedings of IEEE International Conference on Acoustics,Speech and Signal Processing,IEEE,2009:945948.

  [4] 邱祯艳, 王修晖. 一种结合Grabcut的Vibe目标检测算法[J].中国计量学院学报,2012,23(3):250256.

  [5] 严红亮, 王福龙, 刘志煌, 等. 基于ViBe算法的改进背景减去法[J].计算机系统应用,2014(6):130134.

  [6] BARNICH O, M. VAN DROOGENBROECK. ViBe : A universal background subtraction algorithm for video sequences[J]. IEEE Transactions on Image Processing, 2011,20(6):17091724.

  [7] SAMUELE S, ANDREA C, LUIGI D S. Adaptive appearance modeling for video tracking: survey and evaluation[J]. IEEE Transactions on Image Processing, 2012,21(21):43344348.

  [8] 张杜, 陈元枝, 邱凭婷.基于ViBe算法及Canny边缘检测的运动目标提取[J]. 微型机与应用,2015,34(14):3638.


此内容为AET网站原创,未经授权禁止转载。
Baidu
map