文章快速检索  
  高级检索
改进视觉背景提取模型的前景目标检测算法
郁怀波1,3, 胡越黎1,2,3, 王佳乐1,3, 李丽敏1,3     
1. 上海市电站自动化技术重点实验室, 上海 200072;
2. 上海大学机电工程与自动化学院, 上海 200072;
3. 上海大学微电子研究与开发中心, 上海 200072
摘要: 针对经典视觉背景提取算法(ViBe)在动态背景场景下检测精度不高,以及长时间存在鬼影的问题,提出一种改进的视觉背景提取算法.该方法在背景模型初始化阶段考虑到像素点之间的颜色相似性以及空间距离,选取像素点邻域内的同质像素点对背景模型进行初始化;根据场景动态程度自适应调整每个像素点的阈值以及背景模型更新的速率,改善了在动态背景场景下的检测精度;根据光流判断像素点是否存在运动来把真实前景目标和鬼影区分开来并及时对背景模型进行修正,从而尽快消除鬼影现象.使用changedection测试集进行测试,改进后的ViBe算法在能提取到较完整前景目标的同时,检测准确率相比原始ViBe算法也有所提高.
关键词: 前景目标检测     背景建模     鬼影消除    
Foreground Object Detection Algorithm Based on Improved Visual Background Extraction Model
YU Huaibo1,3, HU Yueli1,2,3, WANG Jiale1,3, LI Limin1,3     
1. Shanghai Key Laboratory of Power Station Automation Technology, Shanghai 200072, China;
2. School of Mechatronic Engineering and Automation, Shanghai University, Shanghai 200072, China;
3. Research and Develop Center of Microelectronics, Shanghai University, Shanghai 200072, China
Abstract: We propose an improved background extraction algorithm to tackle the problem of low detection accuracy and long ghosting in the classical background extraction algorithm (ViBe) under dynamic background scenes. This method considers the pixel color similarity between spaces and distances in the background model initialization and selects homogeneous pixel dots in the neighborhood to initialize the background model. According to the scene dynamic degree rate adaptive adjustment of each pixel threshold and the background model update, the detection accuracy is improved in dynamic background scenarios. According to the optical flow, movement in the pixel points and the existence of motion target and ghost real prospects can be distinguished, and the background model can be timely modified, thereby eliminating ghosting as soon as possible. Using the change detection test, the improved ViBe algorithm not only can extrat more complete foreground targets, but also can improre the detection accurary compared with original ViBe alogrithm.
Keywords: foreground target detection     background modeling     ghost cancellation    

0 引言

从场景中准确提取出前景目标是许多机器视觉应用后续进行处理的重要前提.其应用场景一般包括:移动机器人、目标检测[1]以及视频监控领域等[2].一个完整的前景目标检测算法一般包括3个步骤[3]

1) 对背景模型进行初始化;

2) 通过比较当前视频帧与背景模型来判断哪些像素点属于前景目标;

3) 随着场景的动态变化对背景模型进行更新.

在静态背景场景下,背景模型可以仅由一副背景场景图片组成且不需要进行更新.将当前帧的每一个像素点与背景模型对应的像素点进行比较即可判断该像素点是否是前景目标.然而在复杂场景下,比如场景中含有大量的动态背景元素(如光照变化、晃动的树叶、波动的水面等),则必须要对背景模型进行实时更新从而适应场景的变化[4].高斯混合模型(GMM)是一种广泛使用的基于概率分布的背景模型,其通过估计每个像素点基于时间分布的概率密度函数来建立背景模型并进行更新.为了改善高斯混合模型在动态背景场景下的效果,众多研究者提出了对GMM的改进方案[3]. Kaewtrakulpong等[5]通过修改GMM中的背景模型更新公式来增强GMM对快速变化场景的适应能力. Chen等[6]提出了一种把GMM和对比度直方图结合起来的分层前景目标检测算法.文[7]在背景模型建立过程中融合了多种特征来对像素点进行描述.虽然这些改进的GMM算法可以应对一般动态背景的情形,但是在背景存在大量不规则运动的情形下,高斯混合模型不能很好地对背景模型进行估计[8],且这种基于概率分布的背景模型极易受噪声影响.

