专栏名称: 点云PCL
公众号将会推送基于PCL库的点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维世界相关内容的干货分享。不仅组织技术交流群,而且组建github组群,有兴趣的小伙伴们可以自由的分享。欢迎关注参与交流或分享。
目录
相关文章推荐
前端早读课  ·  【第3452期】React 开发中使用开闭原则 ·  8 小时前  
启四说  ·  启四VIP策略网站,有哪些功能?如何使用? ·  19 小时前  
启四说  ·  启四VIP策略网站,有哪些功能?如何使用? ·  19 小时前  
前端早读课  ·  【第3451期】前端 TypeError ... ·  昨天  
河南发布  ·  教育部:将研制发布职业本科专业教学标准 ·  2 天前  
河南发布  ·  教育部:将研制发布职业本科专业教学标准 ·  2 天前  
江苏司法行政在线  ·  宿迁司法行政人、江苏监狱戒毒民警,给您拜年啦! ·  3 天前  
江苏司法行政在线  ·  宿迁司法行政人、江苏监狱戒毒民警,给您拜年啦! ·  3 天前  
51好读  ›  专栏  ›  点云PCL

一个鲁棒实时且无需校准的车道偏离警告系统

点云PCL  · 公众号  ·  · 2024-02-26 14:37

正文


文章:A robust, real-time and calibration-free lane departure warning system

作者:Islam Gamal a , Abdulrahman Badawya , Awab M.W. Al-Habal a , Mohammed E.K. Adawya , Keroles K. Khalil b , Magdy A. El-Moursy b, Ahmed Khattab

编辑:点云PCL


欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。 文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系[email protected] 文章未申请原创 侵权或转载 联系微信cloudpoint9527。

摘要


本文提出了一种实时且无需校准的车道偏离警告系统算法。车道偏离算法的预处理阶段使用高斯金字塔对图像进行平滑处理和降维,从而减少图像中的不必要细节。然后,基于实时线段检测器Edge Drawing Lines(EDLines)算法开发了车道检测阶段,该算法具有对错误检测的控制。采用参考计数技术来跟踪车道边界并预测缺失的车道。实验结果表明,该算法的准确性为99.36%,平均处理时间为80帧每秒(fps)。该算法在原始设备制造商(OEMs)汽车中的自动驾驶系统中使用是高效的。

相关介绍


车道偏离警告系统(LDWS)是一种机制,旨在在车辆开始偏离车道时提醒驾驶员,除非打开了该方向的转向灯。此系统可以使用两种不同的技术实现:机器视觉(MV)或GPS技术。GPS利用高分辨率地图数据库及其高度准确的定位能力。另一方面,MV使用单个或多个摄像头与图像处理算法来检测道路上的车道。与GPS不同,MV利用现有的基础设施,并且可以轻松适应道路设计的变化。因此,文献中提出的大多数技术使用MV技术来实现LDWS。这些实现主要基于逆透视映射(IPM),通过获得汽车前方道路的俯视图来简化车道检测。IPM具有较高的计算时间,影响系统的实时性能。此外,它是基于参数的,并且需要为每种不同类型的汽车进行摄像头校准,使系统不便携。本文提出了一种新的基于MV的LDWS算法,用于实现非IPM的高效率和实时性能,如图1所示。这是一种实时和无需校准的LDWS(RTCFLDWS)算法。

内容概述


所提算法提取感兴趣区域(ROI)以减少图像中的异常线(树边界、路边等)。然后,使用高斯金字塔进行图像平滑处理,因为它能在不损害图像中所需边缘的情况下平滑图像。接下来使用实时且具有高性能和高误检控制的Edge Drawing Lines(EDLines)算法,该算法是一种强大的边缘和线段检测技术。在以下阶段,采用基本的机器学习(ML)概念对车道进行过滤和聚类,以排除概率较低的线条,这些线条可能是车道边界。基于这些线条,引入了先进的参考计数算法,用于跟踪由单个前置摄像头拍摄的连续帧之间的车道。算法的各个阶段如图1所示。

图1. 所提算法的框图

图像预处理

在实时车道偏离预警系统中,图像预处理被分为两个关键阶段:感兴趣区域(ROI)提取和图像平滑。

感兴趣区域(ROI)提取:在感兴趣区域提取这一关键子阶段,系统的目标是筛选出图像中影响后续处理的异常值,集中关注道路上的车道边界。为了实现这一目标,如图2所示,通过提取自适应ROI,确定了图像中最关键的部分— 包含地面的底部部分。ROI定义由六个点组成,其中前两个点是图像的左下角和右下角,而其他点则根据车道线的y截距值计算。消失点是通过计算图像中所有线的交点来确定的,其坐标的均值作为消失点的坐标。为确保稳定性,每一帧都计算一次消失点,但仅每10-20帧进行一次更新,采用反馈循环以稳定计算结果。通过初始化消失点和其他ROI点,系统收敛到适当的区域,确保了准确性和稳定性。

