基于ViBe 的改进运动目标检测方法

2015-09-19 03:41王海全邱卫根谭台哲
电视技术 2015年17期
关键词:鬼影邻域像素

王海全,邱卫根,谭台哲

(1. 广东工业大学 计算机学院,广东 广州510006;2. 河源广工大协同创新研究院,广东 河源517000)

背景差分法以其相对较好的噪声抑制能力和较低的计算复杂度,成为实际应用中运动目标检测的首选。背景差分法的关键主要体现在背景模型的选择和更新机制的设计上。一般的背景差分方法,如混合高斯算法(Gaussian Mixture Model)[1]、码本算法(Codebook)[2]等,对光照敏感,且需要几十帧的图像进行背景模型的构建,实时性差。Olivier B 等人在一致性建模算法(SACON)[3]和SOBS 算法[4]的启发下,提出了ViBe 算法[5]。

ViBe 算法是一种非参数化聚类背景建模方法,在不同环境下具有良好的适应性和实时性[6],检测效果明显。传统的ViBe 算法仍然存在一些缺陷,例如,光照突然变化时,ViBe 算法会将大面积的背景点误检为前景点,即使经过了很长时间,也难以重新将其归类为背景。同时,ViBe 算法背景模型的单帧初始化方式容易引入鬼影区域,而且该算法模型更新策略并不能很好地处理噪声。针对这些不足,本文依据光照变化并不会改变图像的纹理特征这一特性,提出运用尺度不变局部三值模式(SILTP)[7]对图像进行纹理特征提取,通过比较SILTP 值来对前后景像素进行分类,实验结果表明,改进后的算法对光照变化取得了较好的鲁棒性。此外,本文采用20 帧图像进行背景模型的初始化,并且更新策略改进为替代异常值的方式,实验显示,改进后的算法在处理鬼影区域和抑制噪声方面取得了明显的效果提升。

1 ViBe 算法思想和SILTP 算子

1.1 ViBe 算法思想

ViBe 算法首次将随机化的方法引入到背景模型中,同时根据图像中相邻像素的时空一致性原则,采用单帧初始化策略和随机信息传播机制。

1)背景模型表示:属于背景中每一个像素的背景模型用N 个背景样本组成(N 取值为20),定义I(x)为欧式空间中位于x 处的像素,Ik为选取的样本像素,则像素I(x)对应的背景模型M(x)如式(1)所示

2)背景模型初始化:与其他背景差分算法不同的是,ViBe 算法采用单帧初始化策略。如图1a 所示,在第一帧中,从I(x)的八邻域NG(x)里随机多次选取N(N 取值为20)个像素值,存放到对应的背景模型的N 个样本中。如式(2)所示,定义M0(x)作为第一帧的背景模型

3)像素分类:在2-D 欧式空间中,定义SR(I(x))是以像素I(x)为中心,距离R(R 取20 个像素)为半径的球体(见图1b)。设定阈值#min(#min 取值为2),当集合M(x)与SR(I(x))的交集大于#min 时,则判定I(x)为背景像素,反之,则为前景像素。

图1 像素的8 邻域和像素分类

4)背景模型更新及信息传播:若I(x)被分类为背景像素,ViBe 算法将从I(x)的背景模型M(x)中随机选取一个样本Ik,然后用I(x)来替代。这种随机化更新方式,保证了每一个样本的生命周期呈平滑指数递减,避免了先进先出更新策略的缺陷。考虑到在实际应用场景中,不必频繁更新背景,该算法采用了二次时间取样的方式,来延长模型中样本的生命周期。

为了保证像素邻域空间一致性以及恢复被前景遮挡的背景像素,ViBe 算法在采用像素I(x)对背景模型进行更新的同时,还使用I(x)对邻域中的像素的样本模型进行更新,这就是随机信息传播机制。

1.2 尺度不变局部三值模式SILTP

在实际应用中,光照突变等因素都会导致图像的多尺度变化,对此,Shengcai L 等人在LTP[8]的基础上提出尺度不变三值模式(Scale Invariant Local Ternary Pattern,SILTP)。其计算公式如式(3)所示

式中:Ic表示中心点像素值,Ik表示N 邻域中所对应的像素值,并且N 邻域位于以Ic为中心,R 为半径的区域中,⊗表示二进制串的连接运算符,t 表示比例系数,st(Ic,Ik)是一个分段函数,定义如式(4)所示。由于比较结果只有三种可能,因而采用两位二进制来表示结果,SILTP 具体编码过程如图2所示,从图中可以看出,SILTP 对于噪声和尺度变化具有强鲁棒性。

图2 SILTP 编码过程

