车道线检测 用于自动驾驶的实时车道线检测和智能告警

栏目:教育 2021-09-19 01:21:59
分享到:

汇编:荣怀阳

引导阅读

车道检测+距离预警+转弯曲率半径计算。

代码:https://github.com/MaybeShewill-CV/lanenet-lane-detection

从模型预测车道

介绍

自动驾驶将在未来十年彻底改变旅行。目前,自动驾驶应用正在各种应用案例中进行测试,包括乘用车、机器人出租车、自动商用送货卡车、智能叉车和农业用自动拖拉机。

自动驾驶需要一个计算机视觉感知模块来理解和导航环境。感知模块的功能包括:

车道线检测

检测环境中的其他物体:车辆、人、动物

跟踪检测到的对象

预测他们可能的行动

一个好的感知系统应该能够在各种驾驶条件下实时做到这一点——白天/黑夜、夏天/冬天、雨雪等。在这个博客中,我们关注的是用于检测车道线、其他车辆等的实时模型。,并生成警报。

训练实时车道线检测器

车道检测问题通常被定义为语义或实例分割问题,其目标是识别属于车道类别的像素。

TUSimple是车道检测任务中常用的数据集。该数据集包含3626个道路场景的标记视频剪辑。每个片段有20帧。这些数据由安装在汽车上的摄像头捕捉。下面分享了一个示例图像及其注释。

来自简单数据集和车道线遮罩的样本图像

在这个数据集上,我们可以训练一个语义分割模型来分割属于车道类的像素。U-Net模型非常适合这种情况,因为它是一个轻量级模型,具有实时推理速度。U-Net是一个编解码器模型,编解码器和解码器模块通过跳连接。模型架构如下所示。

从网上论文看网上模型结构

然而,损失函数需要修改为骰子损失系数。车道分割是一个极其不平衡的数据问题。图像中的大多数像素属于背景类。Dice Loss基于Sorenson-Dice系数,与假阳性、假阴性具有相似的重要性,使得其在处理不平衡数据时表现更好。骰子损失试图在预测模型中匹配地面真实和车道线像素,希望得到一个清晰的边界预测。

LaneNet模型

这里,我使用LaneNet模型来生成车道线。LaneNet模型是一个两阶段车道线预测器。第一阶段是编码器-解码器模型,它为车道线创建一个分割掩码。第二阶段是车道定位网络。从掩模中提取的车道点被用作输入,并且LSTM被用于学习二次函数来预测车道点。

下图显示了这两个阶段的操作。左边是原始图像,中间是阶段1的通道蒙版输出,右边是阶段2的最终输出。

巷道网模型的解释

生成智能警报

我把车道线预测和物体检测结合起来,产生智能报警。这些智能警报可能包括:

检测车道线上是否有其他车辆,并测量它们之间的距离

检测相邻车道是否有车辆

了解弯曲道路的转弯半径

在这里,我使用YOLO V5来检测路上的汽车和人。YOLO V5在检测道路上的其他车辆方面做得很好。推理时间也很快。

接下来,我们使用YOLO v5来测量我们的汽车和前面最近的汽车之间的距离。模型返回的距离以像素为单位,可以根据相机参数转换为米。由于TUSimple数据集的相机参数未知,我根据车道线的标准宽度估算了像素到米的转换。

距离测量报警

我们可以类似地计算车道的曲率半径,并将其应用于汽车的转向模块。

曲率半径的测量

摘要

在这篇博客中,我们讨论了自动驾驶中准确快速检测车道线的问题。然后,我们使用YOLOv5来建立对道路上其他对象的理解。这可用于生成智能警报。

—结束—

https://towards data science . com/实时车道检测和自动驾驶警报-1f0a021390ee

如果你喜欢,请给我看看!