《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于改进的ViBe算法的红外目标检测
基于改进的ViBe算法的红外目标检测
2014年微型机与应用第13期
宋丹丹,安博文
上海海事大学 信息工程学院,上海
摘要: 针对ViBe算法第一帧图像中含有运动的目标时容易引入“鬼影”及不能完整提取前景目标的问题,在原算法的基础上融合帧间差分法、Canny边缘检测,采用中值滤波、形态学算子进行后处理。实验结果表明,本文算法能很快消除“鬼影”,并能比较完整地提取出红外运动目标。关键词: 背景建模;ViBe;红外目标检测;帧间差分法
Abstract:
Key words :

  摘  要: 针对ViBe算法第一帧图像中含有运动的目标时容易引入“鬼影”及不能完整提取前景目标的问题,在原算法的基础上融合帧间差分法、Canny边缘检测,采用中值滤波、形态学算子进行后处理。实验结果表明,本文算法能很快消除“鬼影”,并能比较完整地提取出红外运动目标。

  关键词背景建模;ViBe;红外目标检测;帧间差分法

  运动目标检测是计算机机器视觉研究的一个重要研究领域,它是目标跟踪和视频图像分析的基础,在视频监控、智能交通、医学图像处理等方面有着广泛的应用,具有重要的应用价值和广阔的发展前景。红外视频图像利用热量成像,可以透过黑暗和烟雾,在夜间成像光线不足等情况下比可见光图像容易发现目标。红外视频图像不易受光线影响,背景比较简单。目前,越来越多的目标检测应用从可见光视频方法转向红外视频或者可见光与红外视频相结合的方法。

  背景差分是运动目标检测中一种重要且广泛应用的方法,算法的关键是背景建模及更新。STAUFFER C等人[1]提出的混合高斯模型GMM(Gaussian Mixture Model)是最重要应用最广泛的一种背景建模方法。混合高斯模型中背景像素表示为多个高斯模型的加权和的形式,能够很好地模拟多峰背景的情况,当背景变化不剧烈时对动态背景也有一定的适应能力。其缺点是计算量比较大,实时性不够好,当光照剧烈变化或目标移动速度很慢时检测效果不好。BARNICH O等人[2]在2011年提出了ViBe(Visual Background extractor)算法,即视觉背景提取算法。该算法简单高效,计算量非常小,具有很高的实时性和鲁棒性。ViBe算法是一种可以通用的背景建模算法,能适用于很多动态变化的场景中。本文将ViBe算法引入到红外视频运动目标检测中。

  1 ViBe背景建模算法

  ViBe算法创新地运用随机过程的思想,背景建模及更新都采用随机的策略为每个背景像素点建立样本集合,是一种无参的像素级背景建模的算法。

  1.1 背景像素建模及分类过程

  模型的建立可以概括为对像素值分类的过程。每个像素点选取其邻域内N个像素点,用这N个样本点的集合来表示该像素。记M(x)={v1,v2,…,vN}为图像中x处的一个样本集合。为对该像素值v(x)进行分类,即判断是背景还是前景,采用如下的方法。定义一个以v(x)为圆心,R为半径的圆SR(v(x))。定义一个基数#来表示样本集合M(x)与圆SR(v(x))交集的个数。如果基数#大于等于给定的阈值#min,则该像素值被判为背景像素。即计算欧几里得距离:

  |v(x)-vi|>R,前景候选|v(x)-vi|≤R,背景候选

  其中,vi为样本集合,i=1,2,…,N。对像素点v(x)进行分类的过程并不需要计算N次,当满足|v(x)-vi|≤R的次数#达到#min,该点就被判为背景点,可以停止计算。这一过程如图1所示。

