基于单目视觉的车辆检测技术

时间:2022-09-23 06:07:02

基于单目视觉的车辆检测技术

摘 要:基于单目摄像头,文中提出了一种自适应扫描区域的车型及车距检测算法,以提高前方车辆识别的实时性、准确性和鲁棒性。该算法的创新点在于采用发散式扫描方式进行分段区域阈值计算,可以在减小计算量的同时有效避免道路两旁树木、广告牌等阴影对车辆检测的影响。首先,确定道路消失点与扫描区域;其次,根据车辆底部的阴影特征进行自适应阈值、矩形度等的计算,确定车辆所在位置;再次,根据边缘特征识别出车辆外框;最后,根据逆投影变换估算出前方车辆与本车之间的距离。实验结果表明,该算法对于在复杂路面、光线较弱工况下的车辆识别均具有较好的适应性。

关键词:单目视觉;发散式扫描;自适应阈值;车辆识别;车距识别

中图分类号:TP391;TP274 文献标识码:A 文章编号:2095-1302(2017)06-00-05

0 引 言

车辆检测系统具有辅助驾驶、提前警告等作用,可以更好地保护人车安全。文献[1]指出目前常用的车辆检测算法有单目视觉、立体视觉、多传感器融合。由于目前单目视觉算法成熟,因此车辆检测的方法多基于单目视觉。

在基于单目视觉的车辆实时检测系统中,车辆最明显的特征是其底部阴影[2-11]。目前,阴影检测技术主要分为基于模型的方法和基于特征的方法。

基于模型的方法根据被检测目标的形状、所处环境等先验条件建立阴影模型,然后通过统计分析来判断每个像素点是否属于阴影区域。基于模型的方法需要严格假设,若被检测目标易于建模,则可对阴影有较好的检测效果。但在复杂多变的环境下,此方法抗干扰能力差,检测正确率不高[12]。基于特征的方法则是先确定扫描区域,然后通过灰度、纹理、梯度等特征来检测阴影,最终将阴影和背景分离。施树明使用车底灰度值突变法进行图像分割[13],其实验结果表明,该方法的抗干扰性较差。均值方差差值法根据无障碍物路面区域内像素点的灰度值符合正态分布的特点,利用其统计参数确定路面灰度阈值。顾柏园使用样本区间灰度值特性结合矩形扫描窗口的方法进行车底阴影区域分割[14],在前方远距离有阴影且近距离无阴影的情况下,利用该方法进行车底阴影的分割具有一定的局限性。

车辆外框检测在完成车辆底部阴影识别的前提下进行,刘直芳将最大连通区域左右边界作为车辆左右边框[15]。但此方法易受光线影响,鲁棒性较差。本文采用谭华春的方法[16],通过车辆的边缘特征进行车辆定位,相对更加精确。

基于上述分析,本文提出了一种基于自适应扫描区域的发散式扫描方式的分段区域阈值计算方法进行车辆底部的阴影识别,然后根据车辆的边缘特征进行车辆的边框检测。该算法可以有效减少计算量及复杂环境的干扰,提高车辆检测的实时性及鲁棒性,分割效果较好。

1 发散式扫描原理

由于本车车道和相邻两个车道的车辆会影响本车的行车安全,因此将这三个车道区域视为危险区域,即如图1中由点D'-P3-P2-C'-K'围成的区域。

1.1 自适应扫描区域

从图1可以看出,危险区域确定的关键点是找到K'点。本算法使用的是自适应的道路消失点K'点。通过HOUGH变换确定当前车道近距离的车道线A'A"以及B'B"[17] ,并将其延长,交点即为道路消失点K'。

在坐标系下,确定当前车道宽后,即可确定相邻两条车道的宽度[18]。因此可以根据改进的逆投影变换求出图像中的车道线K'D',K'C'[19]。最终确定本算法的扫描区域为由点D'-P3-P2-C'-K'所围区域,如图1所示。

1.2 发散式扫描原理

