基于曲率估计的多项式车道线检测方法

2023-07-26 10:10马瑞军邓三鹏郭崇光郭世南
装备制造技术 2023年5期
关键词:关键点曲率特征提取

马瑞军,邓三鹏,郭崇光,郭世南

(1.福建信息职业技术学院 智能制造学院,福建 福州 350000;2.天津职业技术师范大学机器人及智能装备研究院,天津 300222;3.天津市智能机器人技术及应用企业重点实验室,天津 300350)

0 引言

近年来,自动驾驶发展越来越快,车道线检测算法随之也有较大发展,从传统的基于视觉的车道线检测算法,到基于深度学习的方法,大大提高了车道线检测的准确性和实时性。

传统的车道线检测算法是通过边缘检测及滤波等方式分割出车道线区域[1-4]。毛世榕等[5]提出基于机器视觉的车道线检测算法,可以快速检测直线车道线,但在检测复杂弯道时效果较差;Lu 等[6]提出基于脊检测器和区域G-RANSAC 的车道检测方法,在黑暗和车道遮挡的场景中有良好的性能,但是在检测大曲率车道线时表现较差。传统的边缘检测对滤波参数要求高,工作量大,鲁棒性较差,当环境出现明显变化时,容易出现车道线检测失败的问题。基于深度学习的车道线检测主要依靠模型对图像中的车道线信息进行学习和提取,实现车道线的检测[6-9]。Neven D等[10]提出LaneNet 网络,通过语义分将车道线和背景区分出来,再通过聚类得到车道线,对于多车道线检测效果较差。鲍先富等[11]提出基于多项式曲线拟合的车道线检测方法,通过滑动窗口与多项式结合拟合出车道线,但是模型的计算量大,容易出现结果不收敛的情况。张凯祥等[12]提出基于YOLO V5 的多任务自动驾驶环境感知算法,通过端到端的车道线目标检测得到车道线所在的区域,但是检测结果容易受到输入图像像素质量的影响,以及在弯道中表现较差。杨淑琴等[13]提出基于实例分割的复杂环境车道线检测方法,通过改进的混合任务级联网络(HTC)对车道线实例进行分割检测,该方法需要较多的计算资源,而且检测准确率容易受到车道线表面不平整度的影响。Feng Z 等[14]提出一种基于贝兹多项式的车道线拟合方法,对于直线目标检测效果较好在弯曲的车道中表现较差。

针对当前方法在大曲率等背景下的车道线检测精度低的问题,提出一种基于曲率估计的多项式车道线拟合方法,首先通过车载单目相机对车道线图像进行采集,将得到的图像做预处理;剔除图像中天空等不含车道线的区域;使用YOLO V5 特征提取网络提取车道线所在的区域;经过二值化操作得到车道线边缘的大概位置;提取关键点,将关键点连成向量通过叉乘得到拟合直线;对拟合直线的向量和大概位置组成的向量求内积操作,判断是否进入弯道;进入弯道时,采用牛顿迭代法、海伦-秦九韶算法以及曲率和三角形内切圆关系得到估计曲率;将估计曲率带入贝兹多项式中拟合出弯道线;将直线和弯道线拼接输出全部的车道线。

1 图像获取及相机标定

1.1 图像获取

采用车载单目相机作为图像采集工具,采集场景包含直线车道、匝道等多种车道场景,编码使用H2.46 方式,分辨率为1080*760,相机在车辆的安装位置如图1 所示。

图1 单目相机安装位置

1.2 相机标定

在车道线检测过程中需要将车辆的坐标系Ov-xyz、相机的坐标系Oc-xyz以及图像坐标系OI-xy转换到同一坐标系中,坐标系示意图如图2 所示。

图2 车辆、相机及图像坐标系

使用Matlab 工具箱对相机参数进行标定,标定后3 个坐标系及相机参数关系如下:

其中,r(Vcv)为罗德里格斯变换Pv= [xv yv zv];Pc=[xc yc zc];PI= [xI yI]分别为车辆坐标系、摄像头坐标系和图像坐标原点;Vcv为Ov-xyz-Oc-xyz的旋转向量;Rcv为Ov-xyz-Oc-xyz的三维旋转矩阵,通过Vcv进行罗德里格斯变换而得到;Tcv为Ov-xyz-Oc-xyz平移向量;[fcu fcv]为摄像头的水平和垂直方向的焦距;[cu cv]为像主点;αc为像素夹角。

1.3 检测区域划分

图像获取后,将天空以及机盖等没有车道线存在的背景区域剔除,降低检测算法的计算量,如图3为原始图像,图4 为划分后的图像。完成区域划分后将图像调整成640*640 的RGB 图像,便于后续特征提取。

图3 原始图像

图4 待检测区域

2 车道线特征提取网络

