APP下载

基于特征点提取技术的车辆行车视距检测算法研究

2019-08-17赖延年方腾源袁天宇刘永涛

关键词:视距行车车道

李 亭,赖延年,方腾源,袁天宇,刘永涛

(1.西安航空学院 车辆工程学院, 西安 710077; 2.长安大学 汽车学院, 西安 710064)

在道路交通事故中,驾驶员遇到弯道来车时,由于视野被阻挡导致会车时反应不及而引起的交通事故众多。因此,在驾驶员行车过程中,驾驶员的视野距离对于驾驶的安全性以及道路交通的安全性都至关重要[1]。当驾驶员行车时,应有足够的行车视距,才能保证驾驶员遇到急弯时有足够的反应时间来处理突发状况,避免道路交通事故的发生。

国内外的许多学者对道路模型的行车视距进行了大量的计算及分析,取得了一系列较为先进的成果。Tarek Sayed等[2]提出了一种线性的驾驶员视野距离测量模型。该模型考虑了驾驶员在车辆行驶过程中的操作方式、坐姿以及道路的曲率半径、直线长度等对视野距离的影响,具有一定的适用性。Yasser等[3]提出了一种基于道路遮挡物的视距测量模型。该模型主要适用于道路在弯道处受到侧向的阻挡,而使视野距离较小的情况。史颖等[4]利用道路图像中车道标识线的灰度突变以及道路设计参数特征等,提取出需要的车道线线型,进而通过滤波算法对车道线进行实时跟踪,之后运用道路图像重新建模提取出测距模型中需要的道路固定参数,在此基础上,实现道路图像的三维恢复,通过坐标系的转换得到机器视觉下道路测距模型。曹等[5]根据线性回归的思想,利用函数对应关系提出了一种基于机器视觉的测距算法,该算法适用于一般的道路环境,经过分析实验验证了算法的合理性。

综上所述,在车辆测距模型中,大多数的国内外学者主要研究的方向集中于当前摄像头与前车之间的距离模型,一般适用于车辆预警技术。但是,对于车辆的行车视距这一影响驾驶员行车安全的关键信息没有太多关注,尤其在驾驶员弯道行驶工况下,缺乏基于弯道的行车视距对于驾驶员的安全性分析,导致在弯道会车地段发生了大量的交通事故,带来了巨大的人员伤亡和经济损失。

本研究针对上述关键性问题,基于道路环境感知,以车道标识线特征点提取作为辅助手段,在透视投影的方法下进行车辆的行车视距技术研究。本文所研究的行车视距主要是指在当前道路中,驾驶员所能看到的最远距离,即停车视距。本研究所针对的主要问题是驾驶员的行车视距的具体测量,保证驾驶员在车辆行驶过程中遇到弯道会车等情况时能有足够的反应时间避免道路交通事故的发生。

1 图像预处理

为了更好地研究图像内容,并提取出车道标识线的边缘信息,首先对图像进行预处理。图像预处理的主要目的是剔除道路图像之中无关紧要的信息,提取出对识别算法有用的信息,提高道路边缘信息的可检测性以及最大限度来简化图像数据信息,从而提高图像分割、识别等的可靠性[6]。本文首先对采集的彩色图像进行灰度化并选用中值滤波算法进行图像去噪处理。

在对比分析拉普拉斯算子处理后的图像、Sobel算子处理后的图像、Priwitt算子处理后的图像、Roberts算子处理后的图像之后,选择噪声干扰小、处理速度快、可以针对特定的边缘进行增强的Sobel算子进行图像边缘检测。

在车道线筛选与特征点选取前,需要对灰度图像进行基于二值化的图像变换。图1(a)以及(b)分别表示灰度图像及经过二值化后的图像。

图1 原始灰度图像及二值化后的图像

2 车道线筛选与特征点选取

2.1 基于车道线固有特征的标识线筛选

当车道标识线图像存在车辆、道路标识等一系列噪声干扰时,对车道线特征点的提取会产生较大的影响。因此,对车道标识线进行有目的性的筛选是有必要的。本研究利用车道线具有的原始特征对车道线进行筛选,排除噪声干扰,进而提高车道线检测的准确性[7]。

1) 基于车道线的宽度特征

