背景建模--Vibe 算法改进

一、概述

       针对鬼影问题,提出一种了基于前景区域与邻域背景区域直方图相似性度量的判别方法,检测并消除鬼影;针对静止目标问题,改进了Vibe背景模型的更新策略,有效抑制静止目标被吸收为背景;针对阴影前景问题,在Vibe算法中增加一个阴影检测器模型,检测并消除阴影。针对目标不完整问题引入抠图技术。

二、鬼影检测

       针对鬼影问题,本文提出了一种基于前景区域与邻域背景区域直方图相似性度量的判别方法,可从Vibe检测到的运动目标区域中检测出鬼影区域。目前有多篇文献给出了鬼影检测方法,梁华提出了基于内外边缘直方图匹配的鬼影检测方法,金标提出了基于边缘相似性函数的鬼影检测方法,Dedeoglu Y提出了基于前景平均亮度和背景平均亮度差异性的鬼影检测方法。受到上述三种鬼影检测方法的启发,本文提出了一种基于前景和邻近背景区域直方图相似性度量的鬼影检测方法。

                                              背景建模--Vibe 算法改进_第1张图片

           基本思想如下:如3.8所示,用R表示包含该运动目标区域的最小外接矩形区域(如图(f)的蓝色矩形框),用RF表示Vibe检测到的运动目标区域(如图(f)的黄色区域),用RB表示矩形框内的背景区域(如图(f)蓝色矩形框内的黑色区域),RB=R-RF,计算运动目标区域RF对应的直方图HF和邻近背景区域RB对应的直方图HB,比较HF和HB两个直方图的匹配程度,如果是鬼影,RF和RB的颜色分布相近,HF和HB相匹配,如果是运动目标,RF和RB的颜色分布相差较大,HF和HB不相匹配。则鬼影判别准则如下:

                                           

      Dist(HF,HB) 表示前景与邻近背景区域直方图的匹配程度,采用直方图互相关系数计算得到,T表示阈值。

                       背景建模--Vibe 算法改进_第2张图片

 

                                           背景建模--Vibe 算法改进_第3张图片

           图3.9对应的是3.8图(f)中标注的鬼影1、鬼影2和运动目标的前景与邻域背景的直方图。如图3.9所示,鬼影1和鬼影2的前景和邻域背景的直方图分布相似,如图(a)、(b)所示,而运动目标的前景和邻域背景的直方图分布相差较大, 如图(c)所示,据此,可区别鬼影和运动目标。采用本文提出的鬼影检测方法之后,其实验结果如图3.10所示。

三、静止目标检测

       针对静止目标问题,本文改进Vibe背景模型的更新策略,当像素点被判断为前景时,不进行背景模型的更新,数学表达式如下:

                              

       Mi(x)表示第i帧像素x的Vibe背景模型,pi(x)表示第i帧像素x的颜色值,当像素x被判断为前景时,不更新像素x的背景模型,当像素x被判断为背景时,更新x的背景模型。当运动目标长时间静止时,该运动目标区域的背景模型不更新,背景差分后,能检测出静止运动目标。改进更新策略能有效抑制静止的目标前景被背景吸收,其实验结果如图3.11所示:

                                    背景建模--Vibe 算法改进_第4张图片