将划分好检测区域的图像输入到YOLO V5 特征检测网络中进行车道线特征提取。YOLO V5 模型由输入端、Backbone 模块、Neck 模块、Head 模块三部分组成,输入端可以输入多种尺寸的RGB 图片,Backbone 模块以CSPDarknet53 残差网络为核心结构提取车道线图像特征,为检测模型提供必要的特征信息;Neck 模块将提取的特征进行映射,从而将图像特征从backbone 中提取出来,映射到更高维度的特征空间,提高特征表征能力;Head 模块用于特征分类和回归,以获得车道线在图中的候选区域。为了提高特征提取的速率文中模型去除了Neck 模块中的512*20*20的检测头,最终网络结构如图5 所示。

图5 YOLO V5 特征提取网络

3 车道线拟合

3.1 车道线初步提取

车道线具有一定的宽度,为了提高检测结果的稳定性,文中统一将车道内侧线作为边界。

经过特征提取网络后图像中车道线所在的区域被划分出,如图6 所示。为了提取贝兹多项式拟合函数所需的关键点,将候选车道线区域滤波后按照灰度值做二值化操作[15],得到车道线原始图像的大概位置,如图7 所示。根据车道线的大概区域分段得到候选车道线的关键点,此时车道线的直线区域边缘较准确,但是在弯道区域中有较大误差。将关键点连成向量,通过向量叉乘匹配出内侧车道直线,计算过程如下:

图6 车道线候选区域

图7 滤波二值化车道线

设图中存在n条候选车道线向量psi,pei,i∊{1,2,...n}其中psi和pei分别为候选车道线关键点的起点和终点,示意图如图8 所示,根据叉乘公式有:

图8 psi 和pei 示意

取M 的最大值所在的关键点作为车道内侧线的主要关键点,重复多次操作得到车道线在不同部位的主要关键点,如图9 所示。

图9 车道线关键点

3.2 弯道线拟合

提取主要关键点后,根据关键点估计弯道曲率,再将其带入贝兹多项式中得到弯道曲线。

曲率估计的算法流程如下:

(1)提取主要关键点

寻找直线和弯道线的交界点,将获得预测结果向量与关键点连成的向量求内积。

其中,B为预测结果向量,S为关键点连成的向量,当CB,J≤α(α= 0.65)时,将认为车道线进入弯道,取CB,J= 0.65 所在的主要关键点为qn;提取距离qn为l的qn-1;将qn和qn-1之间的最大步长l设为10000 像素,则有:

(2)计算点qn位置切线的斜率

点qn处切线斜率f′(x)计算公式为:

(3)线性逼近得到qn+1

设车道线直线区域的所有点集组成Q= {qi=(xi,yi)|i= 1,2,3,…,n},取Q中最后m个点使用牛顿迭代法代入线性逼近方程中求得qn+1的坐标,具体计算如(8)所示:

其中l′为插值步长,为了降低计算量l′ =l。

(4)求取qn-1、qn以及qn+1三点组成三角形的内切圆半径

设qn-1、qn以及qn+1三点组成的三角形的三边分别为a、b、c,根据海伦-秦九韶公式有:

其中S为所组成三角形的面积,根据三角形三边长与面积、内切圆的关系,可得内切圆半径r。

(5)计算估计曲率k

根据曲率与圆半径公式(11)可得曲率k:

(6)多项式拟合

将曲率k和qn带入贝兹多项式中,设由n+ 1 个主要关键点控制的车道线可以用贝兹曲线多项式拟合:

其中pi为控制点,bi,n为曲线上每个关键点的偏移距离,由公式(13)得到。

(7)重复步骤步骤(1)至(6)得到弯道曲线

将得到的直线结果和曲线结果拼接得到完整的曲线预测结果,如图10 所示。

图10 检测结果

4 实验结果及分析

为验证该方法的有效性,在平潭岛上的高速路段及匝道进行数据采集和离线处理。实验中,YOLO V5特征提取网络使用平潭岛各路段采集整理的道路数据集训练得到,训练设备采用显卡GTX3070 24G、内存DDR4 32G 的服务器。检测算法在Intel Core i7 9thCPU,2.5G Hz,500 G 内存的环境中运行,对100 张当地道路图片进行检测,主要检测指标有:平均每张图的检测时间T;弯道正确检出率R;每张图中检出线长度和实际长度比例的平均值I,具体结果见表1。

表1 算法检测指标

部分检测结果如图11 所示。根据检测结果可以发现在没有遮挡的弯道图中模型的表现较好。当车道线出现遮挡以及断裂时由于特征提取受到严重影响导致模型检测性能下降。

图11 检测结果

5 结语

实验结果表明,基于曲率估计的贝兹多项式车道线拟合方法对于匝道等大曲率的车道线检测具有一定的效果。但对于算法主要进行了弯道曲线研究,对于包含复杂背景、黑夜等场景还有待研究。同时,由于特征提取模型训练过程使用的数据都出自平潭岛,可能会因为数据多样性不足导致模型特征提取能力不够,后续工作中将研究数据多样性对模型性能的影响。

猜你喜欢
关键点曲率特征提取
大曲率沉管安装关键技术研究
一类双曲平均曲率流的对称与整体解
聚焦金属关键点
肉兔育肥抓好七个关键点
半正迷向曲率的四维Shrinking Gradient Ricci Solitons
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
基于MED和循环域解调的多故障特征提取
医联体要把握三个关键点
锁定两个关键点——我这样教《送考》