第31卷第9期2015年9月信号处理JOURNALOFSIGNALPROCESSINGVol.31No.9Sep.2015收稿日期:2015-06-01;修回日期:2015-08-17基金项目:国家自然科学基金资助项目(61171151);国家重点基础研究发展计划(“973”计划)基金资助项目(2012CB316400)多环境下的实时前车检测与车距测量顾兆伦邵雨辰谢扬振钱沄涛(浙江大学计算机科学与技术学院,杭州310027)摘要:本文利用智能手机对视频信息进行实时处理,从而实现对前车的检测和车距的估算。采用两步前车检测技术,即寻找车辆假设区域和验证车辆假设区域。通过基于车道先验的两步阈值法提取车底阴影,通过车道先验对阴影进行筛选从而确定车辆假设区域,并利用基于Haar-like特征的Adaboost方法来对车辆假设区域进行验证,之后通过视频流特征对误检信息进行剔除并对车辆进行实时跟踪。本文还结合摄像头透视几何关系,只需用户提供摄像头高度信息即可对前车距离进行准确估算,可以作为有效的危险预警手段。关键词:车辆检测;车底阴影;Haar-like特征;车距估算中图分类号:TP391文献标识码:A文章编号:1003-0530(2015)09-1188-07Real-timeVehicleDetectionandDistanceMeasurementinMulti-EnvironmentGUZhao-lunSHAOYu-chenXIEYang-zhenQIANYun-tao(CollegeofComputerScience,ZhejiangUniversity,Hangzhou310027,China)Abstract:Inthispaper,weusesmartphonetoprocessthevideoinreal-timeforvehicledetectionanddistancemeasure-ment.Twostepsofvehicledetectionmethodisbeingapplied,whicharefindinghypothesisregionandverificationofthere-gion.Themethodusestwostepsofextractingthethresholdofvehicleshadowsbasedonlaneprior,screensoutthegoodshadowsinviewoflanepriorandverifiestheshadowbyusingAdaboostclassifierbasedonHaar-likefeatures.Thenthevideostreaminginformationisbeingusedforrejectingthenon-vehicleregionandtrackingthevehicle.Perspectivegeometryisbeingusedfordistancemeasurementduringthatallauserneedtoprovideistheheightofthecamera,whichcanbeap-pliedtoearlywarningforrisk.Keywords:vehicledetection;vehicleshadow;Haar-likefeature;distancemeasurement1引言实时道路前车检测是指利用摄像头拍摄车辆前方路面,利用图像处理、视频分析等技术检测图像中存在的车辆,并对车距进行估算,该项研究主要应用于汽车辅助驾驶等领域,对于减少交通事故具有重大意义[1]。本文主要讨论能在智能手机上运行的基于视频的实时前车检测与车距估计。利用单目视觉的方法多采用基于知识的车辆检测,基于知识的检测根据先验知识来产生假设区域,比如车辆对称性、车底阴影、车辆的几何特征、车灯等。在多数天气条件下,车辆下方的区域比柏油路上其他区域要暗,此方法对图像的光照强度比较敏感,因此阴影的阈值不能固定。文献[2]仅利用Haar-like特征进行车辆检测,搜索整个窗口,误检率太高。文献[3]利用进化算法来进行车辆检测,降低了误检,但是对于复杂路况处理有待加强,效率有待进一步提高。文献[4]认为路面的亮度服从正态分布,将阴影区域的高阈值定为极点。文献[5]利用最大方差阈值方法提取阴影,在光照比较好、路面比较均匀时能够比较精确的确定感兴趣区域。文献[6]提取第9期顾兆伦等:多环境下的实时前车检测与车距测量车辆的SIFT特征,之后利用PCA进行降维,最后使用SVM分类器进行检测,其存在的最大问题在于计算量过大,难以实时。文献[7]利用光流法对来向车辆进行检测,使用Haar-like特征[8]对前方车辆进行检测。文献[9]将Haar特征和几何对直方图(PGH)组合进行车辆检测,提出了用于车辆检测的新的特征。文献[10]提出利用车道的颜色变化等检测车道范围,从而进一步检测车底阴影,之后利用水平对称性和垂直不对称性进行假设区域的验证。文献[11]采用两次自适应阈值将图像二值化从而生成车辆假设区域,之后使用对称性对此区域进行验证以排除虚假车辆。文献[12]提出利用两步主动学习来检测车辆,之后利用粒子滤波来对检测到的车辆进行跟踪。车底阴影是目前车辆检测中比较流行的特征,但是难以生成鲁棒的阴影提取阈值,并且路边绿化带或者其他非道路区域的阴影很容易对阈值的计算过程产生干扰。本文提出基于车道先验的阴影提取方法,通过限定图像处理范围,在车道感兴趣区域(ROI,regionofinterest)内计算阈值,可以很好的提取车底的阴影,之后通过车辆与车道宽度的比例关系以及车道范围的限定来产生车辆假设区域。Haar-like特征很适合用来描述车辆特征,本文利用基于Haar-like特征的Adaboost分类器来对车辆假设区域进行验证,由于现实环境复杂多变,所以本文提出利用视频流特征,通过记录候选区域置信度来对误检进行剔除;粒子滤波等方法对于跟踪有比较好的效果,但是其计算效率有待进一步提高,本文利用视频过去帧的信息,在保证跟踪准确率的情况下简单实现对前车进行跟踪;然后利用透视几何关系,在仅需用户提供摄像头高度的情况下对前车距离进行实时估计,最后通过手机GPS信息得到车辆速度,结合前车车距对危险情况作出预警。2车辆假设区域生成阴影检测能基本上检测到所有车辆,但由于现实环境复杂多变,阴影提取的阈值很难确定。文献[12]采用两次阈值分割图像,能够较好的提取车底阴影,此方法对建筑物投影等干扰能初步排除,然而此方法容易受路边非道路区域(如绿化带)等的干扰,而且在光线较暗(如阴天)时阴影提取效果不理想,本文在其方法基础上利用车道先验知识限定阈值提取计算范围,有效提升了阴影提取的效果。灰度图像的均值与方差可利用公式(1)、(2)进行计算:μ=∑M-1m=0∑N-1n=0f(x+m,y+n)MN(1)σ=∑M-1m=0∑N-1n=0[f(x+m,y+n)-μ]2槡MN(2)第一次自适应阈值为θ1=μ1-σ1a(3)其中a的取值为a=μ1σ1(4)根据计算得到的θ1进行二值化能够排除图像中较亮区域的干扰[12]。接着统计图像中像素值低于θ1的点,利用公式(1)、(2)计算其均值和方差:θ2=μ2-σ2b(5)其中b的取值为b=μ2σ2(6)由于路边绿化带通常比路面要暗,如果直接对整幅图像进行上述计算,则当阴天或者树荫导致阴影不明显时很难将车底阴影检测出来,本文提出仅在车道区域进行上述计算,从而有效提升系统的鲁棒性。假设得到的车道区域如图1所示。图1车道区域Fig.1Laneregion完成两步阈值提取后在ROI中扫描检测阴影,扫描顺序为自底向上,自左至右。如果某点像素灰度低于θ2,则认为该像素处于阴影区域。通过以上方法可以得到ROI内所有可能为阴影的点或区域,接下来需要对这些区域进一步做如下处理以得到近似车底阴影的线条。1)对阴影区域进行形态学变换以达到细化。9811信号处理第31卷2)同一行上的相邻近似阴影区域进行合并。3)上下相邻某几行进行合并,因为此区域很可能是车辆本身的深色造成的。4)通过得到的不同暗线上方固定矩形大小之间的重合度来对暗线进行剔除。由于我们已经得到了车道信息,根据车辆与车道有一定的大小比例关系,可以用来对车辆假设区域进行虚假车辆的剔除。设车道宽为L,阴影宽为l0,则需满足12*L(y)<l0(y)<L(y)(7)其中y为车道或阴影的纵坐标。因为车辆总是在车道上,所以为了减少远处建筑、绿化带等的影响,需要对阴影的检测范围限制在道路上,即满足shadow(y)·x>lane(y)·x-lane(y)·L(8)shadow(y)·x+shadow(y)·l0<lane(y)·x+lane(y)·L(9)当ROI扫描结束时,基本能得到所有的以线段形式存在的车底阴影区域。将每一条阴影线段向上扩展出宽高比为1∶1的矩形,作为车辆候选区域。对于得到的候选区域,采用基于水平/垂直边缘检测的方法来进行初步验证,剔除错误假设。图2显示了通过以上方法寻找到的车辆假设区域,可以看出在晴天和阴雨天都能够很好的寻找到车底的阴影,然而现实中路边的草木等,路面的修补等都可能会被二值化为阴影,因此需要下文的假设验证工作。图2通过二值化寻找车底阴影Fig.2Findvehicleshadowbybinaryzation3车辆假设区域验证由于复杂多变的现实环境,通过以上方法找到的车辆假设区域需要进一步进行验证才能确定为车辆。仅通过像素很难描述车辆的特征,车辆的边缘特征是一个比较明显的特征,其主要出现在车辆的四周以及车辆尾部的各种线条。Haar-like特征最初被用于人脸检测,其能够描述图模式相邻区域的特征差异,为了得到鲁棒的车辆边缘及尾部线条,本文使用假设区域的Haar-Like特征来对其进行描述。Haar-like特征值均以矩形框为单位,通过将矩形框内所有黑色区域的和减去矩形框内所有白色区域的和即可计算得到,目前常用的矩形特征有15种[6],如图3所示。这种特征表示的形式简单,能够描述大多数邻域关系,其特征值的计算为公式(10),即为矩形区域灰度值积分之和:FeatureI=∑i∈I{1,...,N}ωi*Rec(ri)(10)式中ωi∈R为矩形i的权重,N是组成的矩形个数,Rec(ri)为矩形ri所围区域的灰度值积分。图3Haar-like特征Fig.3Haar-likefeatures积分图是一种计算矩形区域像素和的快速算法,解决了Haar-like矩形特征数量庞大造成的计算速度的限制,对每张图像计算一次积分,就可以利用积分结果快速求解图像上任意矩形区域内像素的和,如图4所示。图4矩形积分图像Fig.4Rationaleofintegralimage定义像素点(x,y)处的积分图像为像素点(x,y)左上部分区域像素的和,即ii(x,y)=∑x'<x,y'<yi(x'y')(11)其中ii(x,y)是积分图像,i(x,y)是原图像。选取的0911第9期顾兆伦等:多环境下的实时前车检测与车距测量某矩形框内像素点的和可以通过公式(12)计算s(x,y)=s(x,y-1)+i(x,y)ii(x,y)=ii(x-1,y)+s(x,y)valueD=ii4+ii1-ii2+{ii3(12)通过积分图像,使得Haar-like特征提取过程简单高效,但是仅通过单一的弱分类器很难达到理想的效果。Adaboost是一种迭代算法,其基本思想是针对同一个训练集训练一些分类性能一般的弱分类器,通过一定的方法融合,构成一个强分类器。为了得到较高的车辆检测准确率,需要利用大量的正样本和负样本来训练AdaBoost分类器。本文使用的正样本库包含近4000张各种天气光照条件下汽车尾部和正面图像,负样本库包含8000张不包含车辆的图像。将正负样本放缩为20*20大小的图像进行训练。所选取的部分正样本如图5所示,负样本如图6所示。图5训练所用部分正样本Fig.5Positivesamplesfortra