ref :
Chapter 2 Motion Detection in Static Backgrounds. [ Github :…… ]
------------------------------------------------------------------------------------------------------------------------------
静态背景下的运动检测
运动检测在任何物体跟踪或视频监控算法中起着重要作用,几乎所有这些算法都以运动检测开始的。实际上,运动中潜在前景物体的可靠性可以被识别到,通过跟踪和/或对象识别的后续处理阶段可以直接影响效率和性能水平。
然而,检测相同场景的图像变化的区域不是简单的任务。因为它不仅取决于前景元素的特征,而且也会被背景元素特征所影响,比如,摇摆元素的存在。
因此,在此情境中,我们将重点放在基本情况下的运动检测问题上,即当所有背景元素都不动时(静态背景)。
我们的目标是解决涉及到的如下的几个不同问题:
1、不同成像传感器的使用 ,
2、不同环境的适应性,
3、不同的运动速度,
4、目标的形状变化
5、某些不受控制的动态因素(例如逐渐或者突然的照明变化)
因此,首先,我们通过分析可能导致系统故障的因素,对以往的相关方法进行简要概述。然后,我们提出一种成功处理所有出现问题的运动分割算法。 最后,进行绩效评估、分析和讨论。
2.1 State of the Art
以静态背景作为起点的话,那么,任何检测到的改变的像素将被视为前景对象的一部分。 因此,基于时间信息的技术 可以使用阈值帧差来拟合。 通过依赖于差异中隐含的帧之间的时间关系,可以采用两种不同的方法 来定义。
其一,背景(帧)减法使用一个参考帧来表示场景背景。 该帧通常设置为第一个捕获的图像。 因此,如果像素的当前值与参考帧中的值相差很大,则像素被分类为前景。虽然它似乎是完美的解决方案,值得注意的是,在真实的环境中可能发生以下两种不同的情况(见图2.1):
1、理想情境:参考帧中没有前景对象。 在这种情况下,所得到的图像将与所需的分割结果相同。
2、一般情境:参考帧中有前景对象。在这种情况下, 由于它们在参考帧中的位置,它们的存在使得背景(帧) 减法失败,进而展现出错误的前景提取结果。(也就是重影)
其二,可以考虑基于时间上相邻的帧的技术。基本上,这种时间差异的方法表明,如果像素的亮度(强度)在当前帧和前一帧之间显着变化,则像素正在移动。也就是说,像素 x 是一个移动的物体一旦它满足: | It ( x ) − It − 1 ( x )| < τ (2.1)。其中,It ( x ) 表示 t 时刻的像素位置 x 处的亮度(强度) 值,而 t 则是对应于描述有显著强度变化的阈值。
尽管如此,尽管这是一种提供了容易又快速的移动物体检测方法,但它只适用于物体速度和帧速率的特定条件,因为它们产生了两个众所周知的不同缺点:
1、重影 。
2、前景孔径。
所以,如图2.2所示,前一帧对象存在使得产生了虚假警报(重影),而当物体的速度太低或者变得不动时,像素之间的相似性会使分割结果产生“孔洞”(前景孔径)。
因此,作为一种解决方案,Kameda和Minoh [2]提出了这种方法的变体:双差图像。该方法通过将它们与逻辑与(如图2.3)组合,从而在时间t和t-1的帧之间以及在时间t和t + 1的帧之间操作阈值差。 然而,因为物体的位置不能实时估计,如果移动物体没有足够的质感,则不能进行精确的运动检测,并且在此种情境中不考虑目标静止的情况。
在VSAM项目中,Collins等 [1]描述了运动检测的不同混合算法。 基本上,基于图像的三帧差分操作 在时间t和t-1之间的帧之间的差异以及t和t-2之间的差异被执行以确定合法运动的区域并擦除重影问题。
然后,Kanade等人提出的自适应背景( - 帧)减法 [3],用于解决前景孔径问题。 尽管如此, 尽管所提出的算法解决了图像差异的问题,并且在运动检测中给出了良好的结果,但是当对象开始或结束运动和/或场景中存在亮度变化时,背景更新过程失败。 此外,由于广泛应用于场景图像深度低的户外环境,因此在可变深度拍摄方面存在一些缺点。
为了解决这些问题,已经开发出许多用于正确背景更新的技术。最简单的技术是通过时间 t-1 的背景像素和时间t的凸组合更新背景,使得背景像素的更新权重最终随着像素分类(背景像素的轻权重和前景像素的重权重)而变化。
相反,Migliore等 [4]声称可以获得鲁棒的像素前景分类,而不需要先前的背景学习。 为此,他们利用联合背景减法和逐帧差分法来适当地对像素进行分类(参见算法1)。 然后,根据Wren等人指出的这种分类选择性地更新背景模型。 [5]通过使用以下公式:
其中α值根据像素分类而不同。因此,如果通过避免背景损坏将像素分类为前景,则将其设置为0; 使用低,非零值来缓慢更新模型; 最后,在任何背景元素开始移动的情况下,高的α值将允许快速恢复 背景模型。
然而,尽管表现良好,但它有两个重要的缺点。 一方面,当目标停止或速度较慢时,此方法将失败。 另一方面,考虑到对于整个图像建立差异阈值,诸如非平稳和相关噪声,环境照明,对比度不足和/或与场景不相称的对象尺寸等各种因素也将使得 方法失败。
2.2 差异法的结合
我们在这个阶段的贡献是为鲁棒运动检测提供实时算法。 为此,提出了差异法(CoD)组合技术,因为此技术证明了它们提供了良好的性能。 正如Migliore et al等人所说 [4],可以通过使用背景( - 帧)减法来克服相邻的差异问题。
要解决的第一个问题是如何正确选择阈值,因为它是分段过程中的关键参数,它可以严重影响连续步骤的性能。 虽然用户可以手动设置阈值,但是当设计自主系统时,这不是有效的解决方案。 在这种情况下,一个常见的解决方案是使用自动计算该值的阈值算法。
Sezgin和Sankur [6]根据他们正在利用的信息对自动阈值法进行了分类:
1、基于直方图形状的方法,其中例如峰,谷和 分析平滑直方图的曲率。
2、基于聚类的方法将灰度级样本分为两部分(背景和前景),或者交替地被建模为高斯混合。
3、基于熵的方法导致使用前景和背景区域的熵的算法,原始和二值化之间的交叉熵 图像等。
4、基于对象属性的方法搜索灰度级和二值化图像之间的相似度测量,如模糊形状相似性,边缘符合等。
5、空间方法使用较高阶概率分布和/或相关性 像素之间
6、本地方法将每个像素的阈值适应局部图像特征。
尽管存在各种可能性,但是只有当阈值的图像满足其关于图像上的灰度值分布的假设时,现有的方法才能很好地工作。 所以,有关兴趣对象的形状变形,前景对象的大小与背景关系 ,或背景和目标灰度分布的重叠,都将使它们失败。 所有这一切,有必要设计一种新的方式来自动获取 阈值。
我们在这一点上的贡献是一种自适应动态阈值法,使其能够适应不均匀分布的分辨率,场景中不充分的照明梯度,阴影以及照明的渐变以及突然的变化。 主要思想是将区域中的每个拍摄图像划分,以便为每个描述的区域获得阈值。 一个关键问题是区域定义的方式,因为它依赖于分辨率,因此依赖于摄像机。 在这份手稿中,考虑了两种不同类型的相机:
1、透视相机
2、鱼眼相机
……
no :
一旦确定了图像区域的形状,就会出现一个新的问题:它们的大小。 该参数在噪声影响以及照明和灰度均匀性方面非常重要。 它主要取决于摄像机相对于场景的位置,使得当摄像机进一步放大时,必须定义较小的区域。 这是因为场景元素的大小与相机和这些元素之间的距离成正比。
请注意,每个区域都应该通过允许正确选择阈值的唯一值进行识别。特别是常用的统计功能。最合适的统计量在很大程度上取决于输入图像,尽管简单快速的函数包括局部强度分布的最小值和最大值的平均值,中值或平均值。 在我们的例子中,我们用平均值来描述每个图像区域。
下一步是确定正确的CoD技术来实现我们的目标,即准确的细分。 如图2.8所示,并在算法2中绘制,已经研究了不同的情况:
1、理想的情境。背景( - 帧)减法的参考帧是 没有前景对象。 因此,相邻的帧差异可能会面临三种不同的情况:
1)前一帧中没有前景对象。 在这种情况下,当相邻差异和背景( - 帧)相减大于或等于其对应阈值时,像素被分类为前景。
2)前一个对象出现在前一帧中。因此,可能发生相邻差异缺点之一或两者均发生。通过考虑到背景( - 帧)减法不会将这些像素识别为前景来解决重影问题。关于前景孔径的缺点,将被这样来解决,当前景对象具有相似的纹理时,它们通过背景(-frame)减法正确识别,而不是相邻差分法。我们解决这种情况的方式是考虑在这种情况下像素是什么。 因此,一方面,它们必须满足灰度相似关系,因为它们属于同质纹理。另一方面,另一个需求是指在前一帧中被分类为前景对象的那些像素。 因此,有必要使用两个约束来获得成功的结果,因为只使用相似性标准,可能会产生许多虚假警报 。
3)最后一种情况发生在前景对象停止移动时。 再次,这种情况已经通过相似性标准来解决了。
2、一般的情境。在参考框架中会出现前景对象 。 这种情况与前一种情况的区别在于,最初被视为背景元素的元素可以随时变成前景。 因此,当它开始移动时,会留下一个会被错误分类的孔径作为前景。
Now:
需要注意的是,在图2.8中输入的是彩色图像。 然而,为了获得能够在彩色和灰度级图像上运行的一般解决方案,需要进行预处理。……
另外,考虑到从分割过程得到的二进制图像上应用两个连续的形态学操作,以抑制背景/前景分类方法中的小错误。 因此,首先,使用3×3的滤波器来擦除由不同的动态因素引起的孤立点或线,例如传感器噪声,不均匀的衰减或灯的闪烁。 然后,通过3×3扩展滤光片实现前景区恢复。 由于捕获和/或分段错误,同一兴趣对象的两个不同部分会分开,因此特别有用。
另一个重要的问题是突然间的、全局的照片变化。解决这种情况的一个常见方法是在相当大部分的图像(通常是图像的三分之二)发生变化时产生报警,即已经被分类为前景。 虽然在大多数情况下效果很好,但是当这种变化是由于目标物体与摄像机的接近程度而失败的。 通过比较当前帧和前一帧中检测到的前景像素的数量已经解决了这种情况。因此,假设当超过三分之二的图像被分类为前景并且当前帧中检测到的地心像素的量大于前一帧中检测到的量的1.5倍时,发生全局照明。注意,这种照明改变需要为背景( - 帧)减法技术设置新的参考帧。 此外,一些照明源需要几毫秒来稳定。 因此,当检测到全局照明变化时,系统会在重置所有参数之前等待一些帧(通常在我们的实验中通常是五帧)。
算法2 : COD