基于车道线虚线角点检测的行车安全视距测算模型*

2022-05-16 09:45田山山
交通信息与安全 2022年2期
关键词:虚线角点视距

田 顺 田山山 杨 炜 魏 朗▲ 陈 涛

(1.长安大学汽车学院 西安 710064;2.比亚迪汽车有限公司汽车工程研究院 西安 710119)

0 引 言

行车视距对公路运营安全至关重要[1-2]。视觉测距是1种可靠且应用广泛的距离测量方法[3-4]。在交通安全领域,一般可利用车载摄像头获取外界图像信息,再根据图像处理、目标检测和几何变换等技术获取所需的距离信息,被广泛应用于碰撞预警、路径规划和环境感知等众多领域中[5]。视觉测距技术根据视觉传感器数量不同可以分为基于单目视觉的测距技术和基于立体视觉的测距技术。单目视觉测距技术利用单个视觉传感器获取图像信息,根据摄像机成像原理或几何关系寻找二维图像像素点坐标与对应空间点世界坐标之间的转换关系,进而获取实际距离信息[6]。立体视觉测距技术利用2个或2个以上视觉传感器采集图像信息,目前大多采用双目视觉系统,通过摄像机标定和特征点匹配等技术获得视差图,经特定转换获得实际距离,但需要进行复杂的图像匹配,匹配效果对测距精度影响较大[7]。

高波[8]采用行扫描的方法对车道线虚线特征点进行提取,然后以特征点为基础进行视距计算。白琛琛[9]提取出外侧车道线,并以此为界寻找车道选线特征点,极大地避免了干扰点的影响。Chen等[10]采用车道投影模型描述圆形车道线边界,并结合车道特征、车道梯度模型等进一步确定车道线位置。为了在阴影等因素干扰下准确提取车道线,Agrawal等[11]使用简单线性迭代对图像分类,能够在干扰条件下提取出车道线。Schomerus等[12]采用自适应稀疏中值预处理并结合模型拟合的方法对车道线边界进行提取,在把车道线简化成直线的情况下,可以在具有任意车道边界特征的道路环境下稳健检测车道边界。Park等[13]根据图像中车辆底部与虚拟地平线的位置关系和相机成像的几何模型计算车辆距相机的实际距离,该方法在无车道标识线的情况下也同样适用。以车道线特征点为基础的办法存在提取精度不高的问题,选用其他参照系在公路视距计算中则精度更低。陈雨人等[14]将道路曲线的6个特征值作为形状参数,基于支持向量机算法建立视距计算模型。Lebmann等[15]针对车辆跟踪场景提出1种基于概率的单目视觉距离估计方法。该方法从车辆分类器获取宽度约束,利用贝叶斯估计器将宽度和车辆动态俯仰角信息结合起来,估计前方车辆与自车的距离。Jwp等[16]使用卷积神经网络以及自动编码器进行车道线识别。使用机器学习以及深度学习等方法对识别精度有了一定的提高,但存在计算量较大等问题。

鉴于此,提出1种基于车道线虚线角点的行车视距计算模型,根据提取的虚线角点建立世界坐标与图像坐标的转换关系矩阵,继而得到行车视距的计算模型。

1 道路图像预处理

道路图像中存在诸如树木、天空和建筑物等干扰因素,以及图像在形成与传输过程中易受传感器元件和传输介质等因素的影响,容易产生图像噪声,所以须对采集的道路图像进行预处理,减小非车道线像素的干扰。预处理的步骤如下。

1)道路图像灰度化。灰度化处理能够将摄像机采集的彩色多通道彩色图转换为单通道灰度图。本文采用加权平均法进行灰度化处理。

2)道路图像滤波降噪。选择中值滤波方法对道路图像进行降噪处理,它能够较好地去除噪声并且保证边缘模糊较小[16]。

3)阈值分割。阈值分割是将图像像素点划分为目标区域和背景区域的过程,根据图像灰度等级设定1个或几个阈值,将图像转化为仅有黑白2种颜色的二值图。将阈值T设置为160进行单阈值分割,见式(1)。

式中:I(i,j)为处理后的像素点灰度值;I'(i,j)为原始像素点灰度值。

为减少天空区域对后续车道线检测的干扰,根据摄像机安装高度和角度,笔者在阈值分割的基础上,将道路图像1/2高度以上部分图像的灰度值设为0,以减小天空区域对计算的影响。

2 车道线虚线角点检测

