基于ViBe和边缘检测结合的运动检测

点赞:31109 浏览:143630 近期更新时间:2024-01-27 作者:网友分享原创网站原创

【摘 要】ViBe算法是实时性和鲁棒性都较好的一种运动检测算法.采用一帧对背景建模,速度快,但是ViBe背景建模的高速性的同时也有缺陷,一帧图片不可能良好的表现出背景,所建的背景模型中具有前景车辆运动物体,虽然背景的模型不断更新,背景里包含的前景误差会慢慢消除掉,但是短时间内对车辆的运动检测还是照成干扰,影响测量结果,造成不良的结果.本文提出了边缘特征与ViBe算法的结合,能良好的去除因为把前景当做背景建模造成的鬼影,对测量的结果又良好的改良效果.

【关 键 词】运动目标检测ViBe边缘特征背景建模

一、引言

目前运动检测常用的算法有光流法,帧间差法,背景建模法.光流法有计算量大,实时性,应用性差,抗噪声能力弱等缺点.帧间差法具有算法简单,对场景的变化适应性良好等优点,但是帧差对物体的运动快慢的反应能力差,对物体运动快慢所需要采取的时间间隔不同,设定固定的时间间隔,对运动较快的物体容易检测为两个物体,对运动较慢的物体,容易造成重叠,检测到错误的物体.相对前两种方法,运动检测中采用比较多的通过背景建模,通过背景模型与当前帧进行帧差,得到前景的运动物体.

二、ViBe算法

ViBe的思想是为每一个像素点建立一个样本集,这个样本集是由该像素点的和其邻域的像素点组成的,然后将当前帧中的像素点和样本集里像素点做比较来判别当前像素点属于背景点还是前景点.模型包括三部分:模型初始化;模型的工作原理;模型的更新策略.


(一)模型的初始化.初始化就是背景的建模过程,对于每一个像素点,随机的选择它的邻域内的像素值作为它的模型样本.

(二)模型的工作原理.V(x):x点的像素值;K(x)等于{V1,V2,等..VN}为此像素点的样本背景集(样本个数为N).SR(V(x)):以x为中心半径R的区域,如果K(x)[{SR(V(x))}]大于给定的阈值#min,那么x为背景点.

(三)模型的更新策略.如果像素点V(x)被检测为背景点,则用此背景点随机来替代样本集中的像素点,如果被检测为前景点的话,对像素点计数,如果此像素点连续N次被检测为前景点,则将其更新为背景点.

三、ViBe算法的缺点与改进

鬼影

1.鬼影的产生.ViBe算法采用一帧初始化背景模型,利用像素点邻域来建立背景样本集,使得背景的初始化的速度非常快,但是一帧里不仅是包含背景,也包括前景,这种方式的背景初始化把前景目标当做背景建模,会导致在以后的几帧里把背景检测为前景目标,造成鬼影,虽然鬼影会随着背景的不断更新会慢慢消散,但是短时间内会出现错误的检测结果.

如图1所示,背景初始化的时候把两辆摩托车当做背景模型,车辆运动时,把原本属于背景的区域检测为前景车辆,造成检测错误.

2.鬼影的消除

(1)本文先对当前帧做拉普拉斯的边缘检测,加强图像的边缘特征,图像的拉普拉斯变化后如图2所示,可以看出道路上除了车道标示线,道路的其余地区的边缘特征几乎可以忽略不计.

(2)利用ViBe算法提取效果图

(3)把ViBe算法提取的运动目标图像与当前帧的拉普拉斯变化得到的图像做与运算

其中f(x,y)为拉普拉斯变化得到的图像,为ViBe算法提取的运动目标图像,G(x,y)为与运算后的图像.ViBe算法初始化时把前景当做背景来建模,第二帧开始,提取的前景区域会出现鬼影,但是当前帧的图像所对应的像素点却是非边缘特征的背景点,拉普拉斯变换后的像素很低(一般道路上除了车道线两边有明显的边缘区域,其余的区域边缘特征可以忽略不计),对拉普拉斯变化后的图片进行二值化,去除边缘特征不明显的像素点,最后将二值化后的图片与ViBe算法得到的图片二者相与,运算后鬼影区域为0,起到消除鬼影的效果.如图4所示:

图4左图为拉普拉斯和ViBe算法结合的前景检测,右图为未改进的ViBe算法的检测结果,可以看出改进后的算法能较好的去除掉鬼影,较好的测量出前景.

阴影的去除

本文将RBG图像转换为HSV通道的图像,阴影的像素和和其覆盖的背景像素点具有相似的色度和饱和度,但是亮度值较低这一特征,

以及阴影区域不会出现明显的边缘特征,所以有阴影的图片和没阴影的图片得到的拉普拉斯变换的图像相似,起到去除阴影的效果.从图5可以看出通过上述两个的结合得到的左图能够较好的去除右图中明显的阴影.

四、结论

针对ViBe算法的运动检测的两个明显的鬼影和阴影问题,本文采用对当前帧的拉普拉斯变换与ViBe算法得出来的结果进行逻辑与运算,从图4能较好的消除掉模型初始化带来的鬼影问题.对于阴影的问题,根据阴影的像素与其覆盖的背景像素点具有相似的色度和饱和度,但是亮度较低这一特性,将图像的RGB颜色空间模型转到HSV颜色空间处理,并结合阴影区域不会有明显的边缘特性处理阴影,从图5看出能较好的消除掉阴影.

本文改进了ViBe算法,为后期连通域定位车辆的车流量处理打好了基础.