一种新颖的基于边缘检测的车辆阴影去除方法
2014-12-03李浩亮水清河范文兵杨潇楠
李浩亮,水清河,范文兵,杨潇楠
(郑州大学 信 息工程学院,河南 郑 州450001)
0 引言
运动车辆检测的目的是为了把运动车辆从背景图像中提取出来,为后续的跟踪及行为理解做重要的基础工作.由于车辆检测系统的大多数视频传感器都在露天环境下工作,光照阴影会随着运动车辆采集到视频序列中.现有的阴影去除方法大致可以分为三种.①基于阴影模型的方法,此方法主要是利用视频场景、运动车辆、光照条件等先验信息,建立阴影模型,通过模型来判定每个像素是否属于阴影区域,此方法需要较丰富的先验信息,有很大的局限性,且运算复杂[1].②基于纹理的方法,通过提取前景区域和背景对应区域的纹理特征,对其相似性进行判断.对于阴影较深、纹理特征不明显的情况,此方法效果不佳[2].③基于HSV特性的方法,主要利用阴影的色度不同来判别阴影区域[3],但是对于阴影与车辆色度相近的视频序列,检测效果不理想.
针对上述方法中存在的问题,笔者提出一种基于LOG边缘检测的阴影去除方法,首先用混合高斯模型对视频图像建模提取背景,检测出前景车辆,结合形态学运算方法[4],通过两次不同方法的边缘提取来去除车辆阴影,最后的实验结果表明,该方法对特征丰富的车辆适用性较强,并且不受车辆与阴影色度特性相近以及阴影区域纹理特性不明显的影响,能有效地去除阴影.
1 混合高斯模型
首先把某点在一段时间内的值设为一个像素集{X1,……,Xi}={I(xo,y0,i);1 ≤ i≤ t},由该像素建立由K个高斯分布模型组成的高斯混合模型[5]
式中:wi,t是第 i个高斯分布在时刻 t的权值;是指第 i个高斯分布在时刻 t的平均值;η是高斯概率密度函数;是协方差;n表示Xt的维数.K一般取3~5,K个高斯分布按优先级 pi,t=wi,t/σi,t从高到底进行排列,为方便计算,协方差可近似于
当某一帧新图像进入时,用新的像素值Xt与K个高斯分布匹配,匹配条件为dσi,t,若都不匹配,用新的高斯分布代替最小优先级高斯分布[6],若与第K个高斯分布匹配,则对各高斯分布进行更新,方法如下
式中:α是平均值和标准差更新参数,也是模型学习率;β为权值更新率.
据模型更新方法可知具有较大权值和较小协方差的高斯分布可能是图像背景.由于模型中K各高斯分布按优先级从大到小排列,设定阈值T选取M个高斯分布作为背景,选取规则为M=
2 LOG边缘检测算子
LOG算子(Laplace of Gaussian)源自Marr提出的视觉理论中边缘提取思想.用LOG算子提取图像边缘[7]过程分三步:①采用二位高斯低通滤波器对输入图像信号平滑滤波;②用二维拉普拉斯算子进行图像增强操作;③利用二阶导数中的零交叉点检测边缘.
对于二维的图像信号,需要使用高斯函数进行平滑处理,即用高斯函数G(x,y,σ)和原始图像f(x,y)做卷积,以消除空间尺度小于尺度因子σ的变化,得到平滑后的图像
然后用拉普拉斯算子∠2获得平滑后图像的二阶方向导数
通过求取γ(x,y)的零交叉点的轨迹即为图像的边缘.
3 基于边缘检测的运动车辆阴影去除算法
3.1 算法流程
本算法主要分为两个部分,首先使用混合高斯模型进行背景建模提取视频序列的背景,用当前帧减去背景图像,提取运动车辆前景,然后使用LOG边缘算子分别对前景图像和经过阈值分割后的前景图像进行边缘提取.对两次提取后的前景图像进行异或操作,最后对所得图像膨胀,得到最终阴影去除结果.算法流程如图1所示.
1 算法流程图Fig.1 A lgorithm flow chart
3.2 快速高斯背景建模
针对混合高斯运算复杂、背景重构速度慢的缺点,笔者使用动态的学习率α和权值更新率ρ,在初始的前N帧图像采用如下更新方法
式中:N为定值;α'为高斯模型的原始学习率;t为流过的视频帧数;Mt为匹配次数.初始阶段,采用较大的学习率α和权值更新率ρ,迅速构建出背景图像,随着帧数增加,α变为原始学习率α',ρ渐渐稳定,背景模型趋于稳定,这样就能够快速准确地建立背景模型.
3.3 去除空洞和孤立点
笔者采用形态学闭合操作和中值滤波去除空洞和孤立点,首先通过构建一个4×4的结构元素B对经过背景减法所得的前景像素集A进行闭操作,A·B=(A⊕B)B,图像经过闭运算之后,可以将目标内部的空洞在基本保持原目标大小与形态的同时进行了连接和填充.中值滤波把图像像素序列中某一点的值,用该邻域中各点值的中值来代替,中值滤波对图像噪声的抑制效果好,可以有效地去除孤立点,同时能有效地保护边缘清晰度,文中采用默认的3×3邻域范围.
3.4 改进的LOG边缘检测
对二维图像信号平滑滤波的过程时,函数的平滑度是由尺度因子σ来决定的,不同空间尺度因子对应不同的LOG算子,σ取值太小会得到太多的边缘信息,引入很多噪声,σ取值过大时,虽然能抑制噪声,但是图像边缘细节也被消除了,检测效果不理想.
为了保证边缘提取的准确度,并且抑制噪声,本算法用4个不同的尺度因子分别对二维图像信息进行平滑操作,每个尺度因子对应不同模版,经过证明,卷积因子的模版宽度≥8.5σ时,曲线包含99.7% 的能量面积,故笔者选取模版宽度≥8.5σ.选取的尺度因子对应的模版尺寸如表1.
表1 不同σ所对应的模版尺寸Tab.1 Tem p late sizes corresponded by differentσ
然后分别用这4个边缘算子进行边缘检测,求四次检测出的边缘的二值化图像,并求其对应点的灰度绝对值和
其中:
设定阈值M,对灰度值大于M的认定为边缘,小于M的认定为噪声,这样不仅抑制了噪声,也能保证图像边缘检测的准确率.
4 试验结果
为了验证算法的有效性,笔者选取实验视频highwayII_raw.avi与文献[3]中所属算法做了对比,笔者实验条件为:Inter(R)Core(TM)i5-2430 2.4 GHz CPU,2 GB 内存,Matlab R2010a平台下编程实现,实验参数设定为:K=5,α=β=0.01,N=100,前景阈值 T=0.85,阈值 M=255.图2为视频的第115帧图像检测结果.
该视频是在光照强度比较大的条件下拍摄,阴影区域颜色较深,不能根据阴影区域的纹理特性来消除车辆阴影,而且如图2(c)所示,由于光照强度和拍摄距离的影响,使得此视频前景图像转换到HSV颜色空间后特性区别不明显,使用文献[3]中所述基于HSV颜色空间的方法容易把前景也误检测为阴影,从图2(g)与(h)对比中可以看出,应用本文算法后,能够有效的去除阴影区域.
图2 实验结果仿真图Fig.2 Simulation result figure
为了进一步评估文中算法的性能,笔者采用前景检测率ξ和阴影检测率τ两个参数[8]
式中:HPF为检测正确的车辆像素点;HNF表示被错误的检测为阴影的车辆像素点;HPS为正确的阴影像素点;HNS为错误的判定为前景车辆的像素点.首先对待检测视频序列进行手动分割提取参考模版,然后与经本文算法检测到的结果进行对比,从表2中可以看出,笔者算法的前景检测率和阴影检测率都要高于文献[3]中基于HSV颜色空间的阴影去除算法.
表2 算法对比结果Tab.2 The results of algorithm com parisom
5 结论
针对常用的基于HSV颜色空间特性去除阴影算法不能很好的检测前景车辆和阴影特性相近的情况,笔者提出了一种基于LOG边缘检测算法的车辆阴影去除方法.运用目标车辆与阴影区域的物理特性去除阴影,并在算法中加入形态学闭合和中值滤波操作,去除噪声,增加了算法的准确性,该方法对边缘特征信息越丰富的车辆检测率越高.另外实验采用改进的混合高斯建模方法,加快了背景重构的运算速度,节约了整个算法的运行时间.实验表明,该算法能快速有效地去除车辆阴影.
[1] 杨志邦,徐成,周旭,等.一种基于统计模型的前景阴影消除算法[J].小型微型计算机系统,2013,34(2):423-428.
[2] 张玲,程义民,葛仕明,等.基于纹理的运动阴影检测方法[J].光电工程,2008,35(1):80-84.
[3] 林庆,徐柱,王士同,等.HSV自适应混合高斯模型的运动目标检测[J].计算机科学,2010,37(10):254-256.
[4] 张震,李丹丹.自适应双阈值的运动目标检测算法[J]. 郑州大学学报:工学版.2013,34(6):15-19.
[5] STAUFFER C,GRIMSONW.Learning patterns of activity using real-time tracking[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(8):747-757.
[6] SCHINDLER K,WANG Han-zi.Smooth forgroundbackground segmentation for video processing[J].Lecture Notes in Computer Science,2006(3852):581-590.
[7] 杨东华,李久贤.Marr边缘检测算法的研究[J].中国图像图形学报,2006,11(6):823-826.
[8] PRATI A,MIkic TRIVEDI MM,et al.Detecting moving shadows:Alogorithms and evaluation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(7):971-987.