根据图像“远小近大”的透视原理,本节提出了一种对扫描区域进行发散式像素扫描的方法。对比传统以整幅图像或地平线作为分界线的部分图像扫描方法[1],该方法可有效减少扫描像素点的数量,降低外界环境对提取车底阴影信息的干扰。实验表明,相邻两条扫描线之间的角度θ为5°时,可取得较好的识别效果。扫描方法示意图如图2所示,扫描结果如图3所示,本文实验参数见表1所列。

2 自适应阈值计算原理

传统的阈值计算方法是对整个扫描区域进行逐点扫描,从而获得对应点的灰度值,并最终得到全局阈值[1]。此方法虽然可以获取最大量数据进行阈值评估,但其实时性、鲁棒性较差。考虑到车底阴影灰度特性与较暗的路面,树木的阴影等相对接近,以及由于光线造成的远近车底阴影灰度值存在差异等问题,本小节基于发散式扫描原理,以分区域矩形遍历窗口的方式对像素点的灰度值进行自适应阈值计算。

2.1 区域划分

本节提出采用分区域的自适应阈值分割方法,有针对性的完成车底阴影区域的提取。根据图象透视原理,随着前方车辆与本车的相对距离增大,前方车底阴影面积逐渐减小。据此特点,本文将扫描区划分为3个纵向高度相等的子区域Area1~Area3,如图4所示,并针对不同的子区域,以不同的矩形扫描窗口进行阈值计算。以1.6 m宽的普通家庭小轿车车底阴影为例,将每个子区域中面积最小的矩形作为各子区域的遍历窗口,如图4中的S1~S3所示。

2.2 分区域阈值计算

分区域阈值计算的原理为Areai(i=1~3)的阈值由各自区域内灰度均值最小的矩形扫描窗口来决定,即:

式中,i=1~3;Thi为Areai区域的阈值;Mi为Areai区域矩形扫描窗口的最小灰度均值;Mvi为Areai区域最小灰度均值对应矩形扫描窗口的均值方差;G为对应坐标像素点的灰度值;(ui, vi)为Areai区域扫描像素点坐标;(uMi, vMi)Areai区域最小均值矩形窗口所对应的扫描点坐标;Δu、Δv分别为矩形扫描窗口内像素点距其左上角像素点的横、纵距离。

通过大量实验并结合色彩透视原理可以得出结论:近距离车底阴影灰度值低于远距离车底阴影灰度值。针对这一特性,为减小误判现象,本文对三个区域的阈值做以下处理:

式中,Th1,Th'2,Th'3分别为区域Area1~Area3的最终阈值。此方法能够较好地完成扫描区域任一子区域中在没有车辆情况下的图像分割,分割效果更好。

3 车辆识别

车辆外框的检测对安全行驶而言具有重要意义。当前方有大型车辆行驶时,有利于驾驶员提高警惕。车辆的下边界即车底阴影下边界,可由文中所述方法确定。

3.1 车辆下边界检测

利用文章所述方法与阈值进行图像分割,会使分割所得的二值图内部出现空穴,不利于车底阴影信息的提取。因此本文采用空穴填充的方法完成对二值图像的预处理[14]。经实验发现,车辆底部阴影通常为接近矩形的连通区域。对连通区域进行矩形度计算,需将连通区域进行标记。为确保每块标记区域包含一辆车的车底阴影,本文将对每块连通区域做以下操作,以图5为例。

(1)确定阴影区域外接矩形四角g1~g4坐标;

(2)判断矩形g1~g4的宽度是否大于1.2W'1,若是,则执行步骤(3),若不是,则分离结束;

(3)找出非车底阴影区域,且其外接矩形两条边需与区域g1~g4重合,如图中的矩形边g4g5,g4g6;

(4)判断区域g4~g7矩形度是否大于0.7(此数据由实验所得),且矩形宽度是否大于0.2W'1,若同时满足则执行(5),若存在一个不满足,则分离结束;

(5)以直线g6g7的延长线g6g8为分割线将区域g1~g4分割为g1-g4-g6-g8区域和g2-g3-g6-g8区域,并对两个区域重新标记。其中,W'1为路面坐标系下1.6 m车辆宽度,对应图像坐标系下的像素宽度。