由Barnich提出的视觉背景提取算法(ViBe)[9-10]是一种基于采样背景模型的前景目标检测算法,其背景模型完全由一组采样得到的像素值组成.不同于基于概率分布的背景模型,ViBe算法不需要对背景模型进行估计,从而对噪声具有很高的鲁棒性. ViBe算法对于每一个像素点,在其周围邻域任意选取像素点来对背景模型进行初始化.文[11]在此基础上通过扩大邻域的方式避免了像素的重复选取,降低了背景初始化所导致错误分类的概率.文[12]为了降低前景点对初始背景模型的影响,采用时间一致性原则,采用前N帧图像的像素值初始化背景模型.然而由于ViBe算法中的参数固定,其在动态场景下的效果不佳.文[13]提出了一种基于空间邻域的阈值自适应调整策略,阈值由像素点及其周围像素点像素值的差值来决定.文[14]通过定义一个闪烁程度矩阵来判断像素点的闪烁程度并据此来调整阈值.但是这两种方法都没有直接考虑场景的动态程度,仍存在改进的空间.

本文对ViBe算法这些存在的不足做了如下改进:

1) 通过选取像素点周围邻域内颜色最相似、空间距离最近的像素点来对背景模型进行初始化,提高了初始化的背景模型的准确性;

2) 根据每个像素点的动态程度自适应设置阈值,提升了处理复杂场景的能力;

3) 根据场景的动态程度自适应调整背景模型更新速率,提高了背景模型对动态场景的适应性;

4) 针对前景目标检测中出现的鬼影现象,使用光流来把鬼影和真实的前景目标区分开来,从而消除鬼影现象.实验结果表明改进后的ViBe算法即使在动态背景下也能有效地对前景目标进行检测,且对于鬼影现象能够及时发现并消除.

1 视觉背景提取算法 1.1 背景模型建立与决策

视觉背景提取算法(ViBe)中,背景模型由N个最近

观察到的像素值来定义,如下所示:

(1)

式中,P(x)表示像素点x的背景模型.另外,用It(x)来表示像素点xt时刻的像素值.为了确定t时刻像素点x是前景像素还是背景像素,定义一个以It(x)为中心,R为半径的二维欧氏空间SR(It(x)),如图 1所示[8].若背景模型P(x)中落入SR(It(x))的采样值个数大于给定的预设值#min,则认为是背景像素点,否则是前景像素点.决策过程具体定义为

图 1 二维欧氏空间 Fig.1 2D Euclidean space
(2)

式中,F=1代表前景像素点,F=0代表背景像素点.

1.2 背景模型更新

为了时刻保持背景模型的准确性以及处理背景变化的情形,背景模型需要进行更新. ViBe采用了保守更新的策略,即只把当前判断为背景像素的像素点更新进背景模型中.背景更新的过程为:若当前像素点xi检测为背景像素点,从1至N中随机选取一个索引k,则背景模型中的Pk(xi)由当前像素点的像素值I(xi)代替.这样当前像素点即被学习进背景模型中.

基于这种随机更新原理,在t0时刻存在于背景模型中的背景模型元素在t1时刻仍然存在于背景模型中,即没有被更新的概率为

(3)

由概率表达式可见,背景模型中每个元素不被更新的概率随时间单调递减.这种性质符合背景模型更新的意义,且允许使用更少的元素来构成背景模型.

1.3 邻域传播

只把当前判断为背景像素的像素点更新进背景模型中的更新策略称为保守更新.保守更新会导致死锁现象,即若背景中的物体由静止开始运动,则该物体起始位置在保守更新策略中永远认为是前景像素点,从而在该处留下一个鬼影.另一方面,非保守更新在有缓慢运动目标的场景中会把运动目标这一前景完全更新进背景模型中,从而完全无法检测到该运动目标.针对这一问题,ViBe算法提出了一种邻域传播策略.

邻域传播考虑到了图像中像素点的空间邻域信息.

NG(x)和p(x)分别表示像素点x的邻域和其像素值.邻域传播的具体过程为:若当前像素点x被判定为背景像素点,在把p(x)更新进背景模型中的同时,随机选取该像素点邻域NG (x)中的一个像素点,并把p(x)更新进该像素点的背景模型中.

1.4 背景模型初始化

ViBe算法使用视频的第1帧来初始化背景模型.对于每一个像素点,在其周围邻域任意选取像素点来对背景模型进行填充初始化.背景模型初始化后,从视频的第2帧即可开始进行前景目标检测.

2 改进的视觉背景提取算法 2.1 改进背景模型初始化