001.jpg

  1.2 背景模型初始化

  通常检测算法的初始化需要多帧视频序列来完成,要耗费数秒的时间,这极大降低了检测的实时性。ViBe算法的初始化仅仅通过一帧图像即可完成。由于背景像素值与其一个邻域内的像素值有相似的时域分布特性,因而对每个像素点,可以随机选择其邻域点的像素值来填充背景模型中的样本值。实验证明,每个像素点选取8连通邻域效果很好。设t=0时代表第1帧,NG(x)是位于x处的像素点的一个空间邻域。样本集合可表示为:

  M0(x)={v0(y∈NG(x))}(1)

  其中,y是在空间邻域内等概率随机选取的。这种初始化方法的优点是对噪声的反应比较灵敏,计算量小,可以很快地进行运动物体的检测;缺点是当第1帧视频含有运动目标时,容易产生鬼影。

  1.3 背景模型的更新

  背景模型的更新就是使背景模型能够适应背景的不断变化,如光照的变化、轻微的树枝摆动、新目标的出现等。传统的背景更新方法采用先进先出的方法来更新模型,丢弃旧的样本值并用新的样本值代替。ViBe采用保守的更新策略与前景点计数相结合的方法。保守的更新策略是指像素值只有被判为背景才能加入模型中,只有背景样本中的像素点才进行更新。采用前景点计数,对前景像素点进行统计,如果次数超过了特定像素区域给定的阈值,则将其更新为背景模型。这样能够将背景中突然停靠并长时间逗留的前景目标去除,使其不被检测为前景目标,也可以更新被前景挡住的背景像素模型。该算法不是每一帧都更新,采用随机的二次采样,每个背景像素有1/φ的概率来更新背景模型。由于是等概率随机地对样本更新,模型中样本值在t时刻不被更新的概率是(N-1)/N,在时刻t+dt,样本值被保留的概率是:

  QI}2886VJ5MHGARY_J2_`0Z.png

  也可以写作:

  

  这表明在(t,t+dt)的时间间隔内,一个样本值在模型中是否被替换与时间t无关,是无记忆的。

  2 改进的ViBe算法

  ViBe算法初始化速度非常快,由1帧就可以完成初始化过程。但当第1帧图像中含有运动目标时,容易引入“鬼影”。针对这一问题,融入帧间差分法,可以快速消除鬼影,并提高检测的准确率。由于ViBe算法本身特有的背景更新机制在后续帧中可以消除鬼影,只需在前几帧图像中融入帧间差分法,这样既可以快速消除鬼影,又不会影响算法的实时性。

  具体算法如下。

  (1)前3帧与原ViBe算法结果相同,得到提取的前景目标图像。

  (2)用Fi表示ViBe算法处理后的第i帧的结果。将第3帧图像与第2帧作差分,采用OTSU分割算子[3]进行分割,得到二值化图像,使其与F3作与运算,去除掉F3中的部分鬼影。

  (3)将第4帧图像与第3帧作差分,采用OTSU算子进行分割,得到二值化图像,使其与F4作与运算,去除掉F4中的部分鬼影。

  (4)重复以上步骤,直至达到预定的帧数。

  由于噪声干扰、前景背景对比度低等原因会导致提取出的前景目标断裂不完整,不能对红外图像目标准确分割。经典的Canny算子[4]具有很好的边缘检测性,能够给出较为连续的边缘。因此,本文在原ViBe算法基础上结合边缘信息进行检测,可以提取出完整的红外目标。

  3 后处理

  经过图像分割后的二值图像,目标含有空洞、噪声边缘和少量的孤立噪声,为进行后续的目标特征提取和分析,必须对二值图像进行后处理。算法后处理阶段采用了中值滤波、形态学算子,有效地去噪并填充分割后的空洞。

  3.1 中值滤波器

  红外热图像的热噪声主要由颗粒噪声和随机噪声组成,中值滤波[5]消除随机干扰噪声和保持细节能力很强,常采用中值滤波对红外图像进行去噪,实现背景抑制。实验证明,小于中值滤波器面积一半的物体会被滤掉,较大物体会保留下来。因此,中值滤波器的尺寸很重要。分别采取3×3、5×5、7×7、9×9、11×11的中值模板进行实验,仿真结果表明,9×9的中值模板具有较稳定的滤波表现,能在消除噪声的同时有效保持目标的边缘信息。

  3.2 形态学算子

  数学形态学基本思想是用一定形态的结构元素去提取图像中的对应形状。图像经过形态学滤波后能有效保留目标信息的同时滤除噪声,提高图像信噪比。开运算能够滤除比结构元素小的明亮细节,可以消除图像中的离散噪声与毛刺,同时基本保持整体的灰度和较大明亮区域不变,还可以填充分割后目标内部的空洞。

  4 实验仿真结果及分析

  经过大量实验证明,ViBe算法中取半径R=20,最小基数#min=2,N=20,φ=16时实验结果最好。本实验用到的红外视频序列是从http://www.cse.ohio-state.edu/OTCBVS-BENCH网站上获取的,大小为320×240,本文截取了部分图片序列,生成一段帧率为20 fps的视频序列。本文实验在VS 2010,OpenCV 2.4.4的环境下进行。图1是原视频序列中的第3帧、第12帧、第17帧,图2~图5分别为原ViBe算法的结果、融合帧间差分法及Canny算子改进、后处理的实验结果。原算法的鬼影区域较为集中,使用本文改进的算法能够去除大部分鬼影区域,同时引入了离散的噪声点。通过后处理可以很好地滤除孤立的噪声。从图5可以看出,经过中值滤波,形态学操作后处理鬼影后留下的孤立噪声几乎全被滤除,可以得到比较干净、完整的前景目标。

002.jpg

  本文在ViBe算法的基础上进行改进,融合了帧间差分法、边缘信息进行前景提取,能够更快地消除鬼影。对提取出的前景目标采用中值滤波、形态学操作进行后处理。实验结果表明,当红外目标对比度很低时,该算法时仍可以快速完整地提取前景目标,由于算法是非参数的,适用于动态变化的场景,有很高的实时性和鲁棒性。

  参考文献

  [1] STAUFFER C, GRIMSON W. Adaptive background mixture models for real time tracking[C]. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Fort Collins, Colorado, USA,1999: 246-252.

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

  [3] OTSU N. A threshold selection method from gray-level histograms[J]. Automatica, 1975, 11(285-296): 23-27.

  [4] CANNY J. A computational approach to edge detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986,8 (6):679 -698.

  [5] ATAMAN E, AATRE V K, WONG K M. Some statistical properties of median filters[J]. IEEE Transactions on Acoust Speech, Signal Process, 1980, 28 (4) : 415-421


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