无人驾驶或辅助驾驶的场景中如何进行车道线检测?请详细说一下如何基于摄像头和机器学习技术进行车道线检测?
0 1541
1
该提问暂无详细描述
收藏
2021-05-29 17:44 更新 个性的热带鱼 •  41
共 1 个回答
高赞 时间
1

车道线是用来管制和引导交通的一种标线,由标划于路面上的线条、箭头、文字、标记和 轮廓标示等组成。 根据《道路交通标志和标线》 ( GB5768.3 — 2009 ) 国家标准规定,我国的 道路交通标线分为指示标线、禁止标线和警告标线。 下图为实际道路车道线示意图。

车道线检测是智能车辆辅助驾驶系统中必不可少的环节,快速准确地检测车道线在协助自动驾驶路径规划和偏移预警等方面尤为重要。 目前较为常见的车道线检测方案主要是基于摄像头及传统计算机视觉的检测,同时随着自动驾驶技术的逐步发展,基于激光雷达等高精设备的车道线检测算法也被提出。

传统计算机视觉的车道线检测主要依赖于高度定义化的手工特征提取和启发式的方法。 国内外广泛使用的检测方法主要分为基于道路特征和道路模型两种方法。 基于道路特征的检测方法主要利用车道线与道路之间的物理结构差异对图像进行后续的分割和处理, 突出道路特征,实现车道线检测;基于道路模型的检测方法主要利用不同的道路图像模型 ( 直线、抛物线、复合型) , 对模型中的参数进行估计与确定,最终与车道线进行拟合。

基于道路特征的检测方法根据提取特征的不同,可以进一步分为基于颜色特征、纹理特征和多特征融合的检测方法。这里介绍基于颜色特征的检测方法。

颜色特征提取又分为基于灰度和基于色彩特征的提取方法。 基于灰度特征的检测方法主要通过提取图像的灰度特征来检测道路边界和道路标志。可以通过直接采集灰度图进行处理,也可以通过图像转换将原始图像转为灰度图。在车道图像中,路面与车道线交汇处的灰度值变化较剧烈,可以利用边缘增强算子突出图像的局部边缘,定义像素的边缘强度,通过设置阈值的方法提取边缘点。常用的算子有微分算子、拉普拉斯算子和 Canny 算子,如下图所示。

这种基于特征提取进行车道线检测的方法结构简单,应用广泛。缺点是当光照强烈、有大量异物遮挡、道路结构复杂、车道线较为模糊时,检测效果会受到较大影响。

基于彩色特征的检测方法主要通过提取图像的彩色特征来检测道路边界和道路标志, 主要涉及颜色空间的选择和分割策略选取两方面。 颜色空间是由一组数值用来描述图像信息的抽象模型,通常为三四个数字,常用 的颜色空间主要有 RGB 空 间、 HSI 空间 和 CIE L a b 空间等。

在不同的颜色空间中,车道线和道路有着各自的特性,通过分析彩色信息的空间分布,可以利用分割策略对车道线进行检测。 通常用于车道线检测的分割策略为阈值分割和色彩聚类两种方法。 由于色彩信息对于图像或图像区域的大小、方向等特征变化不敏感,所以对于局部特 征,利用彩色信息不能有效地进行捕捉。 所以仅利用彩色特征的方法往往会将大量不必要 的图像检测出来。

基于道路模型的检测方法中,道路的几何模型大体分为两种:直线和曲线。直线模型计算简单,是最常用的道路模型,而曲线模型由于较为复杂,所以根据不同的情况有多种多 样的模型,不同模型的计算复杂度也存在差异。 本节主要介绍直线模型和双曲线模型在车道线检测中的实现。

直线模型主要建立在车道线为直线模型的基础上,直线模型的数学表达式如下:

u = k ( v - h ) + b

其中 u 、 v 分别代表道路图像的横、纵坐标, k代表斜率, b为截距, h代表道路消失线在图中的纵坐标。 得到了道路消失线的水平位置后,只要得到 k 和 b 就可以确定车道线在图像中的位置。 在车辆行驶速度不高,并且道路弯曲曲率不大的情况下,可以有较好的识别效果。

直线模型虽然实时性较好,但对曲线道路的识别精度较差;抛物线模型在车道直线与曲线连接处连续性不好,标识线容易偏离;样条曲线模型过于复杂,计算量大、实时性不高。

针对一些车道线检测算法识别率不高、弯道检测不准确的问题,基于双曲线模型的车道线检测算法首先运用 Canny 算子对道路边缘进行检测;采用 Hough 变换提取道路边界点, 并使用扩展的 Kalman 滤波进行预测跟踪来减小道路扫描范围;最后通过左右车道边界参数与双曲线模型参数进行匹配,用最小二乘法来求解模型参数,完成车道边界重建。

注:本回答的主要内容来自图书《自动驾驶技术概论》清华大学出版社。

收藏
2021-05-29 17:56 更新 调皮的楼房 •  19