在结构化道路中,车道线的宽度是在一定的范围内变动的,在图像中,过宽或者过窄的线型都会被作为车道线提取时的噪声干扰。根据成像原理,当车道线在图像中成像时,会出现远窄近宽的效果[8]。因此,本文以计算出的车道线的平均宽度值作为其宽度变化范围的设定值。如式(1)~(3)所示。

(1)

(2)

w=[w1×width,w2×width]

(3)

其中: width表示的是所有车道线宽度的和;wid(Lane(l))表示的是第l条车道线的宽度值;w1、w2为预先标定的系数。当判别出宽度值超出了所在车道线的宽度范围时,即可确定为干扰点。

2) 基于车道标识线的宽度变化率

在世界坐标系下,车道标识线的宽度范围一定,受透视作用的影响,除虚线类型的车道标识线外,其余标识线在图像坐标系下所呈现的从近到远的变化不会突然骤变。因此,将采取截断处理来尽可能保留车道标识线的有用信息[9]。车道标识线宽度变化率公式如式(4)所示。

1≤p≤r

(4)

虚线车道标识线等使各车道标识线特征区域之间有着一定的逻辑关系,故只有在自身特征区域范围内进行车道标识线的判断才失效。因而,为了使识别更加精确,本文采用依据当前特征区域与其他特征区域逻辑组合结果的方法进行判定。设W1(Lane(l))是根据当前特征区域的信息的判断结果,W2(Lane(l))是根据其他特征区域的信息的判断结果,计算公式如式(5)(6)所示。

(5)

W2(Lane(l))=

(6)

式中:width(Lane(l))表示第l条车道线的宽度;width(Lane(l′))表示在第l条车道线上方的车道线的宽度。第l条车道线宽度的判断公式为:

W(Lane(l))=W1(Lane(l))&W2(Lane(l))

(7)

车道线候选区域需要利用车道线高度信息来进行二次筛选,车道线高度计算公式如下:

height(Lane(l))=

(8)

第l条车道线的高度特征H(lane(l))判断公式如式(9)所示。

H(Lane(l))=

(9)

式中:height(Lane(l))表示第l条车道线的高度;height(Lane(l′))表示在第l条车道线上方的车道线高度。

依据当前特征区域的高度和宽度,得到长度的计算公式为:

length(Lane(l))=

(10)

第l条车道线的长度标记判断公式如式(11)所示。

L(Lane(l))=

(11)

式中符号含义同高度判别模型里的符号。

此外,针对车道线周围微小噪声,可依据道路图像中同侧车道线的斜率方向相同特征的原理来去除,车道线同向性D(Lane(i))的判断公式如下:

D(Lane(i))=

(12)

式中:k1表示车道线i1的斜率;k2表示车道线i2的斜率;left1>right2代表i2在i1的左侧。因此,建立的以车道标识线多特征集合元素为基元的车道标识线的筛选判定公式,如式(13)所示,当且仅当J(Lane(i))=1时,确定候选车道线为真正的车道标识线。

J(Lane(i))=

D(Lane(i))&W(Lane(i))&H(Lane(i))

(13)

2.2 特征点提取

当图像经过去噪处理之后,将图片中所得到的车道线按照需求进行分段,如图2所示。

图2 车道线分段图

分段点是按照直疏弯密原则进行选取的,这样在直线段提取特征点少,在弯道段提取的特征点多,在后面计算行车视距时更加精确[10]。

以图像中车道线为例,具体的算法步骤如下所示:

步骤1以图像中线上的像素点作为搜索起点,以从左至右的顺序进行扫描搜索。设定变量Num,初始值为0,在搜索的过程中检测到像素点由黑色变位白色,则开始计数,每经历1个像素,则记录下像素的坐标值(x,y),同时变量Num加1。

步骤2在检测的过程中,当像素点从白色变为黑色时,记录下该像素坐标(x,y+Num1),并记录下当前车道线的中线位置的坐标值,即为(x,y+Num1/2),并继续搜索,当像素点从黑色变为白色时,记录下该像素坐标(x,y+Num2),并继续搜索,当像素点从白色变为黑色时,记录下该像素坐标(x,y+Num3),并记录下当前车道线的中线位置的坐标值,即为(x,y+(Num3-Num2)/2),同时变量Num停止增加计数。此时得到的Num1和Num3-Num2值即为当前2条车道线该行的宽度。而所要提取的特征点为2条中线坐标之间的中点,即为(x,y+(Num3-Num2+Num1)/4)。