原始ViBe算法中,对于每一个像素点,通过从其邻域内随机选取N(背景模型元素个数)个像素点作为初始化的背景模型.理论上说,即使背景模型完全由随机数生成,由于ViBe算法基于采样的背景模型特性,在一定时间后,背景模型总能更新稳定到能够合理表述背景像素随时间的分布,但是在背景模型更新稳定前完全不能正确检测到前景目标.根据原始ViBe算法的背景初始化方式,若某像素点邻域内存在前景像素点,则这些前景像素点也可能会被初始化进背景模型中,从而导致下一时刻该像素点位置上前景像素的误判断.所以背景模型初始化的关键是合理选取像素点邻域内的同质像素点进行背景初始化.此处的同质指的是两个像素点不仅空间分布接近,且颜色也相近.由于同质区域的像素点,其时空分布也一致,所以使用同质区域的像素点对背景模型进行初始化可以在视频的第一帧就保证了背景模型的合理性和准确性.

为了选出每个像素点周围邻域内的同质像素点,需要定义一个同质程度函数.该同质程度函数不仅需要考虑像素点之间颜色上的相似性,同时还要考虑像素点之间的空间距离.首先定义基于颜色的像素点相似程度函数:

(4)

式中,pq分别为两个像素点,i∈{RGB}分别为三个颜色通道,基于颜色的像素点相似程度即定义为两个像素点RGB三个通道分量差值的均值.令像素点pq之间的空间距离为S(pq)=|p-q|,则同质程度函数如下所示:

(5)

式中,σcσs为两个调整参数,用来调整基于颜色的相似性和像素点之间空间距离的比重.同质程度函数的值越小,则两个像素点越倾向于属于同质区域.对于每个像素点,在其周围6×6邻域内使用同质程度函数值最小的20个像素点来对背景模型进行初始化,即可保证在视频的第一帧初始化得到的背景模型的合理性.

2.2 自适应阈值

在同一个场景中,有些区域的动态程度较高(例如水面、风吹动的树枝等);还有些区域几乎不会发生变化(例如墙面). Vibe算法中,对于所有像素点都采用同一个固定的阈值,动态背景和静态背景同时存在的情形下显然不合理.对于高动态背景区域,像素点xi所对应的阈值R(xi)应该适当增加,从而避免动态背景被误检测为前景目标;对于静态背景区域,阈值R(xi)应该适当减少,从而提升前景目标检测的灵敏性.所以,合理的阈值应该根据背景的动态程度进行自适应调整.图像中的每一个像素点,根据其背景动态程度,分别对应不同的阈值.

文[15]提出了一种基于采样的度量背景动态程度的方法,但其采样的过程只考虑了单个像素点基于时间的分布,若某像素点被错误判断为前景像素点,则该点的背景动态程度无法进行更新,即一直保持着错误的动态程度,从而导致该像素点的持续误判断.故本文在此基础上提出一种结合时间和空间分布的背景动态程度度量方法.对于每个像素点,不仅考虑其基于时间的分布,同时考虑其基于空间分布的周围邻域像素点信息.若某像素点发生误判断,依然可以根据其周围邻域像素点信息对背景动态程度进行更新,从而在发生误判断后极短的时间内恢复对该像素点的正确判断,极大提高了算法的鲁棒性.

对于每个像素点,建立一个包含N个元素的基于时空分布的动态程度采样数组:

(6)

若某像素点或其周围邻域内存在任意像素点被判断为背景像素点,则需对该像素点的背景动态程度进行更新.记包括该像素点本身的邻域内所有背景像素点为{x1x2,…,xn},分别计算这些像素点在二维欧氏空间内与背景模型中元素的距离最小值dmin(xn)=minkdist(I(xn),Pk(xn))并求其均值,以先入先出原则更新进动态程度采样数组中.动态程度采样数组D(xi)的均值即反映了每一时刻每一个像素点基于时空分布的背景动态程度.令像素点xi的背景动态程度为dyn(xi),则:

(7)

根据背景动态程度,每个像素点xi对应的自适应阈值为

(8)

式中,τ为背景动态程度的截断阈值.当像素点的动态程度小于该截断阈值τ时,其自适应阈值设为基准阈值Rbase;当某像素点的动态程度大于该截断阈值τ时,则根据背景动态程度偏离截断阈值τ的程度自适应调整阈值的大小. Rscale为固定的调整参数,用来调整背景动态程度与自适应阈值之间的转换比例.此外,还需对阈值定义一个上界Rmax,否则过大的阈值会导致前景像素点也被错误判断为背景.

