激光与光电子学进展, 2018, 55 (11): 111501, 网络出版: 2019-08-14   

融合多尺度变换的改进Vibe算法 下载: 1149次

Improved Vibe Algorithm Integrated with Multiscale Transformation
作者单位
江南大学轻工过程先进控制教育部重点实验室, 江苏 无锡 214122
摘要
针对视觉背景提取(Vibe)算法在目标检测过程中存在鬼影且易受动态背景干扰等问题,提出了一种基于多尺度空间的Vibe算法。在建立背景模型前,对输入的视频序列进行金字塔变换,得到顶层、中层、底层3种不同分辨率的图像;再在不同分辨率下进行Vibe前景检测,并对检测结果进行融合,减少了动态背景的影响,同时提出了一种鬼影消除策略,结合帧间信息,加入二次判断策略,加快了鬼影的消除;最后,为了更好地适应动态环境,提出了一种背景复杂度量,根据背景的复杂程度,自适应地调整阈值。实验结果表明:经改进的算法加快了鬼影的消除,对动态环境噪声的干扰有良好的稳健性。
Abstract
A visual background extracting (Vibe) algorithm based on multiscale space is proposed to solve the problem that there exist ghosts and dynamic background disturbance in the target detection process for the conventional Vibe algorithms. Before the background model is established, the input video sequence is pyramid transformed to obtain three different resolution images at the top, middle, and bottom layers. Then the Vibe foreground detection is performed at different resolutions, and the detection results are fused to reduce the influence of dynamic background. At the same time, a ghost elimination strategy is proposed which enhances the ghost elimination by using the information between frames and by adding a second judgement. Finally, in order to well adapt to the dynamic environment, a metrology under a complex background is proposed, in which the threshold can be adaptively adjusted according to the complexity of backgrounds. The experimental results show that the improved algorithm accelerates ghost elimination and has strong robustness to dynamic environmental noise disturbances.

1 引言

运动目标检测在计算机视觉领域一直是一个比较前沿的研究课题,在视频监控中应用广泛。目前常用的目标检测方法有:帧间差分法[1]、光流法[2]和背景差分法[3]。帧间差分法是指在视频图像序列相邻的两帧或者三帧间的图像来进行差分,从而提取运动目标的信息,该方法虽然实时性好,但检测效率不高,一般难以获得完整的运动目标的轮廓。光流法是通过计算图像光流场,然后根据图像的光流分布特性来进行聚类处理,虽然检测精度较高,但计算量大,实时性不好。背景差分法利用当前图片序列和背景的差分,通过阈值分割使前景和背景分离,得到运动的物体,其算法比较简单,在简单环境下能够很好地分割出前景。Barnich等[4]提出了快速的视觉背景提取差分法,即Vibe算法,这是一种像素级的前景检测算法。该算法利用像素邻域空间信息建立相应的像素信息传播机制,其主要创新之处在于背景模型的更新策略,可以随机选择需要替换的像素样本和更新邻域像素,在静态环境下优于其他算法,但在复杂的动态环境下则容易出现错检和漏检,难以获得完整的前景。为了提高检测算法在动态环境下的性能,国内外许多学者提出了许多改进方法,Liu[5]在Vibe算法的基础上提出了一种基于时空梯度的改进算法,算法根据背景的复杂性和变化情况,通过计算出空间梯度的平均值调整检测半径,再根据空间梯度的照度不变性减少阴影的干扰,因此改进后的算法在去除阴影和消除“鬼影”方面具有较好的效果。莫邵文等[6]在Vibe算法基础上提出了一种改进算法,结合视觉显著性判断背景模型中存在的鬼影,并通过建立闪烁矩阵自适应调节匹配阈值,取得了较好的效果。

在传统Vibe算法的基础上,本文提出了一种改进的算法。通过对输入的图像序列进行多尺度高斯分解,得到不同分辨率下的图像;然后在不同尺度空间下对其进行Vibe前景检测,并结合帧间信息,加快消除鬼影;同时为了更好地适应环境变化,提出了一种背景复杂度量,并根据背景的复杂程度动态地调整匹配阈值。

