首先简单介绍下Vibe:这是一种背景建模和前景检测的方法,和混合高斯背景建模的作用类似。在用简单opencv(版本3.1,IDE:VS2015)代码实现,访问图像全部用指针替代迭代器,没有用各种优化的情况下,全用cpu(i7-6700HQ 2.6GHz)跑800*600的视频,大概在0.06s到0.08s一帧。它的优点在于计算量小,内存占用少,检测效果好,应对噪声稳定可靠以及Ghost区域消融快。
下面,我们简单介绍下模型是什么样的,如何从单帧初始化以及如何更新。
一、模型
首先构建这个模型的基本想法就是:为了分割背景,我们并不是一定要计算概率密度函数,而是可以用实际观察到的像素值构建模型。概率密度函数是全局过程,会受离群点的影响。如果我们把背景建模的问题看作是分类问题,我们希望在给定的颜色空间内借助它“邻居”的点来分类一个新的像素点,这样就可以避免“离群点”的影响。
1.1模型描述
在给定欧式颜色空间站,我们用 v(x) 描述图像中位于x处的像素点, vi 表示序号为i的背景样本值。每个背景像素 x 由前一帧获取的N个背景样本值的集合描述:
我们用 S