2.3 自适应更新速率

为了适应背景的变化,背景模型需要进行更新.不同于高斯混合模型和核密度估计[16]等背景建模方法,其对每一个像素点建立一个基于时间分布的概率密度函数的背景模型.基于采样的背景模型定义为一个由最近观测到的N个像素值所组成的数组.基于采样的背景模型,主要难点在于怎样找到一种合理的背景模型更新方式,来确定每次模型更新时替换掉原模型中的哪些元素,从而确保背景模型能够合理描述当前的场景.

由1.2节可知,ViBe算法随机选取背景模型中的1个元素进行替换更新.在此种更新方式下背景模型中t0时刻的某个元素在t1时刻仍然存在的概率如式(3)所示,背景模型中每个元素不被更新的概率随时间单调递减,符合背景模型更新的意义.若对此概率表达式进行扩展,每次背景模型更新时在总共n个背景模型元素中随机选取α个元素进行更新,下文中称此α为更新因子,则在t0时刻存在于背景模型中的背景模型元素在t1时刻仍然存在于背景模型中的概率P(t0t1)为

(9)

式中,ν为背景模型的更新速率. ν越大,概率值下降的越快,从而每个元素在背景模型中存在的时间变短,使得整个背景模型“更新换代”的速率加快.理论上说,对于完全静态没有任何变化的背景,其背景模型更新速率ν完全可以为0,即对背景不进行更新.但是对于高动态程度的背景,显然希望背景更新速率ν相比低动态程度背景要增加,以适应快速的背景变化.

原始ViBe算法中,对于图像上的所有像素点,更新速率ν计算公式中的更新因子α都取1,即全局更新速率为一个固定值.本文根据背景的动态程度自适应调整更新因子α,从而是背景模型更新的速率随着场景动态程度变化而变化.其中背景的动态程度仍然根据2.2节中的式(7)来计算.得到像素点xi的背景动态程度dyn(xi)后,其对应的更新因子α(xi)自适应调整为

(10)

式中,τ为背景动态程度的截断阈值.当某像素点的动态程度小于该截断阈值τ时,该像素点的自适应更新因子设为1;当某像素点的动态程度大于该截断阈值τ时,根据背景动态程度偏离截断阈值τ的程度自适应调整阈值的大小. αscale为固定的调整参数,用来调整背景动态程度与自适应更新因子之间的转换比例. 为取整操作符号.此外,对更新因子α设置一个上界αmax,防止更新速率过快导致背景模型失去基于时间采样的特性.

2.4 鬼影消除

在基于背景模型的前景目标检测算法中,若视频的第1帧含有遮挡住背景的前景目标,从第2帧开始的前景目标检测结果中会出现鬼影现象[17],如图 2所示.其中图 2(a)为用来初始化背景模型的初始帧,图 2(b)为待检测的当前帧.图 2(c)检测结果中即产生了鬼影现象,检测结果不仅包含当前帧中的行人,还包含了初始帧中的人的“鬼影”.而实际的理想检测结果应如图 2(d)所示.

图 2 鬼影现象 Fig.2 Ghost effect

为了消除鬼影现象,ViBe算法通过在背景模型更新过程中加入邻域传播机制,把鬼影像素点邻域内正确的背景像素的值更新进鬼影像素点的背景模型中,通过邻域传播消除鬼影现象.然而,若鬼影目标较大,该方法需要较长时间来消除鬼影,影响了前景目标检测结果的质量[18].考虑到鬼影现象形成的原因,在得到的前景目标检测结果中,鬼影与真实的前景目标,其显著区别在于鬼影是由于第一帧中运动前景目标遮挡住背景而产生的,故鬼影是静止的,而前景目标是运动的.根据像素点是否发生运动即可把鬼影和真实的前景目标区分开来.