2 Vibe算法分析

2.1 Vibe算法

Vibe算法是一种像素级的背景建模算法,算法过程主要包括3个部分:背景建模、前景检测和模型更新。

1) 背景建模

在Vibe模型中,背景模型只需一帧就可完成模型初始化,为每一个像素点存储了一个样本集,样本集大小为N,一般N取20。该模型假设相邻像素点具有相似的空间分布特性,从邻域像素点随机地选择N个像素值作为其模型样本值并存入到样本集中,模型可表示为

M(x)=v1,v2,,vN,(1)

式中vi(i=1,2,…,N)为第i个样本模型中像素值,M(x)为背景模型。

2) 前景检测

Vibe算法从第二帧开始进行前景检测,通过对每个新的像素值与样本集的比较区分背景和前景。设在当前帧中像素x的像素值为V(x),定义一个以V(x)为中心,以匹配阈值R为半径的圆形区域SR[V(x)],该区域内包含与V(x)欧氏距离<R的所有点[7],如图1所示,其中C1C2为二维颜色空间(C1,C2)的分量。通过统计该区域内V(x)欧氏距离<R点的个数,与设定的阈值进行比较,若大于该值,则判断该像素为背景像素,否则为前景像素。

图 1. Vibe背景模型

Fig. 1. Vibe background model

下载图片 查看所有图片

3) 模型更新

Vibe算法采用随机更新的策略,当某个像素点V(x)判定为背景像素时,需要对其进行背景模型更新,有1/α的概率更新自己的模型样本值,同时也有1/α的概率更新其邻域像素点的样本值。其中,α为时间二次抽样因子。

2.2 Vibe算法存在的问题

若第一帧存在目标,检测结果会出现鬼影区域,如图2(b)红色矩形框所示。这是由于Vibe算法是采用第1帧来初始化背景模型的,当第1帧存在目标时,就会错误地将其初始化为背景模型,在原来位置就会产生鬼影区域,对检测的结果产生影响,虽然在更新过程中会消除,但需要消耗一定的时间。

当背景较为复杂时,如背景中存在晃动的树叶、水波纹等,易受动态背景的干扰,如图3(b)所示,Vibe算法会将此误检为前景,将对检测的精度有很大影响。

图 2. 鬼影区域。(a)视频帧;(b)检测结果

Fig. 2. Ghost area. (a) Video frame; (b) test result

下载图片 查看所有图片

图 3. 动态背景干扰。(a)视频帧;(b)检测结果

Fig. 3. Dynamic background disturbance. (a) Video frame; (b) test result

下载图片 查看所有图片

图 4. 不同分辨率下的灰度值分布。(a) 320 pixel×240 pixel;(b) 160 pixel×120 pixel;(c) 80 pixel×60 pixel

Fig. 4. Gray value distributions at different resolutions. (a) 320 pixel×240 pixel; (b) 160 pixel×120 pixel; (c) 80 pixel×60 pixel

下载图片 查看所有图片

3 改进的Vibe算法

考虑到Vibe算法所存在的问题,在建立背景模型前,对图像序列进行图像金字塔变换,在不同尺度下进行Vibe前景检测,再对检测的结果进行融合,减少了动态背景的影响。同时,提出了一种鬼影抑制策略,加快了鬼影的消除。为了更有效地应对复杂环境,根据背景复杂程度,动态地调整阈值 R,进一步提高对环境变化的适应性。

3.1 多尺度融合

图4是在不同尺度空间下,同个位置晃动树叶,其灰度值的分布。图片原始分辨率为320 pixel×240 pixel,在高分辨率下,灰度值波动较大,如图4(a)所示;而在低分辨率下,同一位置灰度值波动较小,如图4(c)所示。在高分辨率下,将更容易检测到的晃动的树叶为前景;而在低分辨率下,将更容易检测到的晃动的树叶作为背景。

通过上述分析,在建立背景模型前,先对图像进行金字塔变换。金字塔变换是一种以多分辨率来解释图像的方法,采用对原始图像进行多尺度像素采样的方式,以生成多个不同分辨率的图像,并以金字塔形式排列,层级越高,图像越小,分辨率越低。该模型利用低通滤波器平滑图像,然后对平滑图像进行抽样,从而得到不同分辨率的图像,其公式表示为

