APP下载

基于区域相似信息的自适应运动目标检测算法

2020-03-19刘燕德曾体伟陈洞滨王观田

计算机工程 2020年3期
关键词:鬼影像素点像素

刘燕德,曾体伟,陈洞滨,王观田

(华东交通大学 机电与车辆工程学院,南昌330013)

0 概述

构建智能交通监控系统是保障城市安全的重要手段,而视频行人检测是智能化视频监控领域中的主要研究方向。运动前景目标检测作为视频行人检测的关键技术之一,是实时视频图像处理技术的基础,准确提取视频序列前景运动区域,有助于其他后期处理,如行人识别和行人跟踪等。近年来已有很多相关研究展开,目前常用的前景提取方法有光流法[1]、背景差分法[2-3]和帧间差分法等[4]。背景差分法较为常用,检测性能高、实时性较好,但依赖于背景模型的准确性,难以解决实际场景中的背景动态变化、光线变化以及相机抖动等问题。光流法需要计算大量的光流场,实时性不高,难以应用于实际。帧差法计算简单,算法复杂度低,但往往不能提取目标完整区域。

ViBe算法是一种像素级的前景检测算法,具有运行速度快、可靠性高的特点,但其自身也存在着局限性:背景初始化仅用第1帧视频序列,但当第1帧图像序列中存在运动目标时,运动目标所在区域的像素也会填充作为背景进行建模导致鬼影现象[3];在前景检测阶段,分类前景和背景像素点应用的是固定阈值,在动态背景中很容易造成扰动,影响检测结果;对由静转动和由动转静的目标检测时则存在拖影现象。虽然利用ViBe算法的更新机制可以有效解决这些问题,但往往耗时较长,误检区域长时间的存在会对后续的检测带来不便。

为提高ViBe算法在复杂环境下的检测性能,文献[5]提出一种多尺度变换的改进ViBe算法,对3种不同分辨率图像的检测结果进行融合,以达到减少动态背景影响的目的。文献[6]设计了采用一维最大内间方差法得出图像帧的动态阈值替代静态阈值,并结合像素生命长度进行二次更新消除鬼影。文献[7-8]针对ViBe算法固定阈值问题,依据输入图像像素点与背景模型的标准差来评价环境的动态变化以调节参数,但此方法计算复杂度较高。文献[9]通过前景像素点所在区域求区域方差大小进行判定鬼影。文献[10-11]采用前多帧图像获得构建背景模型抑制鬼影的产生。也有许多学者尝试将ViBe算法与其他方法相结合,文献[12-14]结合帧差法或混合高斯模型(Gaussian Mixture Model,GMM)共同处理检测前景目标,避免鬼影形成,但在后续的前景目标检测中容易出现空洞以及边缘不完整的情况。与其他方法的结合虽然能改善检测效果,但也容易引入其他算法本身的缺陷。文献[15]提出在初始化过程中扩大背景模型的取值范围来减少判别误差,并对鬼影区域重新构建模型来抑制鬼影。文献[16]针对运动目标检测ViBe算法在执行过程中的鬼影以及背景抖动问题,提出一种可以快速消除鬼影的目标检测算法。文献[17]针对固定阈值的问题,采用Otsu算法求取分割阈值来检测运动目标,但仍不能完全去除鬼影。

针对上述研究的不足,本文提出一种改进的ViBe算法。采用Otsu算法得到图像的动态阈值,增强算法在动态背景中的抗干扰能力,同时通过分析区域相似度判别鬼影、拖影或静止目标区域,自适应地对不同类别区域像素进行更新抑制,从而提高检测精度。

1 ViBe算法

ViBe算法[3,18]是一种应用广泛的快速背景提取算法,其检测运动目标效果稳定,算法计算过程简单,鲁棒性和实时性较高。ViBe算法主要由三部分组成,即背景像素模型建立及分类、像素模型初始化、背景模型的更新。

1.1 背景模型初始化

ViBe算法为每一个像素点F(x,y)建立N个背景样本值的背景像素点样本集S(x,y),N的取值通常为20,具体表达式如下:

S(x,y)={F1,F2,…,FN}

(1)

背景模型的初始化过程类似填充过程,因ViBe算法使用一帧图像进行初始化,但包含的信息有限,利用相邻像素点之间在时空分布上的特性,故在像素点8邻域中随机任选一点保存至其对应的背景模板中,重复N次。

1.2 前景检测

前景检测过程即对像素点与背景样本集像素对比,判断当前像素点属于前景点还是背景点。图1所示为像素点的分类过程。

图1 ViBe算法分类过程

以像素点F(x,y)为圆心,固定阈值R为半径的区域SR(F(x,y)),若SR(F(x,y))中与样本集S(x,y)的像素点交集个数U大于设定的阈值Umin,则将该像素F(x,y)判定为背景像素,小于阈值Umin则判定为前景像素,分类过程如下:

(2)

其中,M(x)为检测结果。

1.3 背景模型的更新策略

需要对背景模型进行更新以适应环境的动态变化,当检测为背景点时,即M(x)=0时,有1/φ的概率替代该点样本集S(x,y)中的任一样本vi(φ称为时间抽样因子)。

vi=fi(x,y),i∈{1,2,…,N}

(3)

采用空间邻域更新机制扩散到相邻像素,在更新该点像素背景样本集的同时有1/φ对其8邻域随机选取一像素f′i(x,y)的背景样本集S′i(x,y)内一个样本vi进行随机更新。

vi=f′i(x,y),i∈{1,2,…,N}

(4)

在连续时间(t,t+dt)内,背景模型样本值随时间变化的概率如下:

P(t,t+dt)=((N-1)/N)(t+dt)-t

(5)

P(t,t+dt)=e-ln(N/N-1)dt

(6)

式(5)和式(6)表明,样本像素点的生命周期呈平滑指数衰减趋势,无记忆性,在一定程度上表明该更新机制能够适应场景变化,降低前景像素的误检性。

2 本文改进的ViBe算法

2.1 结合自适应阈值的改进

在ViBe算法中,划分前景背景使用的是固定阈值即式(2),但固定阈值通常无法适应动态背景的目标检测。因此,本文引入最大类间差分法(Otsu)算法[19]对原算法进行改进。Otsu算法将图像根据灰度特性分为2个部分(前景像素区域和背景像素区域),并计算区域类间最大方差来确定最佳分割阈值,利用当前帧It和背景模型帧Bt的差分图像Dt(x,y):

Dt(x,y)=|It-Bt|,∀t≥2

(7)

ViBe算法检测运动目标只含前景与背景两部分,适用Otsu算法,最佳阈值可以减少分类误差,设计思想为:设当前帧图像I,图像中前景像素和背景像素所占比例为w1和w2,区域内平均灰度分别为u1和u2,并设平均灰度为u,设类间方差为σ2,最佳区分阈值设为Topt,将图像分为灰度级分别是[0,Topt]和[Topt,L]的2个区域,分别对应的背景和运动目标如下:

u=w1×u1+w2×u2

(8)

σ2=w1[u1-u]>2+w2[u2-u]>2

(9)

其中,w1+w2=1,方差σ2最大,分割的效果阈值越好,σ2的求法采用遍历整个图像的灰度级的方式,对最佳阈值Topt上下值取值作门限限制Topt∈(10,150),这样遍历次数减少,能更快求取出最佳阈值[19],计算公式如下:

Topt=argmin(σ2)

(10)

2.2 基于区域相似度比较的自适应参数更新策略

结合Otsu算法求解最佳分割阈值后,能够抑制噪声并在一定程度上抑制鬼影,如文献[6,17]中对Otsu最佳阈值分割Topt和ViBe算法进行二次判别,但仍有部分鬼影区域未能全部消除,这是因为当鬼影区域间于Otsu最佳阈值分割的前景和背景之间时,并不能很有效地去除鬼影,特别是在监控复杂行人的检测环境中,图2所示为Otsu+ViBe算法的鬼影去除效果,其中,从左至右分别为PETS2009、dataset2014和文献[17]中的实验图像。