本文通过计算像素点的光流信息来判断像素点是否发生运动.像素点的光流信息包括像素点运动的速度和方向[19].图 2(b)中待检测的当前帧的光流计算结果如图 3所示.图 3中,(a)为当前帧,(b)为当前帧的光流计算结果,图中每个小箭头的长度代表像素点运动的速度,每个箭头的方向代表像素点运动的方向.为了便于光流信息的可视化及后续分析,在检测到的前景目标上使用孟塞尔颜色系统对所有检测到的前景像素点(包括真实前景和鬼影)的光流信息进行显示,如图 3(c)所示.在基于孟塞尔颜色系统的光流信息显示中,不同的颜色代表不同的运动方向(白色表示像素点不存在运动),颜色的深浅代表运动速度的大小.由图 3(c)可见,真实的前景目标上的像素点几乎都存在着运动,而鬼影上的像素点都没有发生运动.基于此,即可把鬼影与真实的前景目标区分开来.在检测到鬼影像素点后,将鬼影像素点当前的背景信息完全替换掉错误的鬼影背景模型元素,从而在鬼影产生的根本原因上消除了鬼影现象.

图 3 光流计算结果 Fig.3 Result of optical flow

鬼影消除的具体过程为:

1) 根据视频的第n帧和第n-1帧(n=2,3,4,…),使用Farnebäck光流算法[20]求得第n帧视频的光流场,得到每个像素点x的速度大小ν(x).

2) 对第n帧视频进行前景目标检测,结果中将同时包含鬼影以及正确的前景目标.定义第n帧中检测到的所有结果像素点为集合Ω={x1x2,…,xn}.

3) 对于集合中的每个像素点x,定义一个鬼影判断函数G(x).令Gn(x)表示第n帧时的鬼影判断函数,νn(x)表示第n帧时像素点x的速度大小,则Gn(x)定义为

(11)

4) 第n帧时像素点x对应的鬼影判断阈值tn(x)定义:

(12)

式中,λ为一个调整参数.理论上说,鬼影像素点应完全静止不动,λ应为0.此处为了增加算法对噪声的鲁棒性,以及对动态背景场景的兼容性,λ应取一个适当的较小整数.

5) 若在第n帧的前景目标检测结果中存在像素点xi使得Gn(xi)≤tn(xi),则像素点xi判断为鬼影像素点.首先清空像素点xi的背景模型元素,然后按照2.1节所述的背景初始化方式,将该像素点的当前背景信息初始化进背景模型中.

6) 当前帧n处理完毕后对下一帧n+1重复从第1步开始执行,直到第5步中不存在像素点xi使得Gn(xi) < tn(xi),即检测不到鬼影像素点为止.此时,检测结果中的所有鬼影现象都已消除,且错误的鬼影背景元素都已被替换为正确的背景元素.

值得注意的是,虽然光流信息的计算非常耗时,但是只需在视频开始的数帧执行光流计算,鬼影现象即可完全消失,不会影响算法后续的运算速度.

3 实验结果与分析

为了验证本文算法的效果,使用C + +编程语言实现了本文所提算法.算法的开发环境为CPU i7-6700HQ、内存8 GB的电脑,操作系统为Window 10,编译软件为Visual Studio 2013.算法的参数设置情况为:背景模型元素个数N=20;最小相似像素点数量#min=2;同质程度函数中颜色相似性调整参数σc=0.25,空间距离调整参数σs=1;背景动态程度截断阈值τ=10,阈值基准Rbase=30,阈值调整参数Rscale=5,阈值上界Rmax=50;背景模型更新速率调整参数αscale=0.8,更新因子上界αmax=5;鬼影判断阈值调整参数λ=3.实验中所用的测试视频均来自changedetection测试集[21].

3.1 鬼影消除验证分析

为了验证本文所提算法鬼影消除的效果,并与原始ViBe算法进行对比,使用changedetection测试集中的静态背景测试视频进行测试,从而不考虑动态背景等额外因素的影响.由于测试集中的pedestrians测试视频存在只有一个前景目标(行人)移动的视频片段,利于验证鬼影消除的效果,故选用pedestrians测试视频来进行测试.

图 4为3种算法鬼影消除效果的对比.为了人为制造出鬼影现象产生的条件,即视频的第1帧含有遮挡住背景的前景目标,以pedestrians视频的第615帧作为视频的初始帧开始进行前景目标检测.实验结果截取了pedestrians视频检测结果的第615帧、第616帧、第623帧、第680帧和第720帧.

图 4 鬼影消除效果对比 Fig.4 Comparison of ghost elimination effect

