时间:2024-08-31
刘冬军,徐美华,龚露鸣,夏臣君
高级驾驶辅助系统(advanced driver assistance systems,ADAS)已逐渐成为汽车电子研究的热点,该系统借助传感器采集各种物理信息,然后由云计算中心[1]对这些数据进行处理并做出相应的决策,最终达到安全驾驶的目的.前方车辆检测是ADAS技术中的重要组成部分,通过在车辆行驶过程中标记前面出现的车辆来避免发生碰撞的危险.
目前,基于机器视觉的车辆检测技术大致可以分为4类:基于模型方法、基于立体视觉方法、基于光流场方法和基于特征的方法.基于模型方法[2]的车辆检测技术通常是先获取大量不同道路环境、不同类型的车辆图像,然后再利用图像的灰度信息建立车辆特征模型.但是,该方法对模型的依赖性较强.基于光流场方法[3-4]的车辆检测技术虽然能够较好地处理背景运动情况,但是实时性差,对光线变化较敏感.基于立体视觉方法[5]的车辆检测技术.则能够较准确地进行定位,但其计算量大、成本高,且对车辆自身的运动比较敏感.基于特征的方法[6]是利用车辆特征如车底阴影、车身纹理和对称性等提取车辆区域.车辆多特征相结合的检测方法是现今国内外研究的趋势.Zhang等[7]提出一种结合多特征的车辆检测与跟踪方法利用车底部阴影检测生成车辆假设区域,并利用车辆区域的边缘特征和归一化转动惯量(normalized moment of inertia,NMI)特征进行验证,虽然该方法能够快速实现车辆检测,但是检测的准确率并不是理想.金立生等[8]提出一种基于类HAAR特征并结合Adaboost分类器的识别算法,通过训练大量正负样本图片构建分类器该方法运算量大,识别性能有待提高.
图1 车辆检测系统的架构Fig.1 Architecture of vehicle detection system
综合以上分析,本工作提出一种基于汽车形态特征和类HAAR特征融合的单目视觉前方车辆检测算法.车辆检测系统的基本架构如图1所示.由图可知:首先对获取图像进行预处理,其中包括图像剪裁、灰度化以及图像去噪;然后运用猴王遗传算法(monkey-king genetic algorithm,MKGA)分割出图像感兴趣区域以及背景部分;接下来对感兴趣区域的所有区块进行整形处理,并基于车辆形态特征一次筛选;最后对一次筛选出的图像区域提取类HAAR特征,经过主成分分析(principal component analysis,PCA)降维后送入支持向量机(support vector machine,SVM)分类器进行二次筛选,最终输出目标车辆.
通过对大量的视频数据进行统计后发现,前方车辆的主体部分均位于原始图像的下3/5部分,而上2/5部分一般为天空或者建筑物.而上2/5部分的图像信息对车辆检测没有意义.因此保留下3/5部分作为下一步处理的有意义区域,这样既减少了后续过程的数据处理量,又增强了系统的实时性能.
对剪裁得到的图像进行灰度化处理.RGB色彩模式是工业界的一种颜色标准,通过对红(R)、绿(G)和蓝(B)三个颜色通道的变化以及它们相互之间的叠加可以得到各式各样的颜色.红绿蓝3种颜色通道都是8位深度的,每个分量拥有28级灰度.因此通过颜色通道的组合RGB模型可以显示出16 777 216种颜色.利用加权平均法对彩色图像灰度化,运算表达式为
式中:f(i,j)表示图像平面像素点的亮度幅值;R(i,j),G(i,j)和B(i,j)分别表示该点红、蓝和绿3个颜色通道的亮度幅值.
此外,摄像机在采集图像过程中难免受到各种各样噪声的干扰.由于图像质量的退化会导致目标识别失败,因此去除噪声成为图像预处理中十分重要的步骤.线性滤波器对图像细节处理时容易丢失信息,而中值滤波不仅可以克服这个问题,并且对滤除脉冲干扰和图像扫描噪声非常有效.中值滤波的基本思想是把局部区域的像素按灰度等级排序,并取该领域内的中间值作为当前像素点的灰度值,如果区域内的像素点为偶数,则取中间两个像素点的平均值作为当前像素点的灰度值.中值滤波为
式中,T为所选模板领域,f(i,j)为所求点的像素幅值.经过中值滤波后,图像的目标边缘仍比较清晰,去除噪声效果明显.另外,中值滤波的计算量相对其他滤波方法较小,便于提高系统的运行速度.
1.2.1 OTSU分割失效
通过统计大量的视频信息发现,在车辆的底部存在着比道路灰度更低的阴影区域,并且在可见光照射的条件下,该阴影区域的位置总是存在于车辆的底部.
利用最大类间方差法(OTSU)[9-11]进行阈值分割,提取车辆底部的阴影特征,并把这些阴影所在的区域进行尺寸放大,就可以得到疑似车辆尾部的位置.最大类间方差法是通过分析图像的灰度直方图以及最小二乘法原理推导得出的.选定的分割阈值应使背景和目标的平均灰度与整幅图像的平均灰度之间的差别最大,这种差别用类间方差表示.所求出的阈值T把灰度图像分为两个部分:灰度小于T的所有像素点归为一类,用S0表示;剩余像素点归为另一类,用S1表示.两个区域的类间方差为
式中:σ(T)表示两类像素点与图像总体平均值之间的方差和;p0,p1分别表示两类区域的概率;u0,u1分别表示两类区域的灰度均值;u表示整幅图像的灰度均值.T在[0,255]内依次取值,σ(T)取得最大值时,即为最佳区域分割阈值.
虽然OTSU算法能够根据目标和背景之间的方差最大值降低误分割的概率,但是当周围的环境比较复杂且光照条件较差时,图像的灰度直方图极易呈现三峰状或者多峰状,此时OTSU算法不能理想地分割阴影部分和背景部分,阈值分割效果明显下降.
1.2.2 基于MKGA阈值分割
针对上述OTSU阈值分割失效问题,寻找一种能够准确分割车底阴影区域的方法成为前方车辆检测技术的关键.研究人员提出了一种双OTSU算法[12].该算法直接搜索使得计算量较大、系统耗费时间长.由于工程中处理的图像像素点一般都比较高,因此获取最佳阈值的效率较低.
本工作采取猴王遗传算法[13-14]求最佳阈值.猴王遗传算法首先将猴王点和少部分排在前面的较优点复制到下代,接着染色体变异淘汰较劣点,保证种群一直处于进化状态;然后,又让猴王点与种群中的其他点进行交叉变异,得到符合条件的新点;最后将这些点依次加入下代种群,在下一代种群中重复上述排序、复制、引入变异染色体和交叉变异直至下代种群中点的数目达到预定的种群规模.经过若干代计算后,一般能搜索到全局最优解附近.根据猴王遗传算法的基本思路,并移植到图像阈值分割中,可以较快地得到整个区域的最优解.猴王遗传算法阈值分割的基本流程如图2所示.
图2 猴王遗传算法阈值分割流程图Fig.2 MKGA threshold segmentation f l owchart
(1)参数设定.设定初始种群L=20,初始代数为0,最大迭代次数为120,随机个体占比R=0.3,复制率k=0.7,交叉概率为0.6,变异概率为0.08.
(2)计算初始个体灰度的类间方差.目标和背景的方差越大,阈值分割效果越理想,因此采用图像灰度的类间方差表达式作为适应度函数.某个个体的适应度函数值越大,表明其性能越好.
(3)排序和替换.将计算出来的每个个体的适应度进行升序排列,找到猴王点,然后再根据个体占比R,用随机生成的方法产生同样规模的新个体替代被淘汰的部分,组成新一代种群.
(4)复制产生新个体.根据复制率k求出从当前种群中前n个个体,直接进入新一代种群.
(5)交叉变异.将猴王点与n之后的所有个体交叉运算产生L−n个新个体,并根据所给的变异概率选取某部分个体元素进行变异.
(6)循环上述步骤.
若连续多代种群的适应度都没有改变,或者已经达到最大进化代数,则停止寻优操作,这时趋于稳定的最大适应度函数值为图像分割的阈值.图3为双OTSU算法和MKGA算法阈值分割的比较.从图可以看出,双OTSU和猴王遗传算法阈值分割效果差别不大.但是,相比双OTSU算法,猴王遗传算法所用时间明显减少.
图3 双OTSU算法和MKGA算法阈值分割的比较Fig.3 Comparation of threshold segmentation between dual OTSU and MKGA
完成阈值分割后,得到了需要处理的前景图像,但此图像仍存在大量的干扰因素,需要排除大量的冗余数据以提高筛选的准确率.目标区域的整形可划分为3步,如图4所示.
图4 图像整形Fig.4 Image shaping
(1)首先对图像进行腐蚀膨胀操作.作图像腐蚀处理时,把结构元素沿着所有区块的边沿绕行,使得结构元素的一半的面积与区块重合,那么重合部分被腐蚀掉;作图像膨胀处理时,把结构元素沿着所有区块的边沿绕行,使得结构元素的一半的面积与区块重合,那么未重合的部分会重新生长出来.
(2)对前景图像中的通孔进行填充.通孔填充后,整个目标区域呈现连通状态,这是为了方便后续的图像形态筛选.
上述处理后的图像中仍存在一定数量的突起或者尖刺,主要原因是实际道路情况复杂,车辆的阴影很容易与周围车辆的阴影或者公路两旁的树木倒影连成一片,由此就产生细长的连接部分或者尖刺部分.统计发现,毛刺会出现在区域的上下左右各个方向,但是宽度比连通区域总宽度要小.根据这一特点,首先统计每个区域的最大高度和最大宽度,再从左到右统计某一连通区域的每一行像素个数.如果该行的像素个数小于该区域像素最大宽度的1/3,那么就把该行所有像素点置0,然后从上到下统计本区域的每一列的像素个数;如果该列的像素个数小于该区域像素数目最大高度的1/3,则把本区域该列所有像素点置0.
由于汽车设计的宽度和高度必须满足安全平稳行驶这一必要条件,即车身宽度和高度的比例必须在一定的范围内.填充率(f i lling ratio,FR)表示待筛选区域的面积和其外接矩形的面积之比,比例越大,说明待筛选区域越接近于一个标准的矩形.比例因子(scale factor,SF)表示待筛选区域接近于标准高宽比的程度,这个数值只要接近某个范围即可,而且高宽比接近并不完全代表该阴影一定是汽车底部的阴影.在算法运行时把FR和SF结合一起综合判断,按照这个模型存储每个待筛选区块的坐标、FR和SD信息,然后判断哪些是符合要求的.具体的判断标准为
HSV模型[15]分别表示色调(hue)、饱和度(saturation)和亮度(value).因为HSV颜色域类似于人类感觉颜色的方式,具有较强的感知度,所以在车辆识别算法中利用这个特性对车辆的尾灯进行辨识.
把感兴趣目标所在坐标框的尺寸按照一定比例扩大,对感兴趣目标图像从RGB转换到HSV,然后设置相应参数分割出感兴趣目标中的车尾灯特征和车牌特征.如果感兴趣目标中不含有车尾灯特征以及车牌特征,则认为该感兴趣目标被淘汰,继续检测其他感兴趣目标直到检测完成.经过大量的对比测试发现,如果提取车辆的牌照以及车尾灯特征,漏检率会比较高.当车辆行驶的环境光线较暗时,摄像头采集到蓝色车牌的画面显示车牌接近黑色,这给尾部车牌的特征检测带来了一定的难度.此外,车辆的尾部特征中,车牌区域的颜色不一定是蓝色,也有可能是黄色或者白色.如果把车牌颜色域的检测范围增加蓝色、白色和黄色,就会增加算法的复杂度.
因此放弃车牌颜色域特征的提取,选择车辆的红色尾灯区域作为车辆尾部特征,得出了红色车尾灯的一个有效阈值范围:
应用式(5)对大量的车辆尾灯进行了测试,结果表明,该阈值能够对市场上大部分车辆尾灯进行识别.
类HAAR特征首先由Violas等[16]提出,主要应用于人脸检测.类HAAR特征的检测方式快速、简单.类HAAR特征具有多种模型,常用的有两矩形模型和三明治模型,如图5所示.两矩形型的掩模表示黑色区域的像素点的灰度值减去白色区域像素点的灰度值.三明治掩模表示中间黑色区域像素点的灰度值减去两边白色区域像素点灰度值之和.利用以上两种掩模对车辆的类HAAR特征进行提取,正常光照条件下的前方车辆自身存在很多特征,如车辆顶部与天空密度差异明显较大,车辆挡风玻璃和车身存在水平边缘分界线、垂直边缘对称等.利用两矩形模型的类HAAR掩模可以得到车辆尾部垂直和水平边缘梯度特征,利用三明治模型可以得到前车后盖的纹理信息,如图6所示.
图5 类HAAR特征模型Fig.5 Models of HAAR-like feature
图6 前车的类HAAR特征Fig.6 HAAR-like feature of front vehicle
一幅图像能够派生出较多矩形特征,如果每次提取矩形特征值都计算区域内像素点灰度值之和,则会严重影响特征的检测速度.图像积分图为该像素点左上方所有像素点的灰度值之和,基于图像积分图的方法可求取图像上任意矩形区域内像素点的灰度值之和.首先对行进行遍历,再对列进行遍历,因此积分图像实际上是离散的二重积分,即
式中,F(i,j)表示像素点积分和,f(x,y)为图像灰度值.矩形积分图的计算如图7所示.在积分图像中任何一个矩形的像素和仅需要使用4次数组索引,且有
式中,sum表示该区域像素点灰度值之和.积分图最大的优点在于当完成一幅图像的积分图像的统计后,算法对图像的区块灰度计算就可以在一个加减操作内完成,大大缩减了特征提取的时间.
图7 矩形积分图中像素点的计算Fig.7 Calculation of the pixels with in rectangle
对于一个640×360像素的剪裁后图像,若要提取其类HAAR特征,首先按40×54像素的滑动窗口尺寸移动,每次的移动步长为20,然后每次遍历完成增大滑动窗口的尺寸.并且对窗口归一化,把任意大小的窗口压缩成为24×24像素,而后再对每一块图像提取类HAAR特征.不考虑旋转情况,1×2的两矩形型的类HAAR特征模型的特征总数为
一次遍历提取510张图像的HAAR特征,在锁定高宽比前提下对滑动窗口进行缩放,再次遍历.如果把特征数目乘以图片数量,结果是非常巨大的.因此,应先基于形态特征过滤筛选,再把已筛选区域及相应的类HAAR特征提取出来,并对这些特征进行PCA降维.
设特征矩阵有n个样本,每个样本有m个属性,则矩阵示为
(1)标准化样本数据.样本的均值、标准差等分别为
(2)计算相关矩阵.
(3)解特征方程|R−ρf|=0.可求得特征向量
(4)通过主成分贡献率求主成分.用前面q个主成分之和除以k个主成分之和,可求得到相应的贡献率,即
在确保β的值大于一定基数的情况下,q的取值越小,数据样本的维度越低.但是降维后特征向量存在丢失的问题,且丢失程度和贡献率呈反比,因此选择一个恰当的贡献率对于算法的准确度十分重要.假设latent是一个包含样本协方差矩阵的本征向量,对样本库中的24×24像素图像的第一类HAAR特征进行PCA降维,并定义前k个本征向量值的总和贡献率为
式中,k表示第k个本征向量.
样本协方差矩阵的本征值向量如图8所示.可以看出,对于本工作所使用的前方车辆检测样本,当维数大于44时,向量贡献率超过95%.因此,可以把车辆样本的类HAAR特征的维度降为44维,这将大大缩减系统提取特征的时间.
图8 本征值向量贡献率Fig.8 Contribution rate of eigenvectors
用正负样本对分类器进行训练时,选择了1 000张正样本和1 500张负样本.导入样本时,每一个样本都对应着一个标志位,当该样本为正样本时标记为1,负样本时标记为0.
如图9所示,在车辆形态特征一次筛选结束以后,得到了若干个待筛选区域.假设有n个待确定区域,首先分离待确定区域并进行窗口归一化;然后提取相应的类HAAR特征,并把维度降至44;最后把这n×44个特征向量送入SVM分类器,如果不满足就会被滤除,并称此为基于类HAAR特征的二次筛选.对比两次实验结果发现,基于车辆形态特征的一次筛选出现较大的误差,当道路环境较复杂时会把一些非车辆区域误识别成目标车辆,但经过类HAAR特征的二次筛选后可以排除绝大部分干扰,识别率明显提高.相比于一次筛选,该算法在耗时方面虽然会有所增加,但是SVM分类器的训练和测试步骤是离线的,故仍可满足车辆辅助驾驶系统实时性要求.
图9 车辆形态特征的筛选结果Fig.9 Results of f i rst screening
实验的硬件平台为Intel(R)Core(TM)i5-4590,主频3.3 GHz,内存8 G的个人电脑,软件环境为Windows 7操作系统.选取上海市中环线的一段道路作为检测对象,互补金属氧化物半导体(omplementary metal oxide semiconductor,CMOS)传感器采集的视频图像分辨率为640×480.利用本工作提出的车辆形态特征级联类HAAR特征的车辆检测方法,提取视频中不同光照条件和道路环境条件的若干段素材作为分析对象,采用软件Matlab 2013进行仿真验证,测试结果如图10所示.由图可以看出,算法鲁棒性较好,受外界环境因素的影响较小.
图10 不同环境条件下的实验结果Fig.10 Experimental results of diあerent environments
为了测试该方法的优劣,选取了识别率、漏检率和虚警率作为评价标准.识别率表示被正确识别的车辆总数和被检测车辆总数之比,漏检率表示未被准确识别车辆总数与被检测车辆总数之比,虚警率表示错误检测的车辆数与被检测图像车辆总数之比.测试结果如表1所示.与文献[8-9]中的方法相比,本工作提出的算法充分考虑了前方车辆检测系统的稳定性和实时性.
表1 不同测试算法的比较Table 1 Comparison of parameter
本工作提出一种形态特征和类HAAR特征融合的前方车辆检测方法.形态特征可以有效、快速地筛选出图像中可能为车辆尾部的区域,它利用车辆尾部下方的阴影,车辆尾部在HSV颜色空间下形成的对称形态等特征来确定图像中的感兴趣区域,具有较好稳定性和较低运算量的特点.类HAAR特征是一种常用的目标识别特征,由于能够实现快速计算,对光照变化和小量的偏移不敏感,被应用于很多实时系统中.此外,类HAAR特征能够较好地描述车辆的边缘、线段等轮廓信息.因此,把形态特征与类HAAR特征融合使用,可以更加准确地描述车辆的尾部信息.
与传统的类HAAR特征SVM分类相比,本工作提出的算法避免了使用滑动窗口遍历整幅图像,而只需检测一次筛选得到的若干个区域的类HAAR特征,从而减少了系统的响应时间.若在此基础上利用追踪等手段,对前方车辆的速度以及车距进一步探索,将对当前热门的无人驾驶研究具有重要的指导意义.
[1]郑湃,崔立真,王海洋.云计算环境下面向数据密集型应用的数据布局策略与方法[J].计算机学报,2010(8):1472-1480.
[2]胡铟,杨靖宇.基于模型的车辆检测与跟踪[J].中国图像图形学报,2008,13(3):450-455.
[3]SUN Z H,BEBIS G,MILLER R.On-road vehicle detection:a review[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2006,28(5):694-711.
[4]WANG J X,BEBIS G,MILLER R.Overtaking vehicle detection using dynamic and quasi-static background modeling[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.2005:64-71.
[5]FRANkE U,GAVRILA D,GRZIGS,et al.Autonomous driving goes downtown[J].IEEE Intelligent Systems&Their Applications,1998,13(6):40-48.
[6]慕永云,王荣本,赵一兵.基于多特征融合的前方车辆检测方法研究[J].计算机应用研究,2011,28(9):3572-3575.
[7]张建明,张玲增,刘志强.一种结合多特征的前方车辆检测与跟踪方法[J].计算机工程与应用,2011,47(5):220-223.
[8]金立生,王岩,刘景华,等.基于Adaboost算法的日间前方车辆检测[J].吉林大学学报(工学版),2014,44(6):1604-1608.
[9]OTSU N.A threshold selection method from gray-level histogram[J].IEEE Transaction on Systems,Man and Cybernetics,1979,9(1):62-66.
[10]WANG L,DUAN H CH,WANG J L.A fast algorithm for three-dimensional Otsu’s thresholding method[J].IEEE International Symposium on IT in Medicine and Education,2008,153(2):136-140.
[11]陈琪,熊博莅,陆军,等.改进的二维Otsu图像分割方法及其快速实现[J].电子与信息学报,2010,32(5):1100-1104.
[12]汪海洋,潘德炉,夏德深.二维Otsu自适应阈值选取算法的快速实现[J].自动化学报,2007,33(9):968-971.
[13]王宏文,梁彦彦,王志华.基于新遗传算法的Otsu图像阈值分割方法[J].激光技术,2014,38(3),364-367.
[14]李宇中,刘红星,张胜.猴王遗传算法的改进[J].南京师范大学学报(工程技术版),2004,4(3):53-56.
[15]姜兰池,沈国强,张国煊.基于HSV分块颜色直方图的图像检索算法[J].机电工程,2009,26(11):54-56.
[16]VIOLAS P,JONES M.Robust real-time objects detection[J].International Journal of Computer Vision,2004,55(2):137-154.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!