图2.ROI 角点

图像平滑:图像平滑阶段采用了图像金字塔的方法,主要利用了高斯金字塔。通过对原始图像进行多次子采样和平滑,构建了金字塔结构。高斯金字塔对于减少图像处理的细节和缩小图像尺寸具有较短的处理时间,相较于其他平滑技术效果更佳。通过在图像的不同比例上创建多个版本,金字塔的底部保留了原始图像,而顶部则是最低分辨率的图像。图像平滑阶段的目标是通过降低EDLines算法在线段检测阶段检测到的线的数量来提高系统的处理速度。如图3所示,通过多次子采样和平滑原始图像构建此金字塔。实验结果表明,采用图像金字塔方法,即便使用较低级别的金字塔,也能有效减少线的数量,从而提高了系统的效率。这两个阶段的协同作用,使得车道偏离预警系统能够在实时环境中高效运行,为后续的车道检测和跟踪奠定了坚实的基础。

图 3. 高斯金字塔

图4显示了在具有不同高斯金字塔级别的图像上应用EDLines算法的结果。在图4(a)中,该算法直接应用于原始图像,产生446条线。在图4(b)中,使用2级高斯金字塔,产生179条线。这将像素数量减少了一半,并平滑了图像,将线的数量减少了不到一半。在图4(c)中,使用3级金字塔,线的数量仅达到48条,远远少于第一种情况。

图 4. 使用高斯金字塔对EDLines算法检测到的线条数量的影响。(a) 原始图像,(b) 应用2级高斯金字塔后的图像,(c) 应用3级高斯金字塔后的图像。

线段检测

通过边缘检测产生的形状有各种各样,包括规则的、非规则的、线状的、曲线的、开放的或封闭的。在LDWS中,我们主要关心线这一形状的分割。线段检测是线检测的一个关键步骤,它可以分为两个子阶段:边缘检测和线段检测。以下将介绍这两个子阶段。

边缘检测:边缘检测是一种数学方法,用于识别图像中亮度变化较大的点。这里采用的ED算法[16]是一种实时运行的新型边缘检测算法,能够将每个边缘表示为像素链。该算法在灰度图像上运行,通过计算每个像素的梯度幅度,找到梯度最大的像素,然后使用智能路由过程将这些像素连接起来形成边缘。

线段检测:边缘检测产生了各种形状,而在线检测中,我们主要关注线段的分割。采用的EDLines算法[17]基于ED算法,采用最小二乘(LS)线拟合方法进行线段检测。该算法首先生成一个初始线段,然后通过向其添加更多像素来扩展该线段。最小线段长度的设定取决于像素单位中车道边界的长度。该算法以智能方式将像素添加到当前线段,只要它们与该线段的距离在一定范围内(例如1像素误差)。算法持续添加像素,直到线段方向发生变化。在这一点上,发现了一个完整的线段,然后递归处理链的剩余像素以提取更多线段。

线段的过滤和聚类

在所提出的算法中,线段使用五个特征定义(斜率(m),截距点(c),起点(Sx,Sy),终点(Ex,Ey)和长度(l))。该算法通过过滤和聚类仅定义两条车道线:左侧和右侧。这通过线段的过滤和聚类技术完成,

线过滤: 在这个阶段,我们通过过滤线段来选择与车道边界相关的线段,并将其传递到下一个阶段。为了更好地定义左侧和右侧的线段,我们使用了图5中所示的斜率值进行了分离。线段分离后,我们使用斜率、起始点和长度这三个特征的值进行选择。以下是我们选择为车道边界的线段所使用的特征范围。

图5. 将左侧线与右侧线分离

线聚类:在同一方向上的两个车道之间的车道边界通常呈虚线状,具有一定的厚度,这可能导致线检测器将其视为两条平行线。这一问题如图6所示。该问题类似于机器学习中的聚类问题,因为存在大量的数据需要聚类到几个类别中。在这个场景中,我们大约有2到10条线。我们的目标是将相邻的线段聚类在一起,形成一条线。我们通过计算它们之间的距离来判断线段是否相邻,计算距离的公式如下:

我们设置了一个阈值,以便将距离较近的线段合并为一条线,其特征值由这些线段的均值表示。这个步骤帮助我们在表示车道时保持清晰度和简洁性。

图6. 通过线聚类解决的问题的示意图

车道线跟踪