四、阴影检测

       针对阴影前景问题,本文在Vibe算法中增加一个阴影检测器模型,检测并消除阴影。目前有基于HSV颜色空间和RGB颜色空间这两种常见的阴影消除法。虽然HSV颜色空间能分离出亮度和色度,但是颜色空间之间的转换非常耗时,因此,本文引用基于RGB颜色空间的阴影检测器。

       本文引用的是基于无监督的投射阴影检测器模型。根据前景的亮度高于背景与背景的亮度和背景一致这个特点,丢弃不属于阴影的背景和前景样本,选择可能的阴影样本建立一个阴影检测器模型。如图3.12所示,其中BG表示背景值,SD表示可能的阴影,用向量vt(p)表示背景BG到其对应阴影SD的值,由于阴影的亮度比相对应的背景暗,所以矢量vt(p)应落在如图3.12所示的圆锥体内。如果像素的颜色值在灰色圆锥区域内,被认为是可能的阴影样本,利用这些可能的阴影样本建立全局场景的阴影模型和局部像素的阴影模型,从而检测出阴影。

                                               背景建模--Vibe 算法改进_第5张图片

                       背景建模--Vibe 算法改进_第6张图片

       其具体实现过程如下:如图3.13所示,图(b)是用Vibe算法对图(a)检测到运动目标区域,根据图(b),找出背景帧中相应的运动目标区域(如图(c)红框标注区域)和当前帧中相应的运动目标区域(如图(d)红色标注区域),其中,图(d)红色区域内的黄线以下为阴影区域,黄线以上主要是运动目标前景区域,本文引入一个阴影检测圆锥模型来区分运动目标区域中的阴影区域和运动目标前景区域。如图3.12所示,矢量BG表示运动目标区域中某一像素p在背景帧中的值,矢量SD表示运动目标区域中某一像素p在当前帧中的值,矢量Vt(p)表示p从BG到SD的值,通过计算矢量Vt(p)的值是否落在灰色圆锥区域内来判断像素p是否是阴影。加入阴影检测模型之后,检测出阴影区域并去除阴影,其实
验结果如图3.14所示。

                                                         背景建模--Vibe 算法改进_第7张图片

 五、目标不完整

       将Vibe算法的检测结果作为trimap图给抠图算法提供初始化信息,然后,利用抠图技术不完全标号和高精度分割的优点提取出完整的运动目标前景,基于此思路,本文提出了一种将改进的Vibe算法和抠图技术相结合的新策略来解决运动目标不完整问题,基于这种新颖的结合策略提出了两种新运动目标检测算法:GVibe算法和CVibe算法。其中,GVibe算法是改进的Vibe算法和Grabcut算法相结合的运动目标检测算法的简称,CVibe算法是改进的Vibe算法和Closed-form算法相结合的运动目标检测算法的简称。这两种算法都是基于改进的Vibe目标检测算法之上的,用改进Vibe算法先过滤掉无效背景,锁定包含运动目标前景的有效前景区域,然后再分别对每个前景区域进行抠图操作,提取出完整的运动目标前景。

       我们利用改进的Vibe算法快速检测到运动目标区域,找到该运动目标区域的最小外接矩形框,将该矩形框设定为可能前景,再根据垂直投影直方图设定部分背景信息,剩余部分设置为未知区域,根据这些初始化信息,Grabcut就能准确地从图像中分割出完整的前景目标。因此,将改进的Vibe算法和Grabcut算法相结合使用提取完整运动目标是可行的。

        GVibe算法主要分为三个处理模块:改进的Vibe背景建模,寻找潜在前景区域和执行Grabcut分割。首先,为每个像素点建立Vibe背景模型,用当前帧减去背景帧,再阈值化,检测出视频图像序列的运动目标;然后,采用平滑技术过滤检测结果,对于当前运动目标存在小空洞等残缺情况,利用数学形态学的膨胀处理,扩展前景区域,对于当前运动目标存在大面积残缺的情况,找出所有目标前景区域的边缘轮廓线,根据区块的边缘轮廓线等得其最小外接矩形,合并任意两个矩形中心两线与垂直方向夹角小于一定阈值,且垂直距离也小于一定阈值的矩形;随后,在RGB颜色空间,分别对每个矩形框内的图像,给出Grabcut的初始化信息,执行分割,获取到完整的运动目标前景。

       其中Grabcut算法主要为初始化、迭代学习和训练高斯参数,得到收敛的背景、前景高斯参数之后,再对原图像进行目标提取,即进行最后一次的切割提取操作。

 

 

你可能感兴趣的:(运动目标检测理论)