经上述预处理,分析图5可知,车底阴影区域通常为不完整的矩形。同时,路面坐标系下辆尾部的宽度范围为1.6~2.5 m。分析上述车底阴影候选区域Ci(i=1,2,3...),为减少计算量,便于进行Ci检测,本文将车底阴影候选区域按照其左下角的坐标,从下到上进行排序,若存在若干个车底阴影候选区域左下角纵坐标相等,则从左到右排序。按照i增大方向对Ci进行检测,车底阴影检测流程图如图6所示。其中,W'2为路面坐标系下2.5 m车辆宽度,对应图像坐标系下的像素宽度。

通过上述分析可求得图像中车底阴影的位置,车底阴影下边缘即为车辆外框下边界。

3.2 车辆左右边界确定

本文采用Log边缘检测算子进行边缘提取[20],Log边缘检测算子采用基于二阶导数过零点的边缘检测方法,因此其能提取出较完整连续的边缘。

垂直边缘提取如图7所示。

在图像的垂直边缘图中,车辆的左右边界垂直边缘比较突出。因此可利用这一特点进行车辆的左右位置定位[14]。公式如下:

其中,Ul,Ur为计算所得车辆左右位置,EC(u,v)为垂直边缘,C(u)为垂直边缘在垂直方向的累加和,Vd为车辆阴影底边界,UVl,UVr为阴影左右边界,H=UVl-UVr为阴影宽度。

3.3 车辆上边界确定

在已经确认的左右边界内,对其垂直边缘与水平边缘进行水平投影,利用车辆的水平边缘信息进行上边界确认[14]。方法如下:

(1)对左右侧垂直边缘进行水平投影(Δx=2)

(2)若Hl(v)=0,(v=Vd+H),则由此位置向下寻找vl,满足Hl(vl)>0的同时Hl(vl+1)=0,否则由此位置向上寻找vl,满足Hl(vl)>0的同时Hl(vl+1)=0,采用同样的方法寻找Vr。

(3)取vmax=max(vl,vr);

(4)对水平边缘水平投影,得:

(5)寻找水平投影最大值Hmax,在vmax≤v≤Vd+1.5 V范围内找出vt,使得H(vt)≥(1/2)Hmax,停止搜索,vt即为车辆边界。

Eh(u,v)为水平边缘。根据上述方法进行车辆定位,结果如图8所示(图中直线为边界定位结果)。

根据车辆边框的下边界,通过改进的逆投影变换求出在路面坐标系下[19],本车与前方车辆之间的相对距离。

4 实验结果及分析

本文实验平台为Matlab 2014a。实验视频来自2015年9月17日下午行车记录仪录取的江苏省海门市人民西路路段、解放东路路段、解放路路段和秀山路路段视频。

为了能够更加直观的体现出本文算法的准确性,文章列出了简单工况与复杂工况视频的统计结果,如表2,表3所列。从表2和表3中可以看出,无论是简单工况还是复杂工况,当前车道的车辆识别正确率都可以达到99%以上,处于左、右两同向车道车辆的识别正确率有所下降,但也可以达到92%。这主要与当前车道的车辆处于摄像头正前方,可以最大程度采集车底阴影数据有关。由于左、右同向车道的车辆处于摄像头的左、右侧方向,因此其呈现在图像中车辆底部阴影区域相对于正前方的车底阴影区域会有一定程度的变形,导致识别正确率下降。在表3中,左侧逆向车道的车辆识别正确率明显低于同向车道,只有76.42%。导致这一现象的主要原因是本文识别的是车尾部分的底部阴影,但逆向车道的车辆识别只能识别车头部分的底部阴影,与本文算法冲突。因此,本文算法在左侧逆向车道的车底阴影识别方面有待加强。

图9所示为实验结果视频中随机截取的8张图片。从图中可以看出,在简单背景环境下可以准确识别出车辆外框,但在背景有阴影或光线较弱的情况下车辆外框识别效果较差。这主要与光线会对边缘检测造成影响有关,因此,本文算法在复杂工况下的车辆外框识别方面仍有待加强。

