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

小白学视觉

共 2241字,需浏览 5分钟

 ·

2021-07-14 17:08

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自:计算机视觉life

导读

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


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

来自模型的车道线预测
介绍


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

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

  • 检测车道线
  • 检测其他物体:车辆、人、环境中的动物
  • 跟踪检测到的对象
  • 预测他们可能的运动

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

训练一个实时的车道线检测器


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

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

来自TUSimple 数据集的示例图像以及车道线掩码

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

来自U-Net论文的U-Net模型结构

然而,损失函数需要修改为Dice损失系数。车道线分割问题是一个极其不平衡的数据问题。图像中的大多数像素属于背景类。Dice Loss基于Sorenson-Dice系数,其对false positives和false negatives的重要性相似,这使得它在处理不平衡数据问题时表现得更好。Dice损失试图匹配groundtruth和预测模型中的车道线像素,希望能够得到一个清晰的边界预测。

LaneNet模型


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

下图显示了这两个阶段的运行情况。左边是原始图像,中间是阶段1的车道线掩码输出,右边是阶段2的最终输出。

LaneNet模型的解释
生成智能告警


我将车道线预测与物体检测结合起来,生成智能警报。这些智能警报可能涉及:

  • 检测其他车辆是否在车道线内,并量度与他们的距离
  • 检测邻近车道上是否有车辆的存在
  • 了解弯曲道路的转弯半径

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

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

距离度量的报警

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

曲率半径的测量
总结


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


英文原文:https://towardsdatascience.com/real-time-lane-detection-and-alerts-for-autonomous-driving-1f0a021390ee



下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 60
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报