Gk+1(i,j)=m=-22n=-22w(m,n)Gk(2i+m,2j+n),(2)

式中Gk+1(i,j)为第k+1层高斯金字塔图像,w(m,n)=w(m)*w(n)是长度为5的高斯卷积核,w(m,n)可表示为

w(m,n)=12561464141624164624362464162416114641(3)

对输入图片序列进行二级金字塔变换,得到了3种不同分辨率的图像。假设原始图像分辨率为M×N,则底层、中层和顶层的图像分辨率分别为M×NM/2×N/2、M/4×N/4。

通过高斯金字塔分解得到不同尺度的图像后,在相应层进行Vibe前景检测,就会得到3帧不同分辨率的差分图像,分别记为F0(x,y)、F1(x,y)和F2(x,y),然后对其进行融合,融合过程如下。

1) 先对F2(x,y)进行中值滤波,再对其做膨胀操作,最后进行上采样。上采样的过程为:先将每个方向上的图像增大为原来的2倍,新增的行和列以0填充;再使用与先前相同的内核(乘以4)与放大后的图像进行卷积,就可以得到“新增像素” 的近似值M2(x,y),则输出图像M2(x,y)是F2(x,y)的4倍。由于图像M2(x,y)是在低分辨率下检测得到的,故而可以去掉了晃动树叶、水波纹等动态背景引入的噪声。

2) 将M2(x,y)与中层的差分图像F1(x,y)进行融合操作,得到M1(x,y),融合过程表示为

FM2(x,y),F1(x,y)=1,ifM2(x,y)=1F1(x,y)=10,else(4)

3) 将融合后的掩模M1(x,y)进行中值滤波,并进行膨胀操作和上采样。与底层的差分图像F0(x,y)进行融合操作,得到掩模图像M0(x,y)。对M0(x,y)进行腐蚀操作,则M0(x,y)即为所需的前景目标。

3.2 鬼影抑制

由于鬼影在相邻帧间变化不大,而目标一直在运动,所以当长时间检测某个区域为前景而没有发生较大变化时,可以认为该区域为鬼影区域。本文在原算法的基础上结合帧间信息,加入二次判断策略,统计前n帧相同位置的像素均可判断为前景的次数index,并与n进行比较,若小于n即判断为前景,反之则为鬼影,此时将其更新为背景像素

L(x,y)=1,ifindex<n0,else(5)

3.3 自适应阈值

阈值在背景差分中一直扮演着重要作用,阈值直接影响最终检测的结果[8]。传统的Vibe算法在检测过程中一直采用固定的模型来更新半径R,使其不能适应动态背景的变化。当背景中存在晃动的树叶、水波纹等干扰时,会产生大量的误检。为了适应复杂环境的变化,将固定阈值改为自适应阈值[9-13],从而可以根据背景变化的程度,动态地调整阈值,避免动态背景的干扰。定义ÑT为判断动态背景的复杂程度,其表达式为

T=θM×Ni=0N-1j=0M-1D(x)-Dix,(6)

式中:D(x)为当前视频帧;Di(x)为背景模型样本;θ为抑制系数,可根据背景变化程度调整到合适的值。

ÑT反应了环境的整体变化,如果背景变化细微,ÑT就会趋于稳定;如果变化显著,ÑT就会增大,可根据ÑT的变化自适应地调整模型更新半径R,其调整规则为

R(x)=R(x)(1-λ),ifR(x)>TR(x)(1+λ),else,(7)

式中λ为阈值调节改变量。

为了防止阈值波动幅度较大,对更新阈值R设置门限RHRL。当环境变化较小时,ÑT变化不大,R(x)趋于稳定;当背景变化较大时,R(x)就会逐渐增大。

3.4 形态学处理

Vibe前景检测后,检测的结果并不是完整清晰的,会出现空洞残缺等现象,这时需对其进行形态学处理。形态学运算包括开运算、闭运算、腐蚀和膨胀。本文通过闭运算连接目标,填充空洞,再采用开运算,去除细小的目标,最后结合区域生长算法完整的分割出目标。

