基于车底阴影的车前障碍物检测
2015-12-20赵日成
随着车辆交通与汽车工业的快速发展,全世界高速公路里程数及汽车保有量均在迅速增长,道路交通事故发生率急剧上升,由此造成了重大人员伤亡和经济损失,以上问题的存在引发了新的研究与应用热点。
近年来,随着智能车辆进入了深入、系统、大规模研究阶段[1]。汽车智能辅助驾驶系统是智能交通系统的重要组成部分,对于激光、雷达和超声波等传感器,视觉信号具有探测范围宽,目标信息完整、价格相对便宜,且更符合人的认知习惯等优势,特别在对道路前方车辆的检测方面,视觉信号具有无法替代的优势[2]。前方运动车辆检测是智能交通系统领域中的一个重要研究方向,利用基于计算机视觉获知前方车辆信息是智能车辆安全驾驶及交通系统研究领域的热点,系统有利于减少伤亡、节约时间和降低污染[3]。由于光强及周边环境会对车辆特征产生较大干扰,但车辆下方的阴影区域在整个图像中较暗,是一种较为鲁棒的特征,阴影检测已成为运动目标检测的研究热点之一,已有不少文献对阴影检测提出了算法[4]。
通过阴影特征和Haar小波来检测车辆不能有效的排除非车辆的阴影,且实时性差;利用车底阴影确定边缘线,但由天桥对路面的投影却无法较好排除;用阴影和边缘特征检测车辆,若图像过亮或过暗,阴影区域均无法被检测到。
基于上述分析,依据国内外文献主要利用车底阴影及边缘等特征提取车辆,本文利用基于特征的方法,针对结构化道路,在检测出车道线的基础上,利用车辆底部阴影实现车辆检测。文中算法能较准确地检测出前方运动车辆,并具有一定的鲁棒性,基本满足车辆安全行驶的要求。
1 车道线及车辆检测原理
对车道线和车辆进行检测,最重要的是进行阈值分割,先通过Ostu阈值分割提取出车道线,由于Ostu算法采用最大类间方差,能较好地排除外界光照及树阴的影响。然后在提取出的车道线区域内,进行两次阈值分割,第一次阈值分割能排除亮光对车辆阴影提取的影响,第二次阈值分割是在第一次阈值分割的基础上,只对低于第一次阈值的像素点进行分割,从而能较好地检测出车底阴影。
1.1 Otsu算法
Otsu阈值方法是Otsu提出的最大类间方差法,是在判决分析最小二乘法原理的基础上,推导得出的求最佳阈值方法[5]。Otsu算法始终被认为是阈值自动选取的最优方法,该方法计算简单,不易受图像对比度与亮度变化的影响。
假设原始图像灰度级为L,灰度为I的像素个数为ni,图像的总像素为N,则可得到各灰度出现的概率Pi=ni/N,在图像分割中,按照灰度用阈值t将灰度划分为2 类:C0=(0,1,2,…,t)和 C1=(t+1,t+2,…,L-1)。因此,C0和C1出现的概率w0和w1为
C0和C1出现的平均灰度u0和u1为
定义类内方差
定义类间方差
定义总体方差
最大类间方差法就是使式(5)取得最大值时的t即为所求,方差反应的是一个变量对应一组数值均衡性的大小,方差越小说明其均衡性越低;反之,均衡性就越高。对于一幅图像而言,可分为背景和目标两部分,在目标和背景的临界点上,灰度的变化最大,此时的灰度值为最佳阈值[6]。
1.2 两次自适应阈值分割
采用图像均值和方差作为分割阈值,能较好的过滤路面噪声干扰不明显的非感兴趣目标,实际图像可能会受到光强及大面积阴影干扰,采用一次阈值分割不能有效抑制干扰,且增加了后续验证车辆的计算量。故本文提出两次自适应阈值提取车底阴影,其鲁棒性较好[3]。
根据均值方差公式计算灰度图像的均值与方差
式中,f(x,y)为灰度图像在(x,y)点处的亮度值,M,N分别为图像的宽和高,u、σ分别为灰度图像均值和方差。第一次自适应阈值为
第一次阈值排除图像中高亮点的干扰,再对整幅灰度图像中统计低于Theshold1的像素点,并对低于Theshold1的像素点利用均值方差公式计算均值u2和σ2
为适应复杂多变环境,a、b参数取
Theshold2能较好地分割灰度图像,提取车底阴影,且最大限度地抑制噪声干扰。
1.3 车底与路面交线边缘的提取
车底与路面交线边缘能表明车辆位置。对阴影分割后的图像搜索阴影起始位置xstart、重点位置xend。按从上往下、从左往右的顺序,当符合式(13)时,记为起点,继续扫描连续黑点,当符合式(14)时,记为终点
车辆在图像中不同行对应的车宽也不同,阴影线长度length=xend-xstart表明目标宽度,记录满足式(15)的阴影线起点,终点及行位置,反之剔除阴影线
本文采用的阴影长度为给定值。
车底阴影范围是块区域,同目标会生成多条阴影线,为提取车底与路面的交线边缘,文中对检测出的阴影线进行提取,并采用最大长度的阴影线作为最终车底与路面的交线边缘。
1.4 算法实现步骤
图1 算法基本流程
图1为算法基本流程图,已知视频图像的一帧RGB图像f:(1)对RGB图像灰度化,得到灰度图像fg。(2)对灰度图像进行人为限定区域,由于该算法用于检测前方运动车辆,故可限定一个梯形区域,划出AOI区域,从而减少图像处理难度跟计算量。(3)对划出的AOI区域进行Otsu阈值分割,分割出车道线。(4)根据分割出的车道线,进一步确定前方车辆所在的区域,较精确地判定AOI区域。(5)对(4)中确定出的区域进行两次自定义阈值分割。(6)根据式(13)~式(15)判断并寻找阴影线的起点、终点及所在行位置。(7)选择最长的阴影线作为车底与路面的交线,并在原图像上标注出车辆位置。
2 实验结果与分析
实验中所处理的图像大小为320×240,本文在结构化道路上进行前方车辆检测,所用到的算法已在Matlab上实现[7]。前方车辆检测结果如图2所示。
图2(b)是在认为限定AOI区域的基础上,进行的Otsu阈值分割。从图2(b)中可看出,对于Otsu阈值分割能有效提取出车道线,将前方车辆的有效区域缩小,有利于下一步对车辆阴影进行检测;由图2(c)可看出,采用两次自适应阈值分割可有效且准确地提取出车底阴影,从而定位前方车辆位置。
试验中,两次自适应阈值的选取均是自适应的,其根据式(9)和式(10),对图像的像素点进行计算得到的阈值,所以具有较好的自适应性。然后根据车辆实际大小跟摄像机投影原理,一般车底阴影的直线长度不会过长,根据实验用图,文中选取length的范围如式(15)所示。
由于先提取出车道线,然后限定了AOI区域,将车底阴影的检测区域缩小到两条车道线之间,可减少约60%的计算量,因此在提取车道线的基础上提取车底阴影可以获得更好的实时性。
图2 前方车辆检测结果
对两组环境不同道路上的前方运动车辆进行检测对比,对比结果如图3所示。
图3 两组车辆检测对比
从图3可看出,在两组不同环境下的道路上使用本方法均可较为准确地检测出前方运动车辆,且算法具有较好的鲁棒性。
3 结束语
提出了一种基于车底阴影的车前障碍物检测算法,该方法能有效解决周边环境的干扰,并实时准确地检测出前方障碍物。首先设定感兴趣区域,采用Otsu提取出车道线,缩小前方车辆的检测区域,然后在AOI区域中采用两次自适应阈值算法,提取车底和路面的交线。最终选取最长的交线作为最终的阴影线,从而检测出前方车辆。整个算法中,在提取车道线的基础上提取车底阴影线,可减少运算量,提高系统的效率。下一步工作将结合跟踪提高实时性,并将系统在DSP+FPGA架构上进行实时准确地检测与跟踪前方车辆。
[1]王荣本,游峰,崔高健,等.基于计算机视觉高速智能车辆的道路识别[J].计算机工程与应用,2004(26):18-21.
[2]周欣,黄席樾,黎昱.基于单目视觉的高速公路车道保持与距离测量[J].中国图象图形学报:A辑,2003(5):590-595.
[3]齐美彬,潘燕,张银霞.基于车底阴影的前方运动车辆检测[J].电子测量与仪器学报,2012,26(1):54 -59.
[4]郝灿,朱信忠,赵建民,等.基于改进型LBP特征的运动阴影去除方法[J].计算机系统应用,2010,19(5):80-83.
[5]赵海坤,周伟灿.改进的OTSU算法在图像分割中的应用[J].重庆工学院学报,2007,21(4):92 -94.
[6]曾业战,王润民.基于自适应粒子群优化的三维OTSU图像分割算法[J].电子设计工程,2011,17(13):173-175,179.
[7]吴昆明,徐贵力.一种基于透视变换的车辆位置和方向提取方法[J].电子科技,2010,23(10):101 -103,109.