基于样本一致性的背景减除运动目标检测算法(SACON)

申明,本文非笔者原创,原文转载自:http://blog.csdn.net/kezunhai/article/details/9500637

 本文根据Hanzi Wang等人的论文Background subtraction based on a robust consensus method结合自己的理解而成,如果对论文感兴趣的,可以点击打开链接 下载,链接里收集了常见的背景建模方法的论文,有问题欢迎交流。
          在文中,作者提出了一种基于统计的高效自适应的运动目标检测算法。该算法被称为SACON(SAmple CONsensus),通过对每一个像素进行样本一致性计算估算背景模型,算法计算简单但性能很好,与时下的最新算法相比,算法具有很强的应用前景。在博主的前一期博文基于像素自适应分割的运动目标检测算法中层对该算法进行过简单的介绍。下面将来简要的介绍SACON算法。

        1)背景建模

       本文的背景建模有点类似VIBE算法,只不过VIBE算法是在一个半径为R的邻域内进行样本,从而建立背景模型;而SACON算法的背景模型则更为简单和直接,该算法那直接取视频序列的前N帧作为背景模型。那么,对于每一个像素来说,其背景模型则可以表示为:C(c1,c2,...,cN),对于彩色图像来说ci=(r,g,b)或对应颜色空间的分类;而对于灰度图像来说,则对应于灰度值。

      2)前景检测

       在介绍前景检测前,我们先来分析下SACON算法的整个框架,如框架图如下图所示:

基于样本一致性的背景减除运动目标检测算法(SACON)_第1张图片

        通过上图可知,该算法主要分为四个主要部分,分别是邻域帧间差分、TOM(Time Out Map)、SACON算法核心处理、空洞填充等后处理。针对这四部分,下面来分别进行介绍。

        ① 领域帧间差分

       为了减少计算量,加快计算速度,算法在第一环节就采用邻域帧间差分法来提取可能的运动像素(当然也可能包括一些噪声点以及背景点)。

       ② TOM

       TOM实际是一个计数矩阵,记录的是一个像素被连续检测为前景的次数。其计算公式如下所示:


其中Bt(m)=0,表示m处的像素被检测为前景,则其TOM值加1。如果TOM值高于某阈值,则将其判为背景(出现这种情形有两种情况:一是某一运动目标进入场景后停止场景中,如汽车开进并停止;二是原本是背景中的物体移除了场景,如汽车开出),并将TOM值置为0。

       ③ SACON算法核心

       对于新来的像素,将其与对应的背景模型比较,比较方式如下式所示:


其中Tr是一预先设置的常量,对于灰度图像c=1,而对于RGB彩色图像来说,c=(r,g,b),上式值=1表示背景,0表示前景。接着进一步采用下式来判断:

基于样本一致性的背景减除运动目标检测算法(SACON)_第2张图片

其中Tn是一预先定义的阈值,其取值与N相关,一般可取2/3NTr(彩色图像的情况下)。Bt(m)=0表示前景,否则为背景。个人观点:此处的阈值选择应该采用自适应的方法,不同位置处的像素的阈值应该根据该处像素的特性来确定,如对比度、平均均值、方差等,可以参考PBAS算法的阈值计算方法。

       ④ 后处理

       对于检测到的前景,采用连通性分析,填充前景区域内部的空洞,这可以通过形态学滤波很好的实现。文中,对阴影检测也进行了简单的分析,并对于前景像素与背景像素相似的区域,作者采用了进一步的验证来减少误判。

       介绍完以上四个部分,有必要对上图的流程进行简单的疏通:首先通过帧间差分获得可能的运动前景possible Foreground Mask (PFM);然后将将背景模型、PFM以及TOM传给SACON(在SACON中值对检测为PFM对应的像素进行检测),得到FM,然后对FM进行连通性分析并填充空洞,得到运动目标。而在背景更新方面,采用了像素层次和块层次的更新,具体见论文。

       最后,贴出几张论文中的效果图:

基于样本一致性的背景减除运动目标检测算法(SACON)_第3张图片


你可能感兴趣的:(基于样本一致性的背景减除运动目标检测算法(SACON))