基于改进Adaboost的行人快速检测与定位算法*
2014-08-21李福樑冯琼莹张荣辉裴玉龙徐建闽
游 峰 李福樑 冯琼莹 张荣辉 裴玉龙 徐建闽
(1.华南理工大学土木与交通学院 广州510640;2.新疆交通科学研究院 乌鲁木齐830000;3.哈尔滨工业大学交通科学与工程学院 哈尔滨150090)
0 引 言
为有效地保护行人安全,及时警告驾驶员避免与行人碰撞,行人检测技术已成为车辆主动安全与汽车安全辅助驾驶技术的研究热点。视频检测方法因成本低廉,灵活性好,有较强鲁棒性,受到工程应用和理论研究领域的广泛关注[1]。
目前,基于视频的行人检测研究,大多采用P.Viola等[2]提出的基于 Harr-like特征的方法,该方法具备一定的实时性。但与人脸相比,行人模式具有更大的外观差异,直接应用于行人检测的效果并不理想。A.Iketani[3]研究的行人检测系统使用多个摄像机,采用立体成像技术,结合神经网络的方法确定行人在图像中的位置及尺寸。R.Cutler等[4]提取行人图像的差分图像,建立运动行人的感兴趣区域,采用时频化方法分析图像中的行人是否存在周期性的运动,实现行人的识别和跟踪。Karaulova等[5]建立了人体运动学的分层模型,用于单目视频序列中人体的跟踪。V.Philomin等[6]应用背景相减法提取行人的边缘特征,用Procrustes法进行行人的识别和跟踪。Liang Zhao[7]利用自闭塞的轮廓线或身体局部的侧面轮廓线对行人进行跟踪。O.Masoud等[8]利用动态的矩形匹配建立行人模型,允许行人模型在图像空间中重叠,解决可能出现行人重叠或遮挡问题。孙庆杰[9]利用侧影的人体模型及其概率模型,提出了1种基于矩形拟合的人体检测算法。郑南宁等[10]通过Gabor滤波器提取图像中行人的特征,利用训练得到的分类器将行人从图像中分割出来。魏福禄等[11]将雷达与摄像机结合运用,实现基于多源信息和融合方法的行人检测。
上述多数基于机器学习的检测方法具备较高的准确度,但其算法复杂,实时性差。笔者在前人研究成果的基础上,完善了Harr-like的行人特征库,引入优化更新权重的方法,改进了传统Adaboost算法,提出1种基于级联分类器的行人检测方法,实现对行人区域快速精确检测。
1 基于Adaboost的行人检测
1.1 Adaboost算法简介
Adaboost算法是1995年由Yoav Freund和Robert E.Schapire[11-12]提出的,算法是1个简单弱分类算法的提升过程,通过不断的训练,提高数据的分类能力。根据每次训练样本的分类是否正确,以及上1次的总体分类准确率,来确定每个样本的权值。并与每次训练所得到的弱分类器融合起来,形成最后的强分类器[13]。
1.2 矩形特征与积分图
Haar-like特征定义为黑色矩形和白色矩形在图像子窗口中对应区域的灰度级总和之差。笔者在前人研究工作的基础上,构建出9类矩形特征,见图1。这些特征反映了人体形状的全局特性和局部特性,更能凸显行人的外观差异特性。
图1 Harr-like特征示意图Fig.1 Viola Jones's Harr-like features
为加快Harr-like特征的运算,采用积分图运算方法[15]。如图2所示,积分图像在1点的值为区域A的灰度级总和,简记为A;2,3,4点的对应值分别为A+B,A+C,A+B+C+D。分析几何特征可知,由1,2,3,4点围成的矩形区域D的灰度级总和可以表示为1+4-2-3。积分图中坐标点(x,y)处的值定义为原图中左上角的像素值之和:式中:ii(x,y)为积分图在(x,y)处的值;i(x′,y′)为原始图像中对应位置的像素值。ii(x,y)通过下式迭代计算
式中:s(x,y)为行的积分和,且s(x,-1)=0,ii(-1,y)=0。
图2 积分图计算Fig.2 Computing sum of pixels in a rectangular region using the integral image
2 Adaboost训练算法
为加快分类器训练过程,笔者改进了Adaboost算法,该算法使每1个弱分类器对应于1个特征,根据错误率最小的原则选择弱分类器,改进Adaboost的算法描述如下,定义X表示样本空间;Y为样本类别标识集合,此处限定Y={1,0},分别对应样本的正和负。假定共有K个特征。
已知(x1,y1),(x2,y2),…,(xn,yn)构成训练样本集。其中:xi∈X,yi∈Y。假设样本集中共有Np个正样本;Nn个负样本,Np+Nn=N。
2.1 初始化样本权重
2.2 For t=1,2,…,T (T为最大训练轮数)
1)归一化样本权重分布。
2)对于每个特征,在给定的样本权重分布下训练弱分类器。
式中:vj为第j个特征的特征值;θj为阈值;pt∈{-1,1}为不等号的偏置方向,j=1,2,…,K。
3)计算每个弱分类器对样本集的分类错误率。
4)选择第t轮训练的最优弱分类器ht(x)。
令k=argminjet,j
则ht(x)=ft,k(x),并且对样本集的分类错误率ξt=et,k。
5)更新样本权重。
若xi被ht正确分类则εt=0,否则εt=1。
2.3 最终强分类器
最终的强分类器由T个弱分类器线性叠加而成。
由改进Adaboost算法的训练过程可知,构建的简单分类器对分类正确的样本减少其权重;否则,增加其权重。因此,离线训练的简单分类器可不断强化对分类错误样本的训练。
3 实验结果及分析
系统采用Visual 2010和Intel OpenCV联合开发而成,硬件配置为Intel i5 CPU+4G DDR内存。输入系统的图像分辨率为640像素×480像素,行人检测频率可达25帧/s以上。
3.1 行人训练样本库的建立与分类器的训练
训练样本分为负样本和正样本。其中负样本指其他不包含行人的任意图像;正样本是指包含待检行人样本图像,部分负和正样本分别见图3、图4。为提高系统的检测速度,将正样本尺寸缩放成16像素×32像素的图像,负样本尺寸缩放成640像素×480像素的图像。实验使用的图像部分源于INRIA Person训练样本库,另一部分由试验现场获取。实验最终选择训练样本共3 947个,其中正样本图像926幅,负样本图像3 021幅。
图3 训练负样本Fig.3 Non-pedestrian samples
图4 训练正样本Fig.4 Some pedestrian samples
通过Intel OpenCV Library[16]提供的工具进行训练。实验结果表明,当训练循环次数T=200时,构成的强分类器可获得较好的检测效果。
3.2 级联分类器算法的设计
为进一步提高算法的实时性,笔者设计了级联分类器,即被检行人窗口依次通过每1级分类器,若全部通过每1级分类器检测的区域即为行人区域,否则为非目标区域。行人候选区域分割的级联分类器结构见图5。
在级联分类器中,每1级分类器均由改进的Adaboost算法训练获得的强分类器构成。该级联分类器离线训练时,为每级分类器设置通过的阈值(文中取99.5%),使得大多数行人样本得以训练通过。
图5 级联分类器检测过程的示意图Fig.5 Scheme of cascade classifier
3.3 行人运动区域检测
通过应用行人目标训练的级联分类器,在图像中寻找行人目标,并用矩形区域表示行人区域。级联分类器以不同比例的扫描窗口对图像进行遍历,由于扫描窗口对尺寸和位置变化比较敏感,可能导致同一目标在不同的扫描窗口中被检测,从而造成行人目标出现重叠区域。为此,采用平均矩形方法,如图6所示,如果行人目标矩形R1与行人目标矩形R2相交,相交面积S(图中灰色部分所示)。分别计算行人目标矩形R1、R2,以及相交部分的面积S1,S2和S,根据下式计算其比值ξ1,ξ2。
当ξ1,ξ2均大于0.7时,对2个检测窗口的4个端点求平均值,最终合并为1个矩形,否则视为不同的行人目标。将平均矩形法与其他方法进行对比,如表1可知,平均矩形法对行人的检测和误检都有较好改善。
表1 平均矩形法与其他方法的对比Tab.1 Comparison of average rectangle method with other methods %
图6 平均窗口合并示意图Fig.6 The average merger diagram window
实验表明,选择对分类器检测窗口进行缩放更为有效。为检测出各个尺度下的行人目标,设置分类器检测窗口的缩放比例系数为1.2倍。如图7所示,通过使用离线训练的分类器对CCD采集图像进行实时搜索,实现图像中行人目标的在线检测。
图中矩形框为行人检测的结果。图7(a)~(c)为1个行人的检测,其中:图(a)图中存在斑马线,图(b)为雨天环境的复杂场景,图(c)中行人肤色为黑色,在以上复杂场景情况下都能取得较好的行人检测结果。图7(d)~(f)为2个行人的检测结果,其中图7(d)中行人携带物体,图7(e)和图7(f)分别为行人背面和行人侧面,上述情况均破坏行人的正面特征,但笔者所设计的分类器也能较好对行人进行检测。图7(g)~(i)为多个行人的检测结果,图7(g)中行人位置相对分散,图7(h)中人群中行人存在遮挡,图7(i)中行人并排而行,均在较大程度上破坏了单个行人的特征,但文中所述算法仍有较好的检测效果。对于图7(i)由于其中2人间隔过小,导致漏检,这与矩形特征的性能有关。
此外,笔者用PETS 2001测试集中的6个图像序列和自拍的图像序列来对比评测算法的性能(与viola等人提出的算法)。如表2所列,笔者所提出的行人检测器的训练性能与viola算法相同,总检出率为91.0%,总误报率为1.84×10-6。
图7 程序对行人检测结果Fig.7 Pedestrian detection results
表中图像序列1~6分别对应PETS 2001测试集中相应视频,即data/testing/camera1~6;图像序列7,8对应自拍视频的图像序列。应用本文所述方法检测大小为640像素×480像素的图像,平均检测时间约为115 ms。从表中数据可知,笔者设计的算法,行人检测率高于Viola算法,且对误报率也有较大改善。
表2 文中提出算法与viola方法的对比Tab.2 Comparison of the proposed algorithm with Viola’s
4 结束语
笔者采用Harr-like特征提取行人特征,使用积分图快速计算矩形特征,提高了算法的效率。对传统的Adaboost算法引入优化更新权重的方法,提出1种基于级联分类器的行人检测方法,实现对行人区域快速精确检测。实验表明,改进的Adaboost算法比传统算法在相同训练层数下识别率更高,在相同识别率下改进算法所需的训练层数较少,更能适应行人检测的实时要求;对复杂交通环境有较强的鲁棒性。但是,当行人严重遮挡,或行人在图像中所占像素过少,行人的检测性能仍需进一步完善,因此如何改进训练权值的更新规则以及对行人典型特征的提取,将是下一步研究工作的重点。
[1] 郭 烈,赵宗艳,聂 倩,等.利用腿部区域HOG特征的行人检测方法[J].计算机工程与应用,2013,49(1):217-221.
[2] Viola P,Jones M,Snow D.Detecting pedestrians using pat-terns of motion and appearance[J].Computer Vision,2005(2):153-161.
[3] Iketani A,Kuno A,Nagai Y.Real-time surveillance system detecting persons in complex scenes[J].Real-time Imaging,2001,7(5):433-446.
[4] Cutler R,Davis L.Robust real-time periodic motion detection,analysis,and applications[J].IEEE Transactions on Pattern Analysis and Machine Intelligence.2000(1):781-796.
[5] Karaulova I,Hall P,Marshall A.A hierarchical model of dynamics for tracking people with a single video camera[C]∥Proceedings of the British Machine Vision Conference.Bristol,UK:BMVC,2000:11-14.
[6] Philomin V,Duraiswami R,Davis L.Pedestrian tracking from a moving vehicle[C]∥11th Asian Conference on Computer Vision.Heidelberg,Germany:Springer Verlag,2002:335-346.
[7] Zhao L.Dressed Human Modeling,Detection and Parts Localization[D].Pittsburgh:The Robotics Institute,Carnegie Mellon University,2001.
[8] Masoud O,Papanikolopoulos N.Robust pedestrian tracking using a model-based approach[C]∥IEEE Conference on Intelligent Transportation Systems.Piscataway,United States:IEEE,1997:338-343.
[9] 孙庆杰.静态图像中人体检测技术研究[D].北京:中国科学院软件研究所,2004.
[10] Cheng H,Zheng N,Qin J.Pedestrian detection using sparse gabor filter and support vector machine[C]∥IEEE Intelligent Vehicles Symposium.Las.Vegas,United states:IEEE,2005:583-587.
[11] 魏福禄,曲昭伟,江 晟,等.基于多源信息融合的行人检测实时性方法研究[J].交通信息与安全,2012(3):43-47.
[12] Ke Z,Al E.A Cache replacement policy to salvage discarded predictions from hardware prefetchers[J].IEEE/ACM International Symposium on Cluster,2011(1):265-274.
[13] Jacobson N,Freund Y,Nguyen T.An online learning Approach to occlusion boundary detection[J].IEEE Transactions on Image Processing,2012(1):252-261.
[14] Rakate G R E A.Advanced pedestrian detection system using combination of Haar-like features,Adaboost algorithm and edgelet-shapelet[C]∥3rd IEEE International Conference on Computational Intelligence and Computing Research.Coimbatore,India:IEEE Signal Process,2012:143-152.
[15] 朱谊强.基于Adaboost算法的实时行人检测系统[J].计算机测量与控制,2006,14(11):1462-1465.
[16] 刘远志,潘宏侠,赵润鹏.基于 OpenCV和 Adaboost算法的人脸检测[J].机械管理开发,2012(1):185-186.