SILTP 算子的优势主要体现在三个方面。首先,由于SILTP 只比LBP 多一次比较,因此,其计算效率较高;其次,与LTP 类似,SILTP 引入区间范围,从而对噪声的鲁棒性较好;最后,也是最重要的一点,就是SILTP 引入尺度不变特性,因此,对于光照变化的处理效果较好。

2 改进后的运动目标检测算法

结合SILTP 纹理描述算子,利用像素的时间和空间特性,提出改进后的运动目标检测算法。图3 为本文的算法流程图,下面将从背景模型初始化、运动目标检测和模型更新等方面介绍本文的改进算法。

图3 算法流程图

2.1 背景模型的初始化

当视频的第一帧包含运动目标时,ViBe 单帧初始化策略在初始化模型时,会将运动目标像素作为背景像素值进行建模,运动目标移动后,采样得到的真正背景像素无法与背景模型匹配,导致背景像素被误检为前景,由这类像素形成的区域,称之为鬼影区域。此外,从邻域中随机选取背景初始样本的过程中,可能会引入不同纹理的像素,破坏了初始模型。

因此,本文针对ViBe 算法初始化的不足,提出采用20 帧图像进行初始化,能够有效抑制鬼影。如式(5)所示,从同一位置的20 帧图像中选取样本构成初始化模型M0(x),Ik(x)表示第k 帧中位于x 处的像素

2.2 运动目标检测

目前主流的运动目标检测算法都是依赖于概率密度函数和参数统计,但是在实际应用中,统计模型很难完整客观地反映运动场景。实际上,如果把运动目标检测看成是分类问题,那么只要正确地分出前景像素和背景像素就可以完成运动目标的检测。为此,本文提出计算待检测点与背景模型中每个样本的SILTP 值,同时设定SILTP 匹配阈值Th 和样本匹配阈值#min,若匹配度达到Th 的样本数量超过#min 时,则判定该检测点为背景,反之,为前景。具体步骤如下:

1)计算出待检测点像素I(x)的SILTP 值c(x)和背景模型每一个样本的SILTP 值,则转化后的背景模型如式(6)所示

2)式(7)表示用异或操作来计算c(x)与式(6)中样本的匹配程度,匹配程度通过统计异或结果中1 的位个数来表示

3)当该样本匹配程度大于阈值Th 时,标记该样本为1,反之为0,如式(8)所示

4)统计样本中nk(x)为1 的个数,得到结果Sum(x),如式(9)所示

5)最后对I(x)像素进行分类,如式(10)所示

经过多次实验分析,得到本文中参数Th=3,#min=2。

2.3 背景模型更新

在运动目标检测过程中,背景模型容易混入异常样本,比如误分类的前景像素或噪声像素,这时,ViBe 的随机更新方式并不能有效地处理。为此,本文提出替代异常值的更新方式,具体思想如下:

首先,根据式(6)得到转化后的背景模型,计算出每个样本与模型中其他样本的海明距离平均值,如式(11)所示,Di表示第i 个样本与其他样本的海明距离平均值。

其次,找出平均海明距离最小所对应的样本,如式(12)所示,index 表示平均海明距离最小所对应的样本下标

最后,设定更新速率为φ,当某像素I(x)分类为背景时,则有1/φ 的概率更新其背景模型中的样本,即用c(x)替代样本cindex(x)。同时,与ViBe 算法传播机制相似,本文利用邻域像素分布相似特性,在更新该像素点背景样本的同时,再次按照1/φ 的概率随机选取I(x)的8 邻域的一个像素点,将c(x)替换其背景模型中的样本SILTP 值。

3 实验结果与分析

本文实验的软件环境为配置了OpenCV 2.4.8 的Visual Studio 2013,硬件环境为3 Gbyte 的内存和Intel Core i3 2.4 GHz 的处理器。处理的视频序列来自UCSD 的Beach People 视频序列和CVPR 的PETS 视频序列。为了进行算法比较,说明本文改进算法的性能,实现了ViBe 算法和本文改进后的算法,其中,在本文改进算法使用的是8 邻域,模型样本数N 取20,SILTP 阈值Th 取3,样本匹配阈值#min 取2,更新速率φ 取16,而ViBe 算法采用原作者使用的参数,即球形半径R 取20,样本数N 取20,更新速率φ 取16,样本匹配阈值#min 取2。

3.1 Beach People 图像序列实验结果

本图像序列主要用来检验改进算法在光照变化和噪声条件下的检测效果。在Beach People 图像序列中,阳光在海面反射会造成光照的突然变化,同时,波动的海面和抖动的树叶造成的噪声都会给检测效果带来挑战。在该图像序列上得到的实验结果如图4 所示,其中,图4a 表示截取的序列第230帧,图4b 表示理想状态下的检测结果,图4c 表示ViBe 算法处理得到的结果,图4d 表示本文改进算法检测的结果。可以看出,ViBe 算法对噪声和光照变化的处理不足,导致树叶和围墙等背景物体误检为前景,影响了机器视觉的后期处理,比如目标跟踪。而从图4d 可以得出,本文的改进算法检测效果和ViBe 算法相比有较大的提升。