在车道线跟踪中,主要通过追踪先前帧中车道线的历史信息来实现两个目的:一是从当前检测到的线中选择与车道边界相关的线,二是在车道边界不可见时预测它们的位置。为此,每条检测到的线都用斜率、截距等五个特征进行定义。采用了跟踪列表来存储并传递这些线的历史信息。在第一种情况下,系统比对当前帧检测到的线与跟踪列表中的线,找到最佳匹配。匹配后的情况有三种:

a)跟踪线有最佳匹配,更新其参数和分数;

b)跟踪线无最佳匹配,分数减一;

c)检测到新线,将其添加到跟踪列表。

在第二种情况下,即先前帧信息不足,初始化跟踪列表为空,并将所有检测到的线添加到列表中。系统通过保持对先前帧信息的追踪,以提高车道线跟踪的准确性和鲁棒性。

车道偏离

在这个阶段,需要找到车辆相对于车道的位置。为了做到这一点,必须提供车辆在图像中的位置。车辆位置由其中点定义。为了定义这个点,假设摄像头安装在挡风镜后面,以便车辆的中点位于图像中央。这一假设确保了车道偏离计算的简化算法。

车道由其边界定义,为了将其位置与车辆位置进行比较,通过将车道边界与图像底部相交(其方程为 y = 图像高度),确定其边界的中点。相交点之间的中距离将是中点。值得一提的是,跟踪列表包含许多线,但并非所有这些线都与车道边界相关。因此,计算中仅使用已验证的线。已验证的线是那些在一系列连续的帧中出现的线;因此,它们最有可能与车道边界相关。使用车道的中点和车辆的中点,如图7所示,可以使用以下方程计算车道偏离:

其中,L 是车道中点,C 是车辆中点,W 是车道宽度。偏离(d)的值从 -100%(车辆在左车道边界上行驶)到100%(车辆在右车道边界上行驶)。这两种情况都是极端的,因为在车辆离开当前车道之前必须发出偏离警告。为了确保良好的警告行为,偏离范围被划分为三个区域:安全区域、警告区域和危险区域,如表2所示。

检测率和偏离率分别使用方程(4)和(5)计算。

其中,TP 和 FN 分别是真正例和假负例的结果,Hit 是成功检测到的偏离,Miss 是未检测到的偏离。

实验


根据ISO 17361:2017标准,LDWS测试的环境条件为平坦而干燥的沥青路面,车道标线直接可见,水平能见度范围大于1公里。标准中提到的条件描述了一个理想的环境。现实生活并非理想。为了确保RTCFLDWS实现了驾驶员的安全性,该系统在各种具有挑战性的天气和照明条件下进行了测试:晴天、多云、雨天、白天、日落和夜晚。这些情况下系统的输出如图8–10所示。

图8. 在不同情况下的RTCFLDWS结果:(a) 雨天,(b) 夜晚和(c) 左右偏离。

图9. 在各种隧道照明条件下的RTCFLDWS结果:(a) 黄灯隧道,(b) 白灯隧道和(c) 昏暗的隧道。

图10. 在具有挑战性条件下的RTCFLDWS结果:(a) 阴影效应,(b) 和 (c) 被漏掉的车道追踪,以及 (d) 夜晚的陡峭弯道和倾斜线。

离线测试

这些测试是在使用Intel(R) Core(TM) i7-5500 U CPU @ 2.4 GHz的PC上使用不同数据集进行的。Gemy数据集 它包括使用Sony Xperia Z5 dual手机记录的28,319帧,该手机以30fps提供图像。它涵盖了不同类型的情况:笔直的道路、弯曲的道路、多车道道路、白天、夜晚、阴影效应和障碍物。此外,它还包括其他数据集忽略的离开车道的情况。此外,它引入了ISO 17361标准所需的所有性能测试程序。我们数据集上的平均检测率和平均帧处理时间分别为99.46%和17.3毫秒。上述所有情况的检测和离开率以及帧处理时间均在表3中说明。

其他数据集 :每种情况的检测和离开率以及帧处理时间在表4中说明

总结


本文介绍了一种实现LDWS的新型可靠且鲁棒的算法。RTCFLDWS算法实时且可扩展。它通过感兴趣区域提取来减小输入图像。采用边缘检测和线段分割方法EDLines。它具有快速、准确和误检控制的优点。过滤和聚类块使用基本机器学习,从检测到的线中选择与车道边界相关的线。车道边界在汽车移动时进行跟踪。线条被绘制在GUI显示上,当车辆发生偏离时,会出现警告信号。从结果来看,所提出的系统实现了平均检测率99.36%,离开率100%,平均处理时间14.9毫秒。所提出的算法优于文献中所有现有方法。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定







请到「今天看啥」查看全文