由鬼影消除实验结果可见,在视频起始帧过后的第2帧,即第616帧,原始ViBe算法和改进ViBe算法得到了类似的效果.而在第623帧,此时前景目标已经完全移动到了其在第616帧中的初始位置外,改进ViBe算法此时已经完全消除了鬼影,而原始ViBe算法的鬼影仍然存在.甚至直到视频的第720帧,原始ViBe算法依然没有消除鬼影,仅仅通过邻域传播使得鬼影的边缘消除了部分.改进的ViBe算法在第623帧时,已经完全消除了鬼影现象,且背景模型中的鬼影元素已经完全被正确的背景元素替换.

3.2 算法比较验证分析

为了验证本文算法的效果,除了与原始ViBe算法进行对比,还选取了GMM算法和GMG[22]算法来进行对比.分别使用changedetection测试集的highway、office、fall、fountain01和badminton测试视频来对4种算法进行测试,如图 5所示.其中,highway和office为场景稳定的基本测试视频;fall和fountain01分别为背景含有晃动的树叶和波动的水面的动态背景场景测试视频;badminton为相机存在抖动的测试视频.

图 5 算法效果比较 Fig.5 Comparison of algorithm effects
3.2.1 定性分析

图 5测试结果可见,在highway基本测试视频中,GMG算法、原始ViBe算法和本文所提算法都能较好地提取到前景目标. GMM算法虽然也能提取到前景目标,但空洞区域较多,只能得到前景目标的大概轮廓.在office测试视频中,由于运动的前景目标在运动期间停止运动(在该测试视频中为行走的人停止行走,保持站立姿势看书),GMM和GMG算法由于运动前景目标的停止运动从而逐渐失去对前景目标的检测能力,在GMM算法的检测结果中甚至前景目标已经完全消失.而原始ViBE算法和本文所提算法由于基于1.2节所述的保守背景模型更新策略,在前景目标静止的情况下依然能准确检测到前景目标.

在fall和fountain01动态背景测试视频中,本文所提算法展现了对动态背景极高的鲁棒性,检测到的前景目标几乎不包含任何错误的背景像素点.而GMM算法和原始ViBe算法则把晃动的树叶误判断为前景目标,得到的检测结果中包含大量杂点,且检测结果较不完整;GMG算法在动态背景下则几乎不能用,虽然能检测到较完整的前景目标,但检测结果中包含了大量的背景元素.在badminton测试视频中,虽然背景本身是静态的,但是由于相机存在晃动,产生的效果类似于背景在动态变化. GMM算法和原始ViBe算法检测得到的结果中含有大量的误判断背景像素点,将地面上的标志线都误判断为了前景目标;GMG算法则将几乎所有的标志线都误判断为前景目标;而本文所提算法准确地提取到了前景目标,抑制了相机晃动的影响.

在5组测试视频下,本文所提算法的效果都明显好于GMM算法、GMG算法和原始ViBe算法.不论是基本的静态背景还是动态背景和相机晃动的复杂场景,本文所提算法都能得到较好的前景目标检测结果,增强了算法对各种场景的鲁棒性,扩大了算法的应用范围.

3.2.2 定量分析

为了对改进ViBe算法的检测效果做定量分析,定义如下4个量化指标:

(13)

其中,TP为正确的前景像素点个数,FN为错误的背景像素点个数,FP为错误的前景像素点个数,TN为正确的背景像素点个数. Re召回率(Recall)表示检测到的正确前景像素点占真实前景像素点的比例;PR准确率(Precision)表示检测到的正确前景像素点占所有检测到的前景像素点的比例;FNR假负率(False Negative Rate)表示检测结果中的错误背景像素点占真实前景像素点的比例;FPR假正率(False Positive Rate)表示检测结果中的错误前景像素点占真实背景像素点的比例.检测结果的召回率和准确率越高、假负率和假正率越低,则前景目标检测算法的效果越好.

分别对GMM算法、GMG算法、原始ViBe算法和改进ViBe算法使用changedetection测试集的highway、office、fall、fountain01和badminton测试视频进行测试.其中,highway测试视频取470帧~1 700帧;office测试视频取570帧~2 050帧;fall测试视频取1 000帧~4 000帧;fountain01测试视频取400帧~1 184帧;badminton测试视频取800帧~ 1 150帧.对于5组测试视频分别得到的召回率、准确率、假负率和假正率取平均值,结果如表 1所示.由结果可见,GMM算法的召回率Re略低于原始ViBe算法而准确率PR明显高于原始ViBe算法.这说明虽然GMM得到的前景目标检测结果较不完整,但其对于前景像素点分类的准确率较高;而原始ViBe算法虽然能检测到更完整的前景目标,但其准确率有所下降. GMG算法由于把大量的背景像素点也误判断为前景像素点,虽然其召回率Re较高,但也导致了非常高的假正率FPR.本文所提的改进ViBe算法的召回率Re和准确率Pr都高于原始ViBe算法,表明本文所提算法不仅能检测到较完整的前景目标,且检测结果的准确率也较高.在假负率FNR和假正率FPR两项指标上,本文所提的改进ViBe算法均低于原始ViBe算法,并且在FNR和FPR两项指标上分别低于GMM算法和GMG算法,更进一步证明了改进ViBe算法较高的检测结果准确性.