步骤3扫描完该行之后,继续按特定的间距m从图像的下面向上搜索,m的取值为一个相对较大的值,在直线段上,由于起始位置的不同,前后2个特征点的纵坐标差会近似于1个定值k,当检测到k发生较大变化时,说明道路由直线进入弯道路段,弯道的曲率与k的变化幅度s有关,此时根据s的大小减小m取值,从而保证特征点的选取符合直疏弯密的原则。

步骤4重复步骤1、2、3。

最终,可提取到一系列满足要求的特征点坐标。

3 行车视距计算

基于标定摄像机内外参数之后,就可以通过透视投影变换得到图像中的点在世界坐标系下的坐标值。摄像机的内部参数是固定不变的,但是外部参数会根据摄像机安装位置、安装角度的不同而随时改变。汽车在行驶中,随着车辆的行驶状态变化,摄像机的俯仰角会改变,标定的过程是静态的,如果考虑行驶中的汽车,就需要对摄像机不断地标定,得到不同状态下的摄像机外部参数[11]。当摄像机不断地改变高度、俯仰角等外部参数时,每次都对摄像机标定过程繁琐,而且也不方便计算。因此,本文利用小孔成像模型来建立摄像机行车视距测距模型,从而避免摄像机标定对于计算的影响。通过测距模型,根据特征点,得到行车视距的准确值[12]。

本文研究中,摄像机是固定放置的,它的高度是一定的,有一定的俯仰角度。因此,本文以摄像机的光心位置在地面上的投影点为原点来建立坐标系,Z轴以垂直地面向上为正方向,M轴以汽车行驶方向指向车身左侧为正方向,N轴以汽车行驶的方向为正方向。

本文中分别计算了图像上的点在垂直与水平方向上的距离模型,然后根据模型计算得到2点之间的距离[13],如图3所示。

图3 图像沿道路方向的解析模型

图3中:f所在直线代表摄像机光轴,f即为摄像机焦距; 点O为摄像机光心,其在水平面上的投影点OC即为世界坐标系的原点;坐标系MOCN即为空间坐标系。xoy为成像平面,o为光轴与成像平面的交点,o为平面坐标系的原点。图3中,以u、v为轴的坐标系是像素坐标系,像素坐标系的原点为左上角的o′点。

如图3中所示,假设摄像机距离地面的高度为H,摄像机的光轴与平面的夹角为α,图中P点为目标点,在世界坐标系中,其坐标为(0,N),P点在图像中的成像点为P′点,P′点在图像平面坐标系中的坐标为(0,y0),并且PP′的连线通过摄像机的光心,连线与地面成β角度,同时与光轴的夹角为γ。假设,图像平面坐标系的原点为o,该点在像素坐标系中一定有其对应的坐标点,该点的坐标为(u1,v1),同理可得,成像点P′在像素坐标系中必有1个对应的点,该点的坐标为(u0,v0),根据图3可以得到式(14)。

(14)

由于在图中可以得到β=α-γ,而且对于角γ,在ΔoOP′中,有式(15)。

(15)

从而,可以得到式(16)。

(16)

此时,N值表示道路图像中像素坐标系下像素点的距离值,需要通过坐标系的转换关系,得到此时N值的实际距离值。根据像素坐标系与图像平面坐标系转换关系中的坐标转换公式,(u0,v0)为某点在像素坐标系的坐标,(u,v)为该点在图像坐标系下的坐标。dx、dy为单位像素在x、y轴上的分量。

(17)

(18)

从而推出式(19)。

y0=(v0-v1)dy

(19)

其中:dy表示像素坐标系之中;v轴上单元像素之间的距离。v0和v1分别表示像素坐标系中P′和o点的坐标值。将式(19)代入式(16)中,可以得到式(20)。

(20)

式中N值即表示道路中特征点在垂直方向上与光心之间的距离值。

同理,结合三角形相似原理可求出道路中特征点在水平方向上与光心之间的距离值M值的公式。

(21)

式(20)以及式(21)即为三维世界中一点的坐标计算公式,其中的各项参数可以根据摄像机标定得到的内外参数来获得。

