运动目标检测算法ViBe学习

Visual Background Extractor(ViBe),是一种像素级视频背景建模算法。其主要思想为一个像素点储存一个样本集,该样本集中的值为该像素点过去的值或其邻域的值,然后将当前像素点的值与样本集进行比较,来判断当前像素点是否属于背景点,如果是,则从背景模型中任意选择需要替换的值。该方法与很多方法不同的是,替换背景值不是直接替换最旧的,而是随机选择,其作用在于得到更长的时间窗。

2.1 模型工作原理

背景建模可以看作为一个分类问题,根据样本集,对当前每一个像素点判断是否属于背景点,则样本集至关重要。在该方法中,对每一个像素都有一个样本集。记图片颜色空间中 x  点的像素为  ,样本集中值为  ,样本个数为N。则样本集可表示为:

                                                                                                (1)

        为了将像素点与样本集中的值进行比较,定义 SR(v(x))  为以 x 为中心,半径为 R 的区域,若样本集中的值与当前像素点的距离在该范围内的个数大于预先规定的阈值,则将该像素点分类为背景点。若记该阈值为 #min  ,则用公式表达为:

                                                                      

通常情况,参数N设置为20,#min  2 R 20

 

2.2 背景模型初始化

很多背景建模的算法需要用一定长度的视频帧序列去初始化模型,这影响了检测的实时性与连续性。比如当视频画面的光照突然改变,则重新初始化背景模型需要较长时间。而ViBe 算法的优势在于利用单帧视频序列初始化背景模型。

ViBe算法背景模型初始化就是填充像素样本集的过程。但是由于在一帧图像中不包含时间信息,则利用相近像素点拥有相似的时间分布的特性,对于一个像素点,随机选择其邻域的像素值作为它的模型样本值。记    点的邻域,则有:

                                                                                           (2)

其中邻域的选择很重要,因为不同位置的值之间的统计相关性随着邻域的增大而减小。视频画面为640*480时,可选择八连通域作为其邻域。

      该初始化方法的优点在于对噪声的反应较灵敏,计算量小且速度快,可以很快地进行运动目标检测,但是缺点是容易引入Ghost区域。(由于把运动物体当作背景模型,下一帧其运动时,原本覆盖的区域也会被错误检测为运动的,这块区域便称为Ghost)好在选择合适的背景更新策略可以快速将Ghost区域消除。

 

2.3 背景模型更新

       背景模型更新是该算法的关键部分,它使得背景模型能够适应背景的变化而变化,比如光照度忽然变化与场景中的物体变更等。传统的更新策略有保守更新策略与Blind更新策略。

其中保守更新策略采用的是:当前像素点被判断为背景点的时候才能被加入到背景模型中,而前景点永远不被用于填充背景模型。该方法的优点是运动物体的检测非常灵敏,而缺点是易引起死锁与持续的Ghost区域。比如当背景被误判为前景或静止的物体忽然移动。而对应的解决方法是引入空间信息或采用前景点计数的方法。

Blind更新策略采用是是:不管像素点被判断为前景点还是背景点,都加入背景模型中。其优点是对死锁不敏感,但缺点是对缓慢移动的物体易融入背景模型中无法检测出来。其对应的解决方法是扩大背景模型样本,但这样会增加储存于计算负担。

ViBe算法采用的是保守更新策略于空间信息结合的方法。还可添加前景点计数的策略。这样综合的更新策略又三个特性:

无记忆更新

在选择样本集中需要替换的样本值时,随机选择一个样本值进行更新,这样可以保证样本集中既有最近的历史像素点,也包含较旧的样本值,即样本集的时间窗更长。在这种策略下,样本集中一个样本值在时刻t不被更新的概率为(N-1)/Ndt 时间过去后,样本值仍然保留的概率为:

                                                                                (3)

也作:

                                                                                        (4)

可见,样本被保留的概率不受时间t的影响,即历史值不影响未来值,故为无记忆更新。这种随机的更新策略使其成为不确定的背景建模算法,故还需要保守更新策略来保证模型不发散。

时间取样

很多实际情况不需要更新每一帧数据的每一个背景像素模型,所以当像素点被分为背景点的时候,会按照一定概率  (   :时间采样因子,可取5)来确定该点是否被用于更新背景模型。这样可以使背景模型样本集中包含更长时间窗的数据。

空间传播

由前面提到的,选择保守更新策略必须要解决它的缺点,故需要引入空间信息。具体操作为:当一个像素点被选择去更新背景模型中的样本值时,也同时更新其邻域中的任意一个像素点的背景模型样本。这种更新邻域样本值的方式利用了像素值的空间传播特性,利用这一特性,被误认为前景点的背景可以通过邻域慢慢扩散,又利于Ghost区域更快褪去。

猜你喜欢

转载自blog.csdn.net/qq_36999901/article/details/85596680