表 1 检测结果对比 Tab.1 Comparison of detection results
算法 Re PR FNR FPR
GMM 0.531 0.719 0.469 0.003
GMG 0.787 0.312 0.283 0.251
原始ViBe 0.604 0.575 0.396 0.011
改进ViBe 0.673 0.726 0.327 0.005
4 结论

针对原始ViBe算法的不足,提出了一种改进的ViBe算法.分别在以下4个地方做出了改进:

1) 选取像素点周围邻域内的同质像素点对背景模型进行初始化,保证了初始化的背景模型的合理性,从而在视频的第2帧就可以提取到较精确的前景目标;

2) 根据每个像素点的场景动态程度自适应设置阈值,对于动态程度较高的像素点设置较高的阈值,而对于动态程度较低的像素点设置较低的阈值,从而极大改善了原始ViBe算法在动态背景场景下的检测准确性;

3) 根据场景的动态程度自适应调整背景模型更新的速率,使得背景模型能够随着场景的变化及时更新;

4) 使用光流来判断像素点是否存在运动从而把真实的前景目标和鬼影区分开来,并及时对背景模型进行修正从而尽快消除鬼影现象.

实验结果表明本文所提的改进ViBe算法无论在定性分析下的视觉直观感受还是定量分析下的4项量化指标都明显优于原始ViBe算法,在能检测到较完整前景目标的同时检测结果的准确率也较高.