车道线虚线的长度、宽度和线间间隔均为定值,是求解车道线长度的天然参照物。通过建立世界坐标系,结合车道线虚线的实际长度和宽度,可以获取其角点的世界坐标,然后根据世界坐标与提取的图像像素坐标的数学转换关系即可得到角点在世界坐标的位置。

由于车道线虚线为长方形,其各角点坐标之间存在一定数学关系,因此本文采用基于轮廓边缘的方法对角点进行检测与提取,提取流程见图1。

图1 车道线虚线角点检测与提取流程图Fig.1 Flowchart of detection and extraction of dotted line corners of roadways

计算轮廓边界点尖锐度时,应以局部支撑区域内近似角度描述轮廓点尖锐程度,进而能够快速判断出轮廓的候选角点,然后采用最大、最小距离聚类算法提取轮廓对应的角点坐标。角点坐标提取后,还应以车道线虚线角点的图像特征作为约束条件进一步筛选。

2.1 基于轮廓跟踪法的轮廓提取与筛选

轮廓提取是进行角点检测的前提,轮廓跟踪法能够准确地获取边界点并将轮廓边界点坐标按照一定序列进行存储[17],轮廓提取主要包括以下5个步骤。

步骤1。针对二值化图像,从左向右、由上至下遍历像素点,将满足式(2)的像素点设置为轮廓起始点M0。

步骤2。在M0的8邻域内按照图2中0~7的顺序对像素点灰度值进行判断,若其值为255,则将其设置为下1个轮廓点M1。

图2 邻域判断顺序图Fig.2 Neighboring area judgment sequence diagram

步骤3。在M1的8邻域内按照同样方法寻找下一轮廓点,直至回到M0或其邻域内无白色点为止。

步骤4。将M0,M1,…,Mn存入1个轮廓点集并改变其灰度值,避免重复检测。

步骤5。重复步骤1~4,直至遍历所有图像像素点,提取出图像中所有轮廓。

考虑到车道线虚线在图像中的位置和大小等因素,以及为了剔除非道路轮廓的干扰,本研究以轮廓的总点数作为筛选条件,保留总点数在50~300范围间的轮廓进行后续操作。

2.2 基于尖锐度的角点筛选

图3是局部轮廓线放大示意图,图3中Mi-m,Mi,Mi+m为轮廓线上间隔为m的3个像素点,其余像素点未标出;Mi-m和Mi+m间所有像素点的集合称为Mi的支撑区域;m一般取3~5;α为支撑角。

图3 局部轮廓线放大示意图Fig.3 Schematic diagram of local contour line

当Mi-m,Mi,Mi+m在1条直线上时,α=180°,此时

当α逐渐减小,式(3)趋近于0,即Mi为角点并且角度越来越尖锐。

因此,在Mi较小的支撑区域内,可用上述比值来近似表示支撑角α的大小,进而作为角点判定的依据。可用式(4)对Mi点尖锐度进行定义,α越小,则尖锐度越大[18]。

式中:s为轮廓点Mi的尖锐度,无量纲;i为轮廓点,i=1,2,…,n;m一般取3~5。当尖锐度s大于判定阈值ST时,Mi为候选角点,阈值ST的取值与轮廓线的弯曲程度以及m的大小有关,本文取m=3,ST=0.05。

2.3 融合聚类及几何特征的角点精确提取

提取出的候选角点并非轮廓的真实角点,其大多分布于真实角点周围,见图4(a),轮廓法提取的点簇为候选角点,因此需要对候选点进一步筛选。根据候选角点的分布特征,本文采用最大最小距离聚类算法对候选角点进行分类,将每一类中尖锐度最大的点判定为真实角点。最大、最小距离算法[19]能够智能地确定聚类中心的个数,步骤如下。

步骤1。选取轮廓中1个候选角点为第1个中心O1。

步骤2。计算候选角点到第1个中心O1的距离DIS1={O11,O21,…,On1},将距离最大的点设置为第2个中心O2。

步骤3。计算候选角点到第2个中心O2的距离DIS2={O12,O22,…,On2}。

步骤4。计算第1个中心O1到第2个中心O2的距离D12,判断max{min{Oi1,Oi2}}是否大于μD12。若大于,则其对应点为第3个中心O3,执行步骤(5),若小于,则结束寻找中心。其中,μ为比例系数,范围为0<μ<1,根据聚类结果对其进行调整和确定。

步骤5。计算候选角点到第3个中心O3的距离DIS3={O13,O23,…,O n3},判断max{min{Oi1,Oi2,Oi3}}是否大于μD12,若大于,则其对应点为O4,若小于,则结束寻找中心,以此类推,直至结束。

