作者 | 小白

来源 | 小白学视觉

未来十年,自动驾驶将彻底改变人们的出行方式。

目前,自动驾驶应用程序目前正在测试各种案例,包括客车、机器人出租车自、动商业运输卡车、智能叉车以及用于农业的自动拖拉机。自动驾驶需要计算机视觉感知模块来识别和导航环境。此感知模块的作用是:

  • 车道检测

  • 检测环境中的其他物体:车辆,行人,动物

  • 跟踪检测到的对象

  • 预测他们可能的运动

一个好的感知系统应该能够在各种驾驶条件下(白天/晚上、夏天/冬天、下雨/下雪等)实时完成这项工作。

车道检测模型

在本文中,我们将探究一个实时模型,用于检测车道、其他车辆等以及生成警报。

训练实时车道检测

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

TUSimple 是用于车道检测任务的常用数据集,这个数据集有 3626 个道路场景的注释视频剪辑,每个剪辑有 20 帧,数据都是从安装在汽车上的摄像机所捕获的。

下面分享一个示例图像及其注释。

TUSimple 数据集的样本图像和车道注释

在此数据集中,我们可以训练语义分割模型用于分割出属于车道类别的像素。U-Net 模型是一个理想的模型,因为它是具有实时推理速度的轻量级模型。U-Net 是一种编码器-解码器模型,具有跳过连接编码器和解码器块。模型架构如下所示:

U-Net 论文中的 U-Net 模型架构

但是,损失函数应修改为骰子损失系数。

车道线分割问题是一个极不平衡的数据问题,图像中的大多数像素都属于背景类。Dice Loss 基于 Sorenson-Dice 系数,它对假阳性和假阴性具有相似的重要性,这使它在数据不平衡问题的处理上表现更好。

你可以在他们的论文中阅读有关 Dice Loss 的更多信息。Dice Loss 尝试匹配地面真实情况和预测模型中的车道像素,并能够获得清晰的边界预测。个人非常喜欢这个关于使用骰子进行边界预测的博客。

LaneNet 模型

对于本文,我使用 LaneNet 模型生成车道线。

LaneNet 模型是两阶段车道线预测器。第一阶段是编码器-解码器模型,以创建车道线分割掩码。第二阶段是车道定位网络,该车道网络将从掩码中提取的车道点作为输入,并使用 LSTM 学习预测车道点的二次函数

下图显示了操作的两个阶段。左图是原始图像,中间图像是第 1 阶段车道注释的输出,右图是第 2 阶段的最终输出。

LaneNet 模型的解释(论文图片-https://arxiv.org/pdf/1807.01726.pdf)

我使用了这个 repo 中的 LaneNet 模型实现。代码维护良好,运行无错误。

生成智能警报器

我将车道的预测与对象检测相结合,以生成智能警报。这些智能警报可以:

  • 检测车辆的自我车道中是否存在其他车辆并测量与它们的距离

  • 检测相邻车道中的车辆

  • 识别弯曲道路的转弯半径

在这里,我使用 YOLO v5 来检测道路上的汽车和人。

YOLO v5 在检测道路上的其他车辆方面表现出色,而且推断时间也非常快。接下来,我们使用 YOLO v5 来测量我方车辆与前面最近的车辆之间的距离。模型返回以像素为单位的距离,可以根据相机参数将其转换为米。

由于 TUSimple 数据集的相机参数未知,因此我根据车道的标准宽度估算了像素到米的转换。

距离测量警报

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

曲率半径测量

结论

在本文中,我们探讨了针对自动驾驶中如何准确而快速地检测车道线的问题。然后,我们使用 YOLO v5 建立对道路上其他对象的识别,用于生成智能警报。

在深度学习分析中,我们非常热衷于使用机器学习解决现实世界中的问题。我们已经帮助许多企业部署了基于 AI 的创新解决方案。

更多精彩推荐
Windows 11 上手机!小米 8、一加 6T、微软 Lumia 950 XL 都可以运行深度学习教你重建赵丽颖的三维人脸Openpose+Tensorflow 这样实现人体姿态估计 | 代码干货点分享点收藏点点赞点在看

自动驾驶中实时车道检测和警报相关推荐

  1. 自动驾驶中激光雷达如何检测障碍物

    自动驾驶中激光雷达如何检测障碍物 1. 介绍 1.1 激光雷达-一种三维激光传感器 1.2 激光雷达的优缺点? 1.3 基于激光雷达如何进行障碍物检测? 1.4 点云处理难点 2. 点云处理 2.1 ...

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

    点击上方"小白学视觉",选择加"星标"或"置顶"重磅干货,第一时间送达 本文转自:计算机视觉life 导读 车道线检测 + 距离告警 + 转 ...

  3. python课程 优达学城_优达学城自动驾驶课程项目——车道检测

    汽车在道路上行驶需要遵循一定的行驶规则,路面的车道则起到规范汽车行驶规则的作用.车道的种类有很多种,如单行线.双行线,虚线.网格线等,不同颜色.形状的车道线代表着不同的行驶规则,汽车和行人可以根据这些 ...

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

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

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

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

  6. CODA:自动驾驶中道路目标检测的极端情况数据集

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨计算机视觉深度学习和自动驾驶 2022年3月arXiv论文"CODA: A Real- ...

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

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

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

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

  9. 自动驾驶中激光雷达如何检测障碍物?

    激光雷达是利用激光束来感知三维世界,通过测量激光返回所需的时间输出为点云.它集成在自动驾驶.无人机.机器人.卫星.火箭等许多领域. 本文从自动驾驶汽车的角度解释它是如何工作的,然后将探讨如何处理点云, ...

最新文章

  1. gdb图形化调试工具总结
  2. Android 根据从服务器中获取的rgb值实现动态改变圆角加框的Imageview 的背景色
  3. Jquery实现类似百度的搜索框
  4. NGUI中深度depth和z轴关系的小试验
  5. Linux 字符设备驱动开发基础(六)—— VFS 虚拟文件系统解析
  6. python的基本数据结构_Python学习笔记——基本数据结构
  7. elementui带输入建议查询_elementUi简单实现搜索提词功能
  8. POJ 3107 - Godfather
  9. 使用echarts(二)自定义图表折线图
  10. [转]数据库连接方式读取不到Excel数据值的解决方法
  11. java嵌入式软件开发工程师_嵌入式软件工程师笔试题
  12. 7天刷完剑指offer(一)
  13. Syncthing - 远程文件实时同步(P2P)工具简介、安装及使用
  14. 计算机怎么发音乐,有哪些方法可以把歌曲发送到远方的朋友的手机上?
  15. 使用IDEA连接本地数据库
  16. 浅析Kubelet如何上报状态
  17. 修复OutLook2007 pst 文件
  18. 清理电脑C盘空间的脚本
  19. 帝国cms插件支持7.0/7.2 7.5/UTF-8 微信登入插件 一键登入
  20. Numpy+Pandas+Matplotlib学习

热门文章

  1. 企业分布式微服务云SpringCloud SpringBoot mybatis - 服务消费者(Feign)
  2. Prometheus 对比 Zabbix
  3. AI金融若不解决这些问题,等于在制造新的不可解问题
  4. 新盒模型移动端的排版
  5. 测试发现equals和hashCode与书上描述的不一样
  6. Google Voice开始发送邀请函
  7. 麦肯锡问题与解决方法技巧
  8. ROS nodelet的使用
  9. 我想当HTML程序员,我的理想当一名程序员
  10. java中产生指定范围内的随机数