4 实验结果与分析

为了验证本文算法的效果,本文采用www.changedetection.net网站提供的视频序列进行测试,并与Vibe原始算法以及经典的混合高斯模型(GMM)进行对比实验。实验过程中,采用的部分参数与原Vibe算法[4]一致,其中背景样本数N=20,模板更新率α=16;模型更新半径R舍弃了原算法所设置的固定值,根据背景的复杂度进行动态调整,R的初始值为20,为了防止阈值R过大或者过小而造成像素误检,设置动态阈值门限RH=40,RL=20,阈值调节改变量λ=0.05。

4.1 对于鬼影的实验

针对鬼影的消除,选取highway图片数据集第400~800帧进行测试,图片的分辨率为320 pixel×240 pixel,实验结果如图5所示。

图 5. 本文算法与原Vibe算法鬼影消除对比图。(a)第432帧;(b) Vibe算法结果;(c)本文算法结果;(d)第536帧;(e) Vibe算法结果;(f)本文算法结果

Fig. 5. Comparison of ghost elimination for proposed algorithm and original Vibe algorithm. (a) 432nd frame; (b) result by Vibe algorithm; (c) result by proposed algorithm; (d) 536th frame; (e) result by Vibe algorithm; (f) result by proposed algorithm

下载图片 查看所有图片

由于此次实验采用第400帧对背景模型进行初始化,而在第400帧中存在目标车辆,所以检测的结果会存在鬼影区域,鬼影区域采用红色矩形框进行标记,目标的检测及鬼影消除结果如图5所示,其中图5(b)、(e)分别为第432、536帧Vibe算法结果,图5(c)、(f)分别为第432、536帧本文算法结果。由此可以看出,在第432帧视频时,原算法和本文算法均含有鬼影;在第536帧视频时,原算法仍存在部分鬼影,而本文算法鬼影已完全消失。这是由于原Vibe算法虽然有一定的鬼影消除能力,但没有对鬼影做更加有效的处理,所以鬼影存在了很长一段时间;而本文算法结合了视频的帧间信息,加入二次判断策略,对被判为鬼影的像素点重新更新为背景像素,实验结果表明,该方法能够加快鬼影区域的消除。

4.2 复杂背景下的实验

为了验证本文算法在动态背景下的性能,选取changedetection.net上提供的overpass 和canoe两组包含动态背景的视频序列进行测试,视频序列的分辨率为320 pixel×240 pixel;与原Vibe算法和GMM进行比较,其中overpass中含有大量的抖动树叶, canoe背景中含有大量水波纹,测试结果如图6、7所示。

图 6. overpass的检测结果。(a)第2377帧;(b)真值图;(c) Vibe算法;(d) GMM;(e)本文算法

Fig. 6. Detection results of overpass. (a) 2377th frame; (b) truth map; (c) Vibe algorithm; (d) GMM; (e) proposed algorithm

下载图片 查看所有图片

图 7. canoe的检测结果。(a)第961帧;(b)真值图;(c) Vibe算法;(d) GMM;(e)本文算法

Fig. 7. Detection results of canoe. (a) 961st frame; (b) truth map; (c) Vibe algorithm; (d) GMM; (e) proposed algorithm

下载图片 查看所有图片

图6为overpass视频序列检测结果,视频背景中存在大量晃动的树叶。传统的Vibe算法能够检测出大致的轮廓,但目标不够完整,内部有空洞,出现了一些漏检,而且晃动的树叶也被检测为前景,噪声点较多,GMM算法中轮廓较为清晰,但也出现了大面积的误检,本文算法很好地克服了晃动树叶的干扰,同时也较为完整地检测出目标。图7为canoe视频序列检测结果,视频背景中存在大量的水波纹情形。传统的Vibe算法将水波纹误检为前景,GMM算法也将湖面波纹和树叶误检为前景,而本文算法很好地克服了两者的干扰,船体轮廓较为完整地检测出来,人体部分出现了空洞和残缺。上述两个视频中都存在动态背景干扰,在进行前景检测时,动态背景会被误认为前景像素,这对检测的精度造成很大影响。本文算法引入了多尺度空间,在低分辨率下,噪声得到了很好的抑制,并且采用了自适应阈值,很好地克服了两者的干扰。由实验结果可以看出,本文算法在复杂环境下的检测性能要优于原Vibe算法和GMM算法。