因此,在图像中2坐标点之间的世界坐标系距离可以根据式(22)得到。

(22)

在本研究中,驾驶员驾车行驶在直线道路上,其行车视距足够大,当驾驶员遇到弯道或有物体遮挡住驾驶员在转向工况下的视距时,驾驶员的行车视距需要精确的长度值[14]。此时,需要计算弯道线型的距离值。根据微积分的思想,当提取出足够多的车道线特征点,每2个特征点之间的距离足够小时,可以近似为直线。因此,在提取到足够多的特征点的情况下,每2个特征点之间的距离可以根据上文中的测距模型进行计算,之后将所得到的特征点之间的距离进行累计相加,得到最终的当前车道线的行车视距。

4 实验验证

4.1 摄像机标定

摄像机标定的主要目的是为了确定摄像机的内外参数,摄像机内部参数是摄像机固有的光学以及几何特性[15],主要有焦距、变形系数、畸变参数、比例因子等,摄像机的外部参数是指摄像机在世界坐标系下的位置,即摄像机的高度、俯仰角等一系列参数。

本文选取张正友标定算法[16]进行摄像机标定。该标定靶的每个棋盘格的大小为24 mm×24 mm,标定过程如图4所示。

图4 摄像机标定过程

标定后的摄像机内外部参数分别为:

图像中心坐标:(cu,cv)=[324.843,259.916]

焦距:(fu,fv)=[672.613,669.116]

4.2 实验验证

为了检验本文研究算法的有效性,本文选择在西安秦岭野生动物园附近的空旷道路进行实验,采用离线测试方法进行算法验证,实验的方案如表1所示。

表1 实验方案

部分实验拍摄图片如图5所示,通过对道路图像进行离线测试分析之后,测距结果如表2所示。

图5 部分实验拍摄图片

从表2可以看出,在道路图像中的纵向距离小于50 m时,车辆行车视距测算模型能够将测距误差控制在平均5.3%左右。其中,绝对误差的最大值为2.33 m,绝对误差的最小值为0.48 m。绝对误差平均值为1.3 m。一定范围下,能够满足驾驶员行车视距要求。

同时,可以看出在实验中有误差数值不等的情况存在。通过对数据以及实验条件进行分析,除去实验设备、人员操作等外在问题后,实验误差相差较大的情况主要是由于弯道处的曲率不同导致的。进一步实验研究发现:在单纯的直线段计算时,其误差可控制在3%左右;在直线加弯道且直线段较长的路段,误差会在7%左右;在直线加弯道且弯道段较长的路段,其误差会在9%左右。

表2 测距结果对比

由于在车辆测距模型中,大多数的国内外学者主要研究的方向集中于当前摄像头与前车之间的距离模型,一般适用于车辆预警技术。但是,对于车辆的行车视距这一影响驾驶员行车安全的关键信息没有太多涉及,尤其在驾驶员弯道行驶工况下,故本文选取文献[9]采用的方法进行对比。

本文计算所得的行车视距精度在直线段与文献[9]的结果相当,而在含弯道路段文献[9]实验误差大于10%,而本文则在9%左右,并且文献[9]所述的技术在应用时需要公路工程三维化设计与建模技术的支持,而本文的方法只需要基于所开发的车载软件就可实现。综上所述,本文的方法在精度与技术复杂度上均优于文献[9]的方法。

5 结束语

本文基于道路环境感知技术,采用车道线固有特征标识线剔除图像中的噪声干扰,提取有效特征点,利用小孔成像模型来建立行车视距测距模型,通过测距模型,根据已知特征点计算行车视距的理论值。实验结果表明:本文建立的行车视距测算模型平均误差为5.3%,能满足驾驶员对行车视距的要求,并且通过本文方法所采集的数据可作为道路安全评估的重要依据。

猜你喜欢

视距行车车道
北斗+手机实现车道级导航应用
避免跟车闯红灯的地面车道线
浅谈MTC车道改造
俄罗斯
一种基于非视距误差补偿的协同定位算法
安全视距应该成为道路安全管理的基础共识
浅谈道路设计中的停车视距与验证
夜间行车技巧
低速ETC/MTC混合式收费车道的设计与实现
吉普自由光行车制动易熄火