图2 基于Otsu+ViBe算法的鬼影消除效果

本文基于背景模型局部掩模区域与输入图像掩模区域的相似度匹配,提出鬼影区域即区域相似度鬼影的判断方法,通过分析局部区域的背景帧和当前帧相似度来判定该区域属于鬼影还是静止区域,并采取不同的更新策略,抑制静止目标的消融,加快鬼影区域的消除速度。具体算法步骤如下:

1)算法初始化。构建背景模板,并为每一像素p设置一个计数器TOS(p),计数为前景点的次数,初始化为0,定义每个像素点标志位C初始化为0。

2)背景点模型更新。对新一帧像素进行分析,像素点为背景点的转至第7步,像素点为前景点计数器加1,标志位C置1,若计数器TOS(p)达到阈值Q则转第3步,否则前景点不做更新,转第2步。

3)鬼影与静止区域判别。达到阈值Q,判定为持续前景点,并且此前景点可能是鬼影或静止区域,标记出持续前景点所在区域掩模,转第4步。

5)相似度低于阈值T,判定掩模区域为鬼影区域,用当前帧像素点替换,并重新局部初始化。计数器清0,标志位C置0。

6)相似度高于阈值T,判定该区域为静止区域,背景模型不做更新。TOS(p)置0,C置1。

7)1/φ的概率从M(x)中选取一个值采用新一帧像素点p代替,并且该像素点的8邻域也以1/φ的概率更新,TOS(p)置0,C置0。

2.3 后期图像处理

运动目标检测过程中偶尔存在背景小目标扰动,并且当运动目标内部存在与背景颜色相近的区域时,会出现孔洞残缺现象,此时需要进行形态学处理。本文首先通过闭运算填充孔洞连接目标,然后采用开运算去除背景噪音,最后通过区域生长法完整地分割提取出前景区域。

3 仿真实验结果

3.1 实验参数设置

本文算法实验环境如下:处理器为Intel(R) Core(M) i5-6300HQ CPU@ 2.30 GHz 2.30 Hz,内存为12 GB,程序代码使用matlab2014b版本编写。参数设置如下:背景模型中像素点构建样本样本集N=20,前景检测样本匹配阈值d(H1,H2)=2,帧采样频率φ=16,计数器TOS(p)阈值Q=15。

3.2 鬼影消除实验

针对鬼影的消除实验,测试视频选取dataset 2014数据集中的PETS2006和PETS2009中的View_002视频序列,实验结果如图3、图4所示。可以看出,虽结合三帧差可以去除鬼影区域,但在后续的检测过程中容易出现孔洞现象(见PETS2006第50帧和View_002第48帧图像的处理结果)。文献[17]算法虽然通过引入Otsu阈值分割得到最佳阈值和ViBe算法进行二次判别进行去除鬼影,但仍存在部分鬼影区域未能全部消除的情况,这是因为第1帧鬼影区域位于Otsu最佳阈值分割的前景和背景之间,并不能很有效地去除鬼影。与上述3种典型的运动目标检测算法相比,本文提出的改进ViBe算法对鬼影的消除效果较好,检测的运动目标前景较为完整,没有出现其他算法鬼影去除不干净或是大范围漏检和误检的情形,在一定程度上抑制了阴影,并且能够快速、有效地消除鬼影现象,提高检测结果的准确性。

图3 不同算法的鬼影消除实验结果对比(PETS2006视频序列)

图4 不同算法的鬼影消除实验结果对比(View_002视频序列)

3.3 静止目标残影消除实验