为了定量地分析本文算法的性能,采用了受试者工作特征(ROC)、精确率fPrecision、召回率fRecall等性能指标[14-16]。ROC横坐标为假阳性率fTPR,纵坐标为真阳性率fFPR,其性能指标计算为

fTPR=NTP/NTP+NFN,(8)fFPR=NFP/NTN+NFP,(9)fPrecision=NTP/NTP+NFN,(10)fRecall=NTP/NTP+NFN,(11)

式中:NTP为正确检测为前景的像素个数;NTN为正确检测的背景的像素个数;NFN为前景被检测为背景的像素个数;NFP为背景被检测为前景的像素个数。

通过记录实验数据,绘制ROC曲线,并与原Vibe算法和混合高斯GMM进行比较,结果如图8所示。

图 8. 算法对比ROC曲线图。(a) Traffic序列;(b) overpass序列;(c) canoe序列

Fig. 8. Comparison among ROC curves by algorithm; (a) Traffic sequence; (b) overpass sequence; (c) canoe sequence

下载图片 查看所有图片

图8(a)~(c)分别为traffic 、overpass、 canoe视频序列所作的ROC曲线, ROC曲线反映了目标检测的准确度,由检测算法绘制的ROC曲线越凸向西北方向效果越好,即越靠近纵轴效果越好。当曲线越靠近横轴,说明错误检测率较高。本文算法与其他算法相比,其准确度高、误检率低,能更好地抑制背景噪声。

表1列出了混合高斯GMM、Vibe算法以及本文算法在3个不同视频序列的精确率、召回率和检测时间,精确率反映了被检测为前景像素点正确的个数占被检测为前景的像素点个数的比重,召回率反映了被检测为前景像素点正确的个数占总的前景像素点的个数的比重,检测时间反映了平均每帧处理的时间。

表 1. 不同算法的精确率、召回率和检测时间对比

Table 1. Comparison among precision rate, recall rate and time by different algorithms

VideoGMMVibeProposed
fPrecisionfRecallTime /msfPrecisionfRecallTime /msfPrecisionfRecallTime /ms
Traffic0.720.9159.60.800.8820.10.880.9251.3
Overpass0.600.77600.710.8023.80.840.9256.5
Canoe0.580.4266.70.800.4827.60.910.8661.2

查看所有表

表1可知,本文算法相比于GMM和Vibe算法,精确率和召回率要高,平均每帧处理时间比GMM算法要低,但比原Vibe算法要高,这是由于本文引入了多尺度空间,在前景检测前,先对图像进行高斯金字塔分解,得到不同分辨率下的图像,再在多个分辨率下进行检测,最后进行前景融合,算法复杂度比原Vibe算法有所增加,但仍然满足实时性要求。综合考虑,本文改进的算法整体性能要优于上述算法。

5 结论

在原Vibe算法的基础上,融合帧间信息和多尺度变换,提出了一种在复杂环境下的运动目标检测算法。利用二次判断策略,快速地消除鬼影的干扰;引入多尺度空间,在多分辨率下进行检测,并通过设置自适应阈值,有效地克服了动态背景引入的噪声。在3组视频序列下进行对比实验,实验结果表明,相比于GMM和传统的Vibe算法,本文算法能够更快地消除鬼影,在复杂环境下能更好地去除动态背景的干扰。

参考文献

[1] ChenY, Dong JW. Target detection based on the interframe difference of block and graph-based[C]∥Proceedings of IEEE International Conference of Computational Intelligence and Design, 2016: 467- 470.

[2] ManchandaS, SharmaS. Identifying moving objects in a video using modified background subtraction and optical flow method[C]∥Proceedings of IEEE International Conference on Computing for Sustainable Global Development, 2016: 129- 133.

