VIBE 运动目标检测

VIBE的确是一个非常快速 的方法,计算量与内存使用量极小,思想简单却非常有效。

VIBE 采用 20 个历史像素值当前像素的背景模型,将当前像素与背景模型中的每个像素进行距离比较,如果小于背景阈值(20)的背景像素个数大于某个值(2),则认定当前像素为背景,对背景模型进行更新,否则,认定当前像素为 前景。需要注意的是:

1. 背景模型的初始化:采用第一帧初始化背景模型,随机从当前像素8邻域(包括自身共9个点)中选取一个像素,放到背景模型中,一直到背景模型满20个像素。

2. 背景模型的更新:当某个像素被认定为背景像素时,以1/16的概率对其背景模型进行更新,更新时,是随机等概率的更新当前像素20个背景模型的一个,新的背景值是随机等概率从当前像素的8邻域中随机选择一个像素值。另外,还需要以同样的方式随机等概率的更新当前像素某个8邻域像素的背景模型。


由于背景更新时考虑了相邻像素的背景模型,使得模型非常鲁棒,对于ghost可以较快吸收,但是这个过程有时相对较慢,需要较长的时间。另外,正是这种邻域背景更新方法,使得像素之间的独立性变差。这使得按行进行多线程并行时,ghost的吸收过程变得更加缓慢。解决的方法是添加一个额外的变量,记录每个像素连续出现前景的帧数,如果超过某个阈值,则将当前像素的20个背景像素重新初始化。实验表明,这个方法可以很好的控制ghost的吸收过程。


实验数据表明,对于640*480的视频,可以达到 1.7ms 每帧的处理速度,即 580 fps。

VIBE 运动目标检测_第1张图片

你可能感兴趣的:(计算机视觉)