参考文献
[1] 赵骥, 冯闯, 邵富群, 等. 基于自适应帧差和水平集的运动目标检测和分割[J]. 信息与控制, 2012, 41(2): 153–158.
Zhao J, Feng C, Shao F Q, et al. Motion information detection and segmentation based on adaptive frame difference and level set[J]. Information and Control, 2012, 41(2): 153–158.
[2] Chen B H, Huang S C. An advanced moving object detection algorithm for automatic traffic monitoring in real-world limited bandwidth networks[J]. IEEE Transactions on Multimedia, 2014, 16(3): 837–847. DOI:10.1109/TMM.2014.2298377
[3] Sobral A, Vacavant A. A comprehensive review of background subtraction algorithms evaluated with synthetic and real videos[J]. Computer Vision & Image Understanding, 2014, 122(1): 4–21.
[4] Stauffer C, Grimson W E L. Adaptive background mixture models for real-time tracking[C]//1999 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway, NJ, USA: IEEE, 1999: 252.
[5] Kaew P. An improved adaptive background mixture model for real-time tracking with shadow detection[C]//Proceedings of the European Workshop Advanced Video Based Surveillance System. Berlin, Germany: Springer, 2001.
[6] Chen Y T, Chen C S, Huang C R, et al. Efficient hierarchical method for background subtraction[J]. Pattern Recognition, 2007, 40(10): 2706–2715. DOI:10.1016/j.patcog.2006.11.023
[7] Yao J, Odobez J. Multi-layer background subtraction based on color and texture[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ, USA: IEEE, 2007: 1-8.
[8] Elgammal A, Harwood D, Davis L. Non-parametric model for background subtraction[M]. Berlin, Germany: Springer, 2000: 751-767.
[9] Barnich O, Droogenbroeck M V. ViBE: A powerful random technique to estimate the background in video sequences[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ, USA: IEEE, 2009: 945-948.
[10] Barnich O, Van D M. ViBe:A universal background subtraction algorithm for video sequences[J]. IEEE Transactions on Image Processing, 2011, 20(6): 1709. DOI:10.1109/TIP.2010.2101613
[11] 余烨, 曹明伟, 岳峰. EVibe:一种改进的Vibe运动目标检测算法[J]. 仪器仪表学报, 2014, 35(4): 924–931.
Yu Y, Cao M W, Yue F. EVibe:An improved Vibe algorithm for detecting moving objects[J]. Journal of Instrumentation, 2014, 35(4): 924–931.
[12] 陈星明, 廖娟, 李勃, 等. 动态背景下基于改进视觉背景提取的前景检测[J]. 光学精密工程, 2014, 22(9): 2545–2552.
Chen X M, Liao J, Li B, et al. Foreground detection based on improved visual background extraction in dynamic background[J]. Optics and Precision Engineering, 2014, 22(9): 2545–2552.
[13] 苏延召, 李艾华, 姜柯, 等. 改进视觉背景提取模型的运动目标检测算法[J]. 计算机辅助设计与图形学学报, 2014, 26(2): 232–240.
Su Y Z, Li A H, Jiang K, et al. Moving object detection algorithm based on improved visual background extraction model[J]. Journal of Computer-Aided Design and Computer Graphics, 2014, 26(2): 232–240.
[14] 莫邵文, 邓新蒲, 王帅, 等. 基于改进视觉背景提取的运动目标检测算法[J]. 光学学报, 2016(6): 196–205.
Mo S W, Deng X B, Wang S, et al. Moving object detection algorithm based on improved visual background extraction[J]. Acta Optica Sinica, 2016(6): 196–205.
[15] Hofmann M, Tiefenbacher P, Rigoll G. Background segmentation with feedback: The Pixel-based adaptive segmenter[C]//Computer Vision and Pattern Recognition Workshops. Piscataway, NJ, USA: IEEE, 2012: 38-43.
[16] 燕莎, 潘永. 高斯核密度估计的背景建模运动目标检测[J]. 探测与控制学报, 2017, 39(1): 76–79.
Yan S, Pan Y. Background modeling for moving target detection based on Gauss kernel density estimation[J]. Journal of Detection & Control, 2017, 39(1): 76–79.
[17] 陈海永, 郄丽忠, 杨德东, 等. 基于超像素信息反馈的视觉背景提取算法[J]. 光学学报, 2017, 37(7): 178–186.
Chen H Y, Qie L Z, Yang D D, et al. Visual background extraction algorithm based on hyper pixel information feedback[J]. Acta Optica Sinica, 2017, 37(7): 178–186.
[18] 庄哲民, 章聪友, 杨金耀, 等. 基于灰度特征和自适应阈值的虚拟背景提取研究[J]. 电子与信息学报, 2015, 37(2): 346–352.
Zhuang Z M, Zhang C Y, Yang J Y, et al. Research on virtual background extraction based on gray feature and adaptive threshold[J]. Journal of Electronics and Information Technology, 2015, 37(2): 346–352.
[19] Farnebäck G. Two-frame motion estimation based on polynomial expansion[C]//Scandinavian Conference on Image Analysis. Berlin, Germany: Springer-Verlag, 2003: 363-370.
[20] 李秀智, 贾松敏, 尹晓琳, 等. 视觉光流矢量场估计算法综述[J]. 北京工业大学学报, 2013(11): 1638–1643.
Li X Z, Jia S M, Yin X L, et al. Survey of optical flow vector field estimation algorithms[J]. Journal of Beijing University of Technology, 2013(11): 1638–1643. DOI:10.11936/bjutxb2013111638
[21] Goyette N, Jodoin P M, Porikli F, et al. Changedetection.net: A new change detection benchmark dataset[C]//Computer Vision and Pattern Recognition Workshops. Piscataway, NJ, USA: IEEE, 2012: 1-8.
[22] Godbehere A B, Matsukawa A, Goldberg K. Visual tracking of human visitors under variable-lighting conditions for a responsive audio art installation[C]//American Control Conference. Piscataway, NJ, USA: IEEE, 2012: 4305-4312.
http://dx.doi.org/10.13976/j.cnki.xk.2019.7639
中国科学院主管,中国科学院沈阳自动化研究所、中国自动化学会共同主办。
0

文章信息

郁怀波, 胡越黎, 王佳乐, 李丽敏
YU Huaibo, HU Yueli, WANG Jiale, LI Limin
改进视觉背景提取模型的前景目标检测算法
Foreground Object Detection Algorithm Based on Improved Visual Background Extraction Model
信息与控制, 2019, 48(2): 164-171.
Information and Control, 2019, 48(2): 164-171.
http://dx.doi.org/10.13976/j.cnki.xk.2019.7639

文章历史

收稿/录用/修回: 2017-11-27/2018-04-12/2018-05-14

工作空间