5 结 语

本文提出了一种基于自适应扫描区域采用发散式扫描原理的自适应阈值算法,结合车辆边缘特征进行车辆的边框以及车距检测。大量实验验证表明:

(1)提出的基于自适应扫描区域的发散式扫描原理,不仅可以减小周围环境对车辆识别的干扰,还能够采集到有效的像素信息,可较好提高车辆识别的实时性;

(2)提出的分段式自适应阈值计算方法,通过将扫描区域分成三个部分,利用不同大小的矩形遍历窗口,完成图像阈值分割计算,由此大幅提高算法对光线明暗和道路阴影等干扰的自适应性。

(3)根据车辆边缘特征进行车辆边框定位,可以完成简单工况下的车辆边框检测。

未来需要开展的工作分为如下几项:

(1)进一步提高车辆边框检测的鲁棒性;

(2)对识别的车间距离与实际距离进行标定,验证其准确性;

(3)进一步提高该算法的实时性,并将其应用于DSP嵌入式系统进行验证。

参考文献

[1]佟卓远.基于机器视觉的前方车辆检测与测距系统设计[D].哈尔滨:哈尔滨工业大学,2015.

[2] Liu W, Song C, Wen X, et al. A Monocular-vision Rear Vehicle Detection Algorithm[C].IEEE International Conference on Vehicular Electronics and Safety,2007:1-6.

[3] Sun Z, Miller R, Bebis G, et al. A Real-time Precrash Vehicle Detection System[C].IEEE Workshop on Applications of Computer Vision. IEEE Computer Society, 2002:171.

[4]w日成.基于车底阴影的车前障碍物检测[J].电子科技,2015,28 (3):15-18.

[5]王海涛.车前障碍物检测及车道线识别研究[D].哈尔滨:哈尔滨工业大学,2013.

[6] Einhorn E, Ter C, HM Gross.Attention-driven Monocular Scene Reconstruction for Obstacle Detection, Robot Navigation and Map Building[M].Racism and political action in Britain/ Routledge & Kegan Paul, 1979:296-309.

[7]沈洁.基于图像的前方车辆检测[D].南京:南京理工大学,2011.

[8]周士杰.基于单目视频流的前方车辆检测算法研究[D].杭州:杭州电子科技大学,2015.

[9] Buchman G. On Road Vehicle Detection using Shadows[Z]. Wiki.grasp.upenn.edu, 2013.

[10]阳树洪.灰度图像阈值分割的自适应和快速算法研究[D].重庆:重庆大学,2014.

[11] Kim G, Cho J S. Vision-based Vehicle Detection and Inter-vehicle Distance Estimation[C].International Conference on Control, Automation and Systems. IEEE, 2012:625-629.

[12] Martel-Brisson N, Zaccarin A. Moving Cast Shadow Detection from a Gaussian Mixture Shadow Model[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2005:643-648.

[13]施树明,储江伟,李斌,等.基于单目视觉的前方车辆探测方法[J].农业机械学报,2004,35(4):5-8.

[14]顾柏园.基于单目视觉的安全车距预警系统研究[D].长春:吉林大学,2006.

[15]刘直芳,游志胜,张继平,等.利用人眼感知视觉模型的车型动态定位[J].控制与决策,2003,18(5):619-622.

[16]谭华春,周洋,,等.基于车尾部特征的对车辆的视觉精确定位[J].汽车安全与节能学报, 2016, 7(3):285-290.

[17]王赛,徐伯庆,苏栋骐.Hough变换的车道线并行检测[J].电子科技,2015,28(12):96-99.

[18] GB5768.3-2009.道路交通标志和标线第3部分:道路交通标线[S].北京:中国标准出版社,2009:6-8.

[19]马莹.基于计算机视觉的车道保持系统研究[D].北京:清华大学,2005.

[20]赵景秀,韩君君,王菁,等.一种改进的LoG图像边缘检测方法[J].计算技术与自动化,2009,28(3):74-77.

上一篇:微课、翻转课堂与传统教学模式结合 下一篇:以色列现代农业考察纪实及思考