图4 原算法与改进算法在Beach People 序列上的检测效果

3.2 PETS 图像序列实验结果

本图像序列主要用来检验改进算法在鬼影抑制和复杂纹理场景下的检测效果。在PETS 图像序列中,背景纹理复杂,同时,静止的车辆移动后,会造成鬼影区域。如图5 所示,图5a 表示截取的序列第450 帧,图5b 表示理想状态下的检测结果,图5c 是ViBe 算法的处理结果,图5d 表示本文改进算法得到的检测结果。可以看出,本文改进算法在鬼影抑制和复杂背景纹理处理方面和ViBe 算法相比有较大的改进。

图5 原算法与改进算法在PETS 序列上的检测效果

3.3 实验结果的定量分析

目前有许多的定量分析方法来评估背景差分法的检测效果,但是很难选择最优的方法,原因在于每个作者提出的分析方法都是有利于评估自身的算法,有失公允。通过比较,可以发现这些分析方法一般包括4 个因素,即正确检出的前景像素数量(TP),误检的前景像素数量(FP),正确检出的背景像素数量(TN),误检的背景像素数量(FN)。根据文献[9],正确分类比(PCC)公式包含了以上4 个因素,因而采用PCC 来评估本文的实验结果,PCC 公式如式(13)所示

为了抑制ViBe 算法在初始化过程中容易引入鬼影问题,本文采用了20 帧初始化方式,同时,纹理特征的提取与比较都需要付出计算代价,因而改进算法在处理速度上较ViBe 算法有所降低。但是,从表1 中可以得出,本文改进的算法在正确分类比率上较ViBe 算法有较大提升,特别是在硬件较好环境下,两种算法处理速度相近时,改进后算法在性能上的优势更加明显。

表1 原算法与改进算法在PCC 和处理速度上的比较

4 小结

本文针对经典ViBe 算法提出改进。首先,对于模型初始化方面,本文采用20 帧初始化策略,有效抑制了鬼影的形成;其次,对于前后景检测方面,本文利用SILTP 算子提取像素的纹理特征,通过比较SILTP 值来对像素进行分类,提高了算法对光照变化的鲁棒性;最后,对于模型更新方面,本文采用替代异常值方式,在处理噪声等异常像素时,检测效果有明显的提升。实验结果显示,本文提出的改进算法在满足实时性的基础上,对复杂场景的鲁棒性较强。

[1]ZIVKOVIC Z. Improved adaptive gausian mixture model for background substraction[C]//Proc. International Conference Pattern Recognition.[S.l.]:IEEE Press,2004(2):28-31.

[2]KIM K,CHALIDABHONGSE T,HHARWOOD D. Real-time foreground-background segmentation using codebook model[J].Realtime Imaging,2005,11(3):172-185.

[3]WANG H,SUTER D.A consensus-based method for tracking:modeling background scenario and foreground appearance[J].Pattern Recognition,2007(40):1091-1105.

[4]MADDALENA L,PETRESINO A. A self-organizing approach to background substraction for visual surveillance application[J].IEEE Trans. Image Processing,2008,17(7):1168-1177.

[5]BANICH O,VAN DROOGENBROECK M. ViBe:a universal background substraction algorithm for video sequences[J].IEEE Trans.Image Processing,2011,20(6):1709-1724.

[6]邓博,范文兵,常伯乐.基于嵌入式系统的运动目标检测算法的设计及实现[J].电视技术,2013,37(9):214-217.

[7]LIAO Shengcai,ZHAO Guoying,KELLOKUMPU V. Modeling pixel process with scale invariant local patterns for background substraction in complex scenes[C]//Proc.2010 IEEE Conference on Computer Vision and Pattern Recognition.[S.l.]:IEEE Press,2010:1301-1306.

[8]TAN X,TRIGGS B.Enhanced local texture feature sets for face recognition under different lighting conditions[EB/OL].[2014-12-10].http://link.springer.com/chapter/10.1007%2F978-3-540-75690-3_13.

[9]ELHABIAN S,ELSAYED H,AHMED S.Moving object detection in spatial domain using background removal techniques-state-of-art[J].Recent Pattern Computaional Science,2008,8(1):32-54.

猜你喜欢
鬼影邻域像素
融合密度与邻域覆盖约简的分类方法
像素前线之“幻影”2000
稀疏图平方图的染色数上界
“像素”仙人掌
基于邻域竞赛的多目标优化算法
ÉVOLUTIONDIGAE Style de vie tactile
如何消除胶印“鬼影”?
关于-型邻域空间
基于单应性矩阵的图像拼接方法的对比分析
高像素不是全部