步骤6。按照最邻近原则将候选角点归类至距离最近的中心点,提取各类点中尖锐度最大点作为角点,并根据角点坐标按照从上到下、由左至右顺序进行排列。局部提取结果见图4(b)中点。

图4 轮廓、角点提取局部图Fig.4 Partial map of contour and corner point extraction

经过轮廓初步筛选,道路图像依旧可能存在干扰轮廓,需对所提取的角点进行进一步筛选。由于图像中的车道线虚线近似为“近宽远窄”的梯形,其上方2个角点的纵坐标(行数)近似相等,下方2个角点亦如此,且道路图像中的车道线虚线宽度为5~25个像素。基于车道线虚线角点数量和角点坐标特征,进行判断并提取车道线虚线角点的数学关系见式(5)。当轮廓角点数量等于4,并且轮廓上方2个角点和下方2个角点的纵坐标(行数)相近且距离在5~25个像素时,将其判定为车道线虚线角点。

式中:N为轮廓的角点数量;pt1为图中轮廓的左下角点;pt2为右下角点;pt3为左上角点;pt4为右上角点;x为横坐标(列数);y为纵坐标(行数)。

车道线虚线角点提取的试验结果见图5。

图5 车道线虚线角点提取试验结果Fig.5 Extraction test results of the dotted line corners of the roadway

基于以上分析,角点提取详细流程见图6。

图6 车道线虚线角点提取流程Fig.6 Flowchart for extracting the dotted line corner points of the roadway

3 基于虚线角点的行车安全视距模型

在一定的行车道路下,车道线虚线长度和宽度是确定的。GB 51038—2015《城市道路交通标志和标线设置规范》中规定,当设计速度大于或等于60 km/h时,白色虚线线长和间隔长度分别为6 m和9 m,线宽为15 cm。因此,车道线虚线角点像素坐标确定后,以车道线虚线某1个角点为原点,以其长、宽为坐标轴建立世界坐标系,确定的虚线长度即可获得车道线虚线所有角点的世界坐标,然后通过数学推导和计算,可得到当前帧下的世界坐标与像素坐标转换的系数矩阵。在完成车道线识别的前提下,即可计算行车视距,车道线识别在此不做赘述。

空间一点从世界坐标系转换至像素坐标系需要经历3个过程:世界坐标系到摄像机坐标系的转换、摄像机坐标系到图像坐标系的转换和图像坐标系到像素坐标系的转换[20]。图7为车道线虚线角点成像示意图。

图7 车道线虚线角点成像示意图Fig.7 Schematic diagram of imaging of dotted corners of roadways

图7中,E,F,G,H为所提取的车道线虚线角点对应的实际路面点。假设路面平坦,以E为原点,以EH,EF为Xw,Yw轴,建立世界坐标系Ow-Xw Yw Zw所示。路面上各个点的Zw坐标均为0,根据实际测得的车道线虚线长度L和宽度W,易得E,F,G,H的世界坐标,分别为(0,0,0)、(0,L,0)、(W,L,0)和(W,0,0)。

设世界坐标系中存在1点N(Xw,Yw,Zw),齐次坐标为(Xw,Yw,Zw,1),N点对应摄像机坐标系中(Xc,Yc,Zc)点,对应图像上N’(u,v)点。R为3×3的旋转矩阵;T为3×1的平移向量。f为摄像机焦距,R[r1r2r3]旋转矩阵将路面上某点的世界坐标(Xw,Yw,0)与其对应像素坐标(u,v)转换关系式改写为式(6)。

式中:M为摄像机内参数矩阵与外参数矩阵的乘积,本文称其为像素坐标与世界坐标转换的系数矩阵。其中,M的矩阵形式为

系数矩阵M中的每个元素除以m33,得到M’。用M’代替M,显然式(6)依然成立,此时Zc变为Zc’,其值为Zc/m33,展开化简可得式(9),由此可得,此时系数矩阵M的求解可转化为矩阵M’的求解。

定义某1个点的世界坐标与图像中对应像素点坐标为1组关联点,每1组关联点可确定1组相应的式(9),矩阵M'有8个元素未知,因需要4组关联点求解M'中全部未知参数。

获得系数矩阵M'后,即可根据式(10)将所提取的车道线像素点坐标转换为世界坐标,进而根据式(11)计算图像中车道线长度Dis。由于道路图像中存在左、右2条车道线,而视距是指沿车道中心线看得的最远距离,因此本文取左、右2条车道线长度的均值作为行车视距。

