点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达

本文转自:计算机视觉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“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

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

  1. 实时车道线检测和智能告警 | 车距 + 弯道 + 车道线

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:Priya Dwivedi 编译:ronghuaiyang  (AI公园) 导读 车道线检测 + ...

  2. 自动驾驶中的车道线检测算法汇总

    对近两年来车道线检测算法进行汇总,后期将会保持不断更新~ 1.Efficient Road Lane Marking Detection with Deep Learning 2.VPGNet: Va ...

  3. 实时车道线检测算法 | LaneATT-250FPS LSTR-420FPS

    车道线检测领域突然飞速发展,关注一下最新的两篇文章 一.Keep your Eyes on the Lane: Attention-guided Lane Detection 论文地址:https:/ ...

  4. 【camera】全景驾驶感知网络YOLOP部署与实现(交通目标检测、可驾驶区域分割、车道线检测)

    全景驾驶感知网络YOLOP部署与实现(交通目标检测.可驾驶区域分割.车道线检测) 项目下载地址 包含C++和Python两种版本的程序实现:下载地址 YOLOP开源项目: https://github ...

  5. 自动驾驶中基于车道线的高清制图方法回顾

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者 | 黄浴 来源 | 知乎.hdmap 链接 | https://zhuanlan.zhihu.c ...

  6. 把地图中的道路以线条提取出来_自动驾驶中基于车道线的高清制图方法回顾

    来源:知乎 HD Map,高清地图,在自动驾驶领域被看得很重,因为它能提供prior知识,让感知难度降低,同时让规划有的放矢. 高清地图目前有两条路,即激光雷达扫描为主的高成本制图方法和摄像头为主的低 ...

  7. 自动驾驶中的车道线跟踪技术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:AI算法与图像处理 本文讨论的重点跟踪算法如何应用在车道 ...

  8. 计算机视觉方向简介 | 自动驾驶中的车道线跟踪技术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|人工智能与算法学习 本文讨论的重点跟踪算法如何应用在车道线 ...

  9. 自动驾驶中实时车道检测和警报

    作者 | 小白 来源 | 小白学视觉 未来十年,自动驾驶将彻底改变人们的出行方式. 目前,自动驾驶应用程序目前正在测试各种案例,包括客车.机器人出租车自.动商业运输卡车.智能叉车以及用于农业的自动拖拉 ...

最新文章

  1. java futher多线程_Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap
  2. C#引用类型转换的几种方式
  3. LeetCode 5. 最长回文子串
  4. dij算法堆优化_BZOJ 3040 最短路(road) 堆优化Dijkstra | 学步园
  5. 基于skitter的轮播图炫酷效果,幻灯片的体验
  6. 《设计模式详解》行为型模式 - 状态模式
  7. C语言中用链表构建栈讲解,C语言数据结构之使用链表模拟栈的实例
  8. 14.链表中倒数第k个结点
  9. 新概念单片机c语言 pdf,新概念51单片机C语言教程实例代码(1).pdf
  10. 中国各省份边界json文件
  11. 腾讯翻译君在线翻译怎么翻译整个文件_7款好用的英文翻译软件推荐
  12. apple script to 1s screen capture snapshot w/ windowsill
  13. [SDOI2016]征途
  14. 10款神奇的字符图案 词汇云生成工具
  15. web服务器的作用有哪些,web服务器的作用
  16. python turtle 海龟绘图详解(官方文档中文版)
  17. Vue实现图形化积木式编程(十)
  18. Flutter (四) 基础 Widgets、Material Components Widget 全面介绍
  19. 【项目】Java学生宿舍管理系统,赠予即将毕业的兄弟!
  20. VMWare 虚拟网络连接设置与主机设置不一致导致虚拟机无法连接网络的解决办法

热门文章

  1. 谁能解答我对知识图谱的上百个疑问?
  2. 深度学习在自动驾驶感知领域的应用
  3. Spring Boot 整合 Spring Security 示例
  4. JDK 16 GA 发布,你还停留在JDK 8吗?
  5. Java中BigDecimal工具类(支持空值运算版)
  6. 再见,Navicat!同事安利的这个IDEA的兄弟,真香!
  7. 这谁顶得住?mybatis十八连环问!
  8. CPU 的一些基本知识总结
  9. 周志华:“深”为什么重要,以及还有什么深的网络
  10. 深入浅出统计学(十三)假设检验