1. 引言
随着视频监控的广泛应用,获取运动目标信息在生活中尤为重要,如智能交通、航空航天等。运动目标检测主要有三种方法,分别为帧差法、背景减分法和光流法。帧差法 [1] 运行速度比较快,但提取的运动目标容易产生空洞现象,不适用复杂场景。光流法 [2] 能计算出运动目标速度,但运行速度较慢,无法满足时效性。背景减分法 [3] 将当前帧跟背景模型进行相减,较之前的算法有更好的实时性和准确性。
背景减分法的过程包括背景建模、更新以及检测,其中最常用的是ViBe算法,ViBe算法 [4] 具有速度快、易于实现等特点,但由于采用固定的半径和更新速率,会在一定情况下产生鬼影现象且易受背景干扰使得目标提取不完整。为此,针对ViBe算法存在的问题,文献 [5] 提出三帧差分与ViBe融合方法,抑制鬼影出现,但没彻底消除鬼影;文献 [6] 提出结合边缘检测进行ViBe改进,提高目标准确性,但在复杂背景下鲁棒性差;文献 [7] 引入OTSU对鬼影进行抑制,具有较高准确率;文献 [8] 采用像素点闪烁次数对背景进行更新,一定程度抑制鬼影;文献 [9] 对匹配半径进行自适应改进,解决动态背景对目标提取不完整问题,但效果仍不佳;文献 [10] 采用纹理特征和颜色特征对阴影进行检测,一定程度上消除阴影。
针对ViBe算法存在鬼影、阴影以及易受背景干扰,本文提出一种基于改进ViBe与多特征融合的运动目标检测算法。该算法主要做了以下改进:
第一,初始化背景建模采用鲁棒主成分分析方法,解决首帧产生鬼影问题;
第二,采用标准离差率自适应改变匹配半径代替固定匹配半径;采用帧间均速测量值自适应改变更新速率代替固定更新速率,能够解决动态背景对目标提取不完整的问题;
第三,融合HSV、LBP和Gabor三种特征,去除阴影,从而解决目标阴影问题。
在公开的CDnet 2014数据集上实验,并对ViBe以及改进ViBe进行对比分析,验证本算法在运动目标检测中的优势。
论文基本结构如下:第二部分是对ViBe算法改进及描述;第三部分是实验结果分析,验证算法可行、有效性;第四部分是对本文的简要总结,通过实验表明,本文算法较现有算法在准确率和召回率等上有明显提升,且改善了鬼影以及阴影问题。
2. 改进算法
本文算法框架如图1所示,具体步骤如下:
第一、输入视频,对视频进行中值滤波预处理,并采用鲁棒主成分分析进行初始化背景建模;
第二、采用ViBe算法进行前景提取,判断前景与背景,采用帧间均速测量值自适应改变更新速率、标准离差率自适应改变匹配半径,从而实时更新背景,当前帧与背景相减得到前景目标;
第三、将提取的目标经过LBP、HSV和Gabor等操作,有效去除阴影,并进行形态学后处理,得到运动目标。
第四、判断视频是否最后一帧,若是则结束算法,若否则返回执行下一帧。
Figure 1. This article’s algorithm flowchart
图1. 本文算法流程图
2.1. 初始化背景模型
在ViBe算法中采用第一帧进行背景初始化,若第一帧存在运动目标,会产生鬼影现象,对目标准确性产生严重影响,对此,本文采用鲁棒主成分分析法构建初始化模型。
鲁棒主成分分析法 [11] 是将图像分成低秩图像和稀疏图像即前景以及背景图像。初始化建模结构如图2所示,从图2中可以看出ViBe算法所建背景图像含有运动目标,而改进后算法没有出现运动目标,能够有效抑制鬼影产生,提高准确度。
Figure 2. Initialize background model diagram
图2. 初始化背景模型图
2.2. 自适应匹配半径
在ViBe算法中采用固定半径R (默认20),不能适应动态背景变化,易受背景干扰,产生大量噪声。为了适应复杂场景下,将引入标准离差率自适应改变固定半径,动态调整大小,一定程度阻碍背景噪声对目标影响。
标准离差率 [12] 是标准差
与平均值
的比值,代表数据离散程度,如公式(1)所示:
(1)
自适应匹配半径如公式(2)所示,当背景处于高频变化情况下,匹配半径将适当扩大;当背景处于低频情况下,匹配半径将适当缩小,能够自适应调节匹配半径,确保背景模型准确。
(2)
其中,平均值如公式(3)所示,标准差如公式(4)所示。
(3)
(4)
2.3. 自适应更新速率
在ViBe算法中采用固定更新速率(更新因子默认16),当背景处于高频情况下,背景模型无法及时更新,导致目标产生大量噪声,对此,采用帧间均速测量值 [13] 来自适应更新速率。帧间均速测量值表示一段时间内平均运动速度,如公式(5)所示。
(5)
式(5)中,
中表示质心差,f表示帧数。
自适应更新速率如式(6)所示,当平均运动速率小于2时,表示运动目标移动过慢,需采用较大的
值,降低更新速率,防止运动目标出现空洞和不完整现象;当平均运动速率大于8时,表示运动目标移动过快,需采用较小的
值,提高更新速率,快速更新背景提取出准确目标。
(6)
2.4. 多特征融合技术
对ViBe算法进行上述改进后,但提取的目标仍存在阴影问题如图3所示,这会对后续跟踪、识别等会产生影响,对此,采用多特征融合技术对阴影部分进行剔除,利用HSV [14] 颜色特征与LBP [15]、Gabor纹理特征 [16] 对阴影进行分析,提取出阴影部分。
Figure 3. Moving object extraction results with shadows
图3. 具有阴影的运动目标提取结果
HSV颜色与人类视觉完全相同,明亮度和色度信息能更好区别开来,阴影检测公式如式(7)所示,
为HSV阴影检测结果,当
为1时表示阴影像素点,即当前帧与背景帧的H值、S值与V值在一定范围内相近。
(7)
LBP纹理特征具有灰度不变性,LBP纹理阴影检测是将当前帧和背景帧的LBP纹理特征值进行纹理相似性比较,判断其为阴影,如式(8)所示,其中
,
表示当前帧与背景帧的LBP特征值。
(8)
Gabor滤波器与人类视觉频率相似,对图像亮度对比度敏感,常用于描述纹理特征,如式(9)所示,
为Gabor阴影检测结果,
当为1时表示阴影像素点,即当前帧与背景帧的Gabor特征值相近。
(9)
将HSV、LBP和Gabor所得到的图像进行融合并采用形态学后操作得到运动目标阴影部分,如图4所示,图4可看出HSV方法能够选出阴影大致位置,但会将部分目标也提取出来,误检率较高;LBP与Gabor方法能够较为完整检测阴影区域,同样存在部分目标被提取;之后将颜色和纹理所得到的结果取相同部分,可发现只有少数目标存在误检,之后通过形态学和边缘处理,得到阴影提取结果。
Figure 4. Shadow processing results of HSV, LBP, Gabor and fusion methods
图4. HSV、LBP、Gabor、融合方法对阴影处理结果
3. 实验结果分析
实验平台为MATLAB R2019b,运行环境Windows10,数据集采用CDnet 2014。
评价指标如式(10)~(13)所示:准确率(P)、召回比(R)、综合评价值(F)。
(10)
(11)
(12)
3.1. 动态背景实验
为了验证本文算法在动态背景下有效,采用Highway、Fall、Canoe三组视频序列对ViBe、改进ViBe算法 [17] 以及本文算法进行对比试验,如图5所示,在Highway视频中选取795帧,可以看出ViBe算法将树叶和阳光均看作运动目标,而且还产生大量空洞;改进ViBe算法明显改善了动态背景对运动目标的影响,但仍存在噪声,效果不佳;而本文算法基本上没有噪声,提取结果较完整,有明显改进。在Fall视频中选取1978帧,可以看出VIBE算法在树叶抖动下检测效果差,会产生大面积噪声;改进ViBe算法大大提高了准确率,但仍存在细微噪声且目标提取不完整;而本文算法能够自适应改变半径和更新因子,实时改变背景模型,提取效果俱佳。在Canoe视频中选取368帧,可以看出VIBE算法提取出大量流动河水,产生大量噪声且目标空洞现象严重;改进ViBe算法剔除背景噪声,但提取目标完整度不全;而本文算法既能解决动态背景产生噪声问题又能提取出完整目标,鲁棒性强。
Figure 5. Detection results of different algorithms under Highway, Fall and Canoe
图5. 不同算法在Highway、Fall、Canoe下检测结果图
表1对比了ViBe、改进ViBe算法以及本文算法在Highway、Fall、Canoe视频中的准确率(P)、召回率(R)、综合评价值(F)情况,从表1中可以看出在不同动态场景下,本文算法比其他算法在P、R、F上均有所提高,由此可见,本文算法能够适应背景变化,及时更新背景模型,能够较为完整提取出运动目标。
Table 1. Evaluation index results of different ViBe methods under three videos
表1. 不同ViBe方法在三种视频下的评价指标结果
3.2. 去除鬼影实验
为验证本文算法的去除鬼影效果,选取PETS2009视频序列对ViBe算法和本文算法进行对比实验,如图6所示。
图6可知ViBe算法出现明显的鬼影现象(白色框)且受风影响产生噪声,而本算法没鬼影现象产生,能够自适应调节背景模型,提高检测准确性。
3.3. 去除阴影实验
为了验证本文算法在去除阴影效果,选取Pedestrias、Lab、Hallway和Room四个视频帧序列对文献 [18]、文献 [19]、文献 [20] 以及本文算法进行对比实验,如图7所示。
图7中可知,文献 [18] 采用混合色度空间来检测阴影,仅采用颜色特征,对于Pedestrias视频中衣服跟阴影颜色类似,将衣服判定为阴影,检测结果不好;文献 [19] 采用YcbCr颜色空间与混合高斯阴影模型来去除阴影,基本将阴影检测出来,但也存在误检情况;文献 [20] 采用颜色与纹理相结合方式去阴影,存在边缘像素点误检情况;而本文算法相比文献 [18]、文献 [19] 和文献 [20] 能够较为完整地检测出阴影部分,误检率低,采用多特征融合方法有效检测出阴影,得到运动目标。
表2对比了上述算法在不同视频帧下的准确率(P)、召回率(R)、综合评价值(F)情况,从表2中可以看出在不同场景下,本文算法比其他算法在P、R、F上均有所提高,由此可见,本文算法具有较好地去阴影效果,能够完整提取出运动目标。
Figure 7. Shadow detection result diagram
图7. 阴影检测结果图
Table 2. Evaluation index results of different shadow removal methods under four videos
表2. 不同去阴影方法在四种视频下的评价指标结果
4. 总结
本文提出一种改进ViBe和多特征融合的运动目标检测算法,主要解决ViBe算法中容易受背景干扰、产生空洞、鬼影和阴影问题。该算法首先在初始化阶段采用鲁棒主成分分析,经过实验得出该方法有效解决鬼影问题,其次引入标准离差率和帧间均速测量值,实时更新背景模型,经过实验得出该方法能够避免背景原因产生的噪声,提高准确度和消除空洞现象,最后引入多特征融合技术,通过实验验证该方法有效解决目标阴影问题,能够提取出阴影部分,从而得到前景目标。综上所述,与之前算法相比,本文算法目标检测结果更加准确。
致谢
感谢蒋老师和黄老师对实验提供专业技术指导,在撰写论文期间给予修正意见,耐心指导和鼓励我;也感谢实验室师兄师姐在科研方面提供帮助,您们的科研态度和专业知识激励我成长。
NOTES
*通讯作者。