针对静态目标转变为动态目标产生的拖影,对其消除实验的对比算法有GMM算法、三帧差法、原ViBe算法。实验测试视频选自dataset2014数据集中的winterDriveway视频序列。在该组场景中,长时间停放的车俩早已融入背景模型中,当车辆由静止状态缓慢转变成为运动状态时出现拖影现象,需要很长时间消融。实验结果如图5所示。可以看出:在第1 487帧时,车辆尚处于静止状态,原始ViBe算法由于环境中光照的变化、风吹过树叶等噪声干扰检测已经出现前景噪声,改进ViBe融合Otsu最佳阈值分割能够有效抑制干扰噪声;在图像第1 852帧~第1 970帧的这100帧中,目标逐渐由静止状态转变为运动状态,原始ViBe算法很明显出现了拖影现象,而三帧差法基本上测不到目标,这是由于车辆缓慢运动,依靠帧间信息并不能检测出前景目标,GMM算法也出现了拖影现象,而改进的ViBe算法能够很快抑制拖影;在第2 106帧时,距离产生拖影过去了250帧的时间,但原始ViBe算法的拖影现象仍非常明显,而改进ViBe算法基本已经没有拖影。

图5 不同算法的残影消除实验结果对比

上述实验结果表明,本文提出的改进ViBe算法在消除静止目标产生的拖影方面表现较好,未出现其他算法的拖影长时间去除不干净的情形。因此,该算法能够快速、有效地抑制静止目标拖影现象,提高检测结果的精准性。

3.4 算法性能分析

本文对算法性能的评价,采用统计数值的方法反映算法的特征,选用召回率、检测精度、误匹配率、真负率、假正率、假负率和F度量值作为算法的评价指标。一般主要看3个指标,即检测精度、召回率和综合评价指标F值,其中:检测精度表示前景像素分割的精准度;召回值是检测出的前景像素点覆盖有效像素点的度量;F度量值是算法性能的综合评价因子,数值越高算法越优秀。本文根据数据集dataset2014的PETS2006、winterDriveway和highway视频序列提供的真值图,分别取300~900、1 000~2 500、470~1 700共3 630幅真值图像,参照网站http://www.changedetection.net/和文献[20]中的分析方法进行定量分析。由表1可知,本文算法的检测精度和综合评价指标均为最高,召回率也较高。从3 630张真值图像对比数据中可以看出,GMM算法和ViBe算法的前景检测对于静止目标运动状态改变的适应能力较弱,检测精度和综合评价指标均低于本文算法,即使结合2种算法[15],处理效果总体上仍较差,并且由于提升了算法复杂度,检测时间大幅提高。本文算法在召回率保持稳定的情况下,可以获得较好的检测精度和综合评价指标,抑制了孤立的噪声点,并使检测目标的完整性较好,对于静止目标的检测效果也是最好的,这也验证了本文改进的有效性。

不同算法对highway视频的平均处理速度如表2所示,其中数据为每帧处理时间。实验结果表明,由于本文算法增加了动态环境自适应阈值和自适应判断像素点类别进行更新,使处理时间有所增加,但仍满足实时性要求。

表1 不同算法的客观评价指标对比Table 1 Comparison of objective evaluation index of different algorithms

表2 不同算法的处理时间对比Table 2 Comparison of processing time of different algorithms s

4 结束语

ViBe算法在检测过程中易受动态背景干扰,初始化图像帧存在运动目标时易出现鬼影,并且对静态目标检测和转变为运动状态时会产生拖影现象,本文针对上述问题提出一种改进的ViBe算法。在前景检测时结合Otsu算法求取最佳分割动态阈值,采用区域相似性对鬼影、拖影或静止目标区域进行判断,并自适应更新不同类别区域像素。实验结果表明,该算法在动态背景下表现出良好的鲁棒性,能够有效抑制鬼影以及静止目标产生的拖影,并且具有较高的实时性和较好的检测性能。下一步将研究前景运动候选区域的目标检测分类方法,同时解决目标间的遮挡问题。

猜你喜欢

鬼影像素点像素
像素前线之“幻影”2000
基于局部相似性的特征匹配筛选算法
“像素”仙人掌
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
ÉVOLUTIONDIGAE Style de vie tactile
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
如何消除胶印“鬼影”?
基于单应性矩阵的图像拼接方法的对比分析
高像素不是全部