式中:Dis为视距,m;num表示提取的车道线特征点总点数,包含直线部分的起点和终点,也包含车道曲线部分特征点。对于前方直线转弯道路段,num=1,2代表车道线直线部分的起点和终点,num=3,4,…则代表车道曲线部分连续分段的特征点,采取“以直代曲”思想计算曲线部分长度。

4 安全视距计算模型结果分析

JTG B01—2014《公路工程技术标准》中针对各级公路不同设计车速下的视距要求进行了明确规定,见表1。分析表中数据可知,在二、三、四级公路不同设计速度对应的行车视距中,停车视距值最小,道路行车视距应至少满足停车视距要求。以不同车速对应的停车视距作为需求视距S,其计算方法见式(12),当视距测算值小于S时,则说明对应路段视距不良,有一定的交通安全隐患。

表1 二、三、四级公路的停车、会车和超车视距Tab.1 Sight distance for parking,meeting and overtaking on second,third,and fourth level highways

式中:S1为反应距离,m;S2为制动距离,m;S3为安全距离,一般取S3=5 m;v为车辆实际运行速度,km/h;t为制动反应时间,一般取2.5 s;φ为路面与轮胎间的纵向摩擦阻力系数。计算最小停车视距时,忽略坡度阻力和滚动阻力。

进行测距模型的静态道路试验。将摄像机垂直固定于车内,即尽量使摄像机侧倾角为0o,同时使摄像机获取的图像区域与人眼所见区域相近,摄像机离地高度为1.40 m;在人车稀少的路段进行试验,将车停在路段不同位置,采集道路图像并利用卷尺测量实际视距;将模型计算值与实际测量值进行对比,统计计算误差。试验图像示例见图8,试验结果见表2。

图8 试验路段图像示例Fig.8 Picture of the test roads

表2 计算误差Tab.2 Calculation error

由表2可见:静态测试的误差为3.75%~6.95%。与文献[7]~[8]中的方法相比,在同样的8组路段下,除了位置5,6的结果较为接近外,误差整体有了较大降低,对比结果见图9。

图9 与文献[7]~[8]的结果对比Fig.9 Comparison results with methods in references[7]~[8]

截取部分道路视频输入至自主开发的行车视距测算系统,并将其对应的车载摄像机参数和车道线虚线参数录入至系统中,其参数录入界面见图10。摄像机内参数、安装高度,以及车道线虚线长、宽需在视频录制前进行标定和测量,此示例中路段限制车速为40 km/h,以其对应停车视距作为需求视距进行分析,视距输出结果见图11。

图10 参数录入信息Fig.10 Import of parameters

示例路段是由直线驶入弯道的路段,图11中虚线代表40 km/h车速对应的需求视距,实线代表计算视距。由视距折线可知,整体上从直线进入弯道路段时行车视距的计算值呈减小趋势,起始位置的计算视距为93 m,结束位置在40 m附近波动。该动态结果的起始记录位置约为静态测试条件下的90 m处,终点位置约在静态条件下的40 m处,综合表明检测结果与实际情况符合。图11中变化曲线存在个别波动情况,主要是由于图像中存在干扰导致。由图11可知:弯道处视距不能满足40 km/h对应的停车视距,若此处不进行减速行驶,实际视距无法满足驾驶人的视距需求,有一定的安全隐患。

图11 视距计算结果输出Fig.11 Output of sight distance calculation result

5 结束语

针对车道线图像特征点提取精确度不高的问题,提出了基于虚线角点进行道路图像特征点提取的方法,并以此构建了视距计算模型。

1)基于虚线角点的特征点提取方案能够获得较为精确的车道线虚线角点像素,主要通过轮廓提取、尖锐度阈值设置完成车道线虚线角点的筛选,并通过最大最小距离法以及车道线几何特征完成车道线角点的最终确定。

2)以检测到的车道线虚线角点为已知参考点,通过解构角点在世界坐标和像素坐标之间的映射关系求解二者之间的转换矩阵,得到了行车安全视距计算模型。对所提模型进行了动、静态试验和分析,与传统方法相比,视距检测精度得到改善,静态测试精度控制在7%以内。

3)车辆的抖动对测试结果有一定的影响,车道线边缘完整度也是影响测试结果的因素,未来可以在不良角点位置的筛选以及车辆行驶过程中的防抖动等方面继续完善。

猜你喜欢
虚线角点视距
多支撑区域模式化融合角点检测算法仿真
俄罗斯
角点检测技术综述①
基于灰度差预处理的改进Harris角点检测算法
大牛
基于FAST角点检测算法上对Y型与X型角点的检测
一种基于非视距误差补偿的协同定位算法
安全视距应该成为道路安全管理的基础共识
浅谈道路设计中的停车视距与验证