车辆前景检测算法——ViBe(视觉背景提取方法)

ViBe(视觉背景提取方法)

背景减除法的核心是通过分析场景的图像特征对包含了大量噪声的自然场景进行背景建模,但是背景模型的数学形式,究竟是使用高斯函数还是其它函数具有很大的争议。以GMM前景检测算法为例,当背景的变化频率超过前景目标时,算法的性能将极速降低;从参数的选取角度来说,固定参数非常有利于算法在硬件平台上的实现。但与此同时,无法根据场景变化而自适应改变的参数,其检测效果的稳定性以及对场景的鲁棒性也会下降;甚至有部分学者认为到目前为止,对于自然场景中像素值的变化规律是否符合高斯分布仍然未提出充分的论据给予证明。于是为避免假设背景模型的函数形态,人们开始研究无参数的背景建模方法。
ViBe算法首先为视频序列初始化背景模型,接着利用当前输入的视频图像与背景模型完成前景分割,提取出运动目标的前景区域,最后根据前景分割的结果更新背景模型直至整个视频处理完毕。
这里写图片描述
对于图像上任意一点x而言,ViBe算法以点x及其邻域内的像素值作为背景像素值的样本建立该点的背景模型M(x)。
这里写图片描述
这里写图片描述
iBe算法利用点x邻域中的像素值初始化背景模型。因为是从邻域中随机抽取N个点的像素值,有可能部分点被多次填充到了M(x)中,而部分点一次也没有被抽中。从该初始化方式可以发现ViBe算法的优势之一,即通过一帧视频图像便可完成建模。其理论依据是像素与其空间邻域具有相似的时间分布规律,距离越近时间相关性越强,反之越弱。传统方法需要在时域上收集一定数量的视频帧才能建模,而ViBe用一帧图像便能完成背景模型的初始化,对于一些需要快速进行目标检测的场景非常适用。在得到背景模型之后即可对当前视频帧进行前景分割。
这里写图片描述
完成前景分割之后,根据像素被分割成前景/背景的情况进入模型更新环节。ViBe的模型更新采用的是一种保守策略——只有背景像素才能更新模型。当某个点x被判定为前景时,其背景样本无需更新。相反,若点x为背景则以1/Φ的概率用v(x)随机替换M(x)的某个样本,同时以1/Φ的概率用v(x)随机替换M(x)的某个邻域像素的某个背景样本。
利用邻域进行的单帧建模环节中会将第一帧便存在的运动目标视为背景导致了“鬼影”现象,如图 (a)(b)所示,再结合保守的更新策略便造成了“鬼影”的死锁。针对该现象ViBe通过邻域之间的信息传播,无论点x的背景模型是否成功更新,都要以1/Φ的概率随机更新其邻域中某个位置y的背景模型M(y)。从而使得周围背景逐渐渗透到“鬼影”区域的背景模型,经过一定时间后“鬼影”消失。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_34564612/article/details/79515875