[3] HanG, Li XF, SunN, et al. A robust object detection algorithm based on background difference and LK optical flow[C]∥Proceedings of IEEE International Conference on Fuzzy Systems and Knowledge Discovery, 2014: 554- 559.

[4] 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.

[5] Liu SY. An improved ViBe moving object detection algorithm based on spatial-temporal gradient of image[C]∥Proceedings of International Conference on Progress in Informatics and Computing, 2016: 192- 197.

[6] 莫邵文, 邓新蒲, 王帅, 等. 基于改进视觉背景提取的运动目标检测算法[J]. 光学学报, 2016, 36(6): 0615001.

    Mo S W, Deng X P, Wang S, et al. Moving object detection algorithm based on improved visual background extractor[J]. Acta Optica Sinica, 2016, 36(6): 0615001.

[7] 陈星明, 廖娟, 李勃, 等. 动态背景下基于改进视觉背景提取的前景检测[J]. 光学精密工程, 2014, 22(9): 2545-2552.

    Chen X M, Liao J, Li B, et al. Foreground detection based on modified ViBe in dynamic background[J]. Optics and Precision Engineering, 2014, 22(9): 2545-2552.

[8] 丁祺, 顾国华, 徐富元, 等. 强视差下的移动相机运动目标检测[J]. 激光与光电子学进展, 2015, 52(9): 091501.

    Ding Q, Gu G H, Xu F Y, et al. Moving target detection on moving camera with the presence of strong parallax[J]. Laser & Optoelectronics Progress, 2015, 52(9): 091501.

[9] 田毅龙, 周伟, 王卫华, 等. 一种由粗到精的大视场弱小目标检测方法[J]. 激光与光电子学进展, 2013, 50(1): 011104.

    Tian Y L, Zhou W, Wang W H, et al. A method of dim and small target detection in large field-of-view from coarse to fine[J]. Laser & Optoelectronics Progress, 2013, 50(1): 011104.

[10] 闵卫东, 郭晓光, 韩清. 改进的ViBe算法及其在交通视频处理中的应用[J]. 光学精密工程, 2017, 25(3): 806-811.

    Min W D, Guo X G, Han Q. An improved ViBe algorithm and its application in traffic video processing[J]. Optics and Precision Engineering, 2017, 25(3): 806-811.

[11] 宋志勤, 路锦正, 聂诗良. 改进的时空背景差分目标检测[J]. 光电工程, 2016, 43(2): 27-32,39.

    Song Z Q, Lu J Z, Nie S L. Improved spatiotemporal background subtraction method for target detection[J]. Opto-Electronic Engineering, 2016, 43(2): 27-32,39.

[12] 陈树, 丁保阔. 动态背景下自适应LOBSTER算法的前景检测[J]. 中国图象图形学报, 2017, 22(2): 161-169.

    Chen S, Ding B K. Foreground detection of the adaptive LOBSTER algorithm in a dynamic background[J]. Journal of Image and Graphics, 2017, 22(2): 161-169.

[13] Xie L, Zhang X H, Guo P Y, et al. ViBe with adaptive threshold based on energy minimization[J]. Applied Mechanics and Materials, 2015, 782: 397-406.

[14] ZhangD, XuA, ZhangJ, et al. The improvement of VIBE foreground detection algorithm[C]∥Proceedings of International Conference on Automatic Target Recognition and Navigation, 2018, 10608: 1060802.

[15] WuS, ChenD, WangX. Moving target detection based on improved three frame difference and visual background extractor[C]∥Proceedings of IEEE International Congress on Image and Signal Processing, 2017: 1- 5.

[16] Ma J Y, Jie F R, Hu Y J. Moving target detection method based on improved Gaussian mixture model[J]. Proceedings of SPIE, 2017, 10420: 1042014.

茅正冲, 沈雪松. 融合多尺度变换的改进Vibe算法[J]. 激光与光电子学进展, 2018, 55(11): 111501. Zhengchong Mao, Xuesong Shen. Improved Vibe Algorithm Integrated with Multiscale Transformation[J]. Laser & Optoelectronics Progress, 2018, 55(11): 111501.

本文已被 5 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!