余小角,郭 景,徐 凯,王 娜
(中国科学技术大学 信息科学技术学院,安徽 合肥 230026)
一种基于类Haar特征和AdaBoost算法的前车检测方法
余小角,郭 景,徐 凯,王 娜
(中国科学技术大学 信息科学技术学院,安徽 合肥 230026)
针对智能车辆和安全驾驶辅助系统中车辆检测问题,提出一种基于类Haar特征和AdaBoost分类器并结合车辆灰度对称性验证的前车检测方法。使用积分图方法计算图像类Haar特征,并对提取的海量类Haar特征应用AdaBoost算法进行特征选择及分类器训练,最后使用所选择的特征及分类器进行测试。实验结果表明,该方法在阴天和晴天情况下检测率分别为90.86%、91.15%,可以快速、有效地进行前车检测。
前车检测;类Haar特征;积分图;AdaBoost算法
车辆安全是现代社会关注的焦点,在所有交通事故中,车辆追尾事故占很大比例[1]。对前方车辆有效检测是碰撞预防的前提,成为车辆安全系统研究的重点。为采集道路信息,系统传感器有毫米波雷达、激光雷达、红外线和视觉传感器[1]等。视觉传感器因价格低廉、不干扰环境、获取信息丰富且可供取证分析等优势,成为目前车辆安全系统研究的热点。
基于视觉的车辆检测方法有基于特征、运动、模型和机器学习等几类[1]。特征法利用车辆对称性、车底阴影、边缘等特征,因单一特征不稳定,通常融合多特征以提高检测率;基于运动有帧差、背景相减、光流法等。帧差[2]和背景相减法适用于视频监控系统,在道路动态环境下应用受限;光流法[1]对噪声敏感且计算量大;模型法需建立模板与检测图像匹配,模板依赖性强;机器学习方法从数据中提取规则或模式,鲁棒性强。文献[3-4]利用PCA进行特征提取并用SVM、神经网络分类器进行车辆检测,运算量大,对车载硬件要求高。
鉴于此,受Paul Viola等人[6]在快速人脸检测领域工作启发,本文提出一种基于类Haar特征和AdaBoost分类器进行车辆检测并结合车辆对称性验证的前车检测算法,实现了结构化道路对前方车辆的快速、有效检测。
前车检测算法包括训练过程和检测验证过程。训练过程从海量类Haar特征中选取关键特征,构造用于两类分类问题的AdaBoost强分类器。检测部分首先对测试样本提取关键类Haar特征,将特征值输入AdaBoost进行车辆存在性检测,接着对检测到的车辆进行验证。算法结构如图1所示,以下分别对其进行介绍。
图1 前车检测算法流程
2.1 图像采集和预处理
训练样本采集于不同时间和场景下的车辆、非车辆照片,包括高速公路、城市道路、校园环境等。正样本选择不同车型、角度和距离的车辆头尾部图片,负样本选择驾驶环境下的非车辆图片。共收集15 000张训练样本,其中5 000张车辆样本,10 000张非车辆样本。对所有样本进行图像灰度化处理,尺寸归一化为24×24,部分样本如图2所示。
图2 训练样本示例
2.2 类Haar特征与积分图计算
类Haar特征[2,5-7]由Papageorgiou等首先提出,Viola等人[6]将其应用于人脸检测,它描述相邻矩形区域间的灰度差,是一种简单有效的特征。车辆的头尾部存在明显的矩形特征,如图2(a)中所示,车牌、尾灯、车后玻璃呈矩形块状,灰度值与周围有明显差异。本文采用5种特征模板,如图3所示,特征值用白色区域与灰色区域像素和之差计算。
图3 类Haar特征模板
算法选用的24×24灰度图包含不同位置、大小特征数远超其像素点数,若每次计算特征值都重新计算各矩形区域像素和,将包含大量冗余计算,降低训练和检测速度,不能满足检测系统高实时性要求。为快速有效地计算类Haar特征,算法采用图像的一种中间表示形式——积分图像。积分图是一种二维数组结构,可实现子区域的快速求和。利用积分图可在常数时间内计算图像上任意矩形区域像素和,从而快速求得特征值,如图4所示。
图4 积分图计算
点(x,y)处像素值记为i(x,y),积分图像值为该点左上角区域像素和,记为ii(x,y)。对图像遍历一次即可快速求出积分图。
(1)
借助积分图,可快速计算出类Haar特征值,如图4所示。图中点1处值表示区域A的灰度值,记为ii1,点2处值表示区域A和B的灰度和,记为ii2,同理,点3、点4处的积分图值分别为ii3、ii4,矩形区域D灰度值为(ii4+ii1)-(ii2+ii3)。
2.3 AdaBoost分类器训练
AdaBoost算法是Freund和Schapire[1,6]提出的一种自适应boosting算法框架[8],在训练过程中动态地调整样本权值,对难分类样本给予更多重视。初始化时,对同类训练样本赋予相同权重,然后对训练样本集进行T轮训练。每轮结束后,降低正确分类样本权重,提高错误分类样本权重,使下轮训练过程对错分样本加以重视,最终达到所要求的分类性能。T轮训练后获得T个最佳弱分类器,将其加权组合成强分类器,分类效果较好的弱分类器的权重较大。
给定样本集S,算法如下:
(1)初始化训练数据的权值分布,每一个训练样本被赋予权重1/N。
D1=(w11,w12,w13,…w1i…,w1N),w1i=1/N,i=1,2,3,…,N
(2)
(2)进行多轮迭代,m=1,2,3,…,M表示轮次
①使用具有权值分布Dm的训练数据集学习,得到基本分类器:
Gm(x):x→{-1,+1}
(3)
②计算Gm(x)在训练数据集上的分类误差率:
(4)
Gm(x)在训练数据集上的误差率em计算为被Gm(x)误分类样本权值和。
③计算Gm(x)的系数,αm表示Gm(x)在最终分类器中的权重:
(5)
由上式可知,em≤1/2时,αm≥0,且αm随em减小而增大,分类误差率越小的基本分类器在最终分类器中的作用越大。
④更新训练数据集权值分布,得到新的样本权值分布,用于下一轮迭代
Dm+1=(wm+1,1,wm+1,2,…wm+1,i…,wm+1,N)
(6)
(7)
被基本分类器Gm(x)误分类样本的权值增大,被正确分类样本的权值减小。通过这种方式,算法能聚焦于那些难分样本。Zm是规范化因子,如下式:
悠悠扬扬:曾经很长的时间,我觉得如果没有一个爱自己的人,真的很悲惨。所有生活的乐趣都没有了。觉得很害怕,很孤独。一个人太凄惨了。每当这个时候,就觉得世界很黑暗。甚至生活没有了任何意义。自己会陷入一种非常难受的情绪里。
(8)
(3)组合各弱分类器
(9)
得到最终强分类器,如下:
(10)
2.4 车辆检测与验证
车辆检测过程包括图像预处理、类Haar特征提取、积分图计算及应用AdaBoost进行分类识别等。使用训练过程选择的类Haar特征来计算相应特征值,构成特征向量。
表2 实验结果数据统计
AdaBoost分类器利用所得到的特征向量检测车辆是否存在,并确定车辆在图像中的位置。车辆尾部、头部存在对称特征,如灰度对称性、轮廓对称性,而非车辆区域通常不具有这种对称性。对检测出车辆的位置进行局部轮廓检测,两侧轮廓间距W,找出垂直对称轴,在对称轴两侧0.3 W像素范围内进行灰度对称性检测。验证时,为了提高实时性,对图像进行抽样检测。图5(a)、(c)中实线为抽样行,灰度值如图5(b)、(d)所示。
图5 车辆头尾部灰度对称性
实验在PC上完成(CPU Intel i7-3770, 3.40 GHz, 内存8 GB ),软件平台为Windows7 64位系统、VS2010和OpenCV2.4.9搭建的C++开发环境,结合VS2010与OpenCV训练了AdaBoost分类器。采用车载摄像机拍摄的道路行车视频,分别在晴天、阴天条件下进行前车检测测试。评价指标如表1所示,有检测率(Detection Rate, DR)、假正率(False Positive Rate, FPR)和平均处理时间。其中,TP、FP、TN、FN分别表示正确检测车辆数、将非车辆检测为车辆数、正确检测的非车辆数和将车辆误检为非车辆的数目。由于前车是检测目标且TN量难以计数,实验仅对TP、FP和FN加以统计,数据如表2所示,检测实验结果如图6、图7所示。结果表明,本文提出的前车检测算法检测率较好、假正率低,平均检测时间分别为13.36 ms/帧和28.50 ms/帧,满足高速驾驶实时性要求,不同环境下的测试结果也显示该算法具有良好的鲁棒性。
表1 实验评价指标
(11)
(12)
本文提出一种基于Haar特征和AdaBoost分类器并结合车辆头尾部灰度对称性的前车检测方法。提取类Haar特征时积分图的使用有效提高了训练和检测速度,加入车辆灰度对称性验证显著降低了假正率。实验结果显示该方法可以快速、有效地进行前车检测。后续工作包括算法调试和实验测试,并将其集成到实验室开发的车辆主动安全软件项目中去。
[1] 金立生, 王岩, 刘景华, 等. 基于 Adaboost 算法的日间前方车辆检测[J]. 吉林大学学报(工学版), 2014,44(6): 1604-1608.
[2] 刘洋, 王海晖, 向云露, 等. 基于改进的 Adaboost 算法和帧差法的车辆检测方法[J]. 华中科技大学学报 (自然科学版), 2013,41(S1):379-382.
[3] SIDLA O, PALETTA L, LYPETSKYY Y, et al. Vehicle recognition for highway lane survey[C]. Intelligent Transportation Systems. Proceedings of the 7th International IEEE Conference on. IEEE, 2004: 531-536.
[4] MATTHEWS N D, AN P E, CHARNLEY D, et al. Vehicle detection and recognition in greyscale imagery[J]. Control Engineering Practice, 1996, 4(4): 473-479.
[5] 文学志,方巍,郑钰辉.一种基于类Haar特征和改进AdaBoost分类器的车辆识别算法[J].电子学报,2011,39(5):1121-1126.
[6] VIOLA P, JONES M. Rapid object detection using a boosted cascade of simple features[C]. Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, IEEE, 2001.
[7] 李云翀, 何克忠, 贾培发. 基于阴影特征和 Adaboost 的前向车辆检测系统[J]. 清华大学学报(自然科学版), 2007, 47(10): 1713-1716.
[8] 李航. 统计学习方法[M]. 北京:清华大学出版社, 2012.
An approach of front vehicle detection based on Haar-like features and AdaBoost algorithm
Yu Xiaojiao, Guo Jing, Xu Kai, Wang Na
(School of Information Science and Technology, University of Science and Technology of China, Hefei 230026, China)
For the problem of vehicle detection in intelligent vehicles and safety driving assist systems, an approach of front vehicle detection based on Haar-like features and AdaBoost classifier combined with vehicle verification using symmetrical gray values is proposed in this paper. Haar-like features of the image is calculated using the integral image method, then a small number of critical features are selected from a very large set of Haar-like features while training AdaBoost classifier. Both the selected features and the classifier are used in front vehicle detection tests. Experimental results show that the proposed approach performed quickly and effectively under cloudy and sunny weather conditions with detection rates of 90.86% and 91.15% respectively.
front vehicle detection; Haar-like feature; integral image; AdaBoost algorithm
TP311
A
10.19358/j.issn.1674- 7720.2017.13.008
余小角,郭景,徐凯,等.一种基于类Haar特征和AdaBoost算法的前车检测方法[J].微型机与应用,2017,36(13):22-25.
2017-02-13)
余小角(1990-),通信作者,男,硕士研究生,主要研究方向:智能信息处理。E-mail: xjyu@mail.ustc.edu.cn。
郭景(1992-),男,硕士研究生,主要研究方向:智能信息处理。
徐凯(1991-),女,硕士研究生,主要研究方向:图像处理。