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

  微信图片_20210710162126.jpg

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

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

  车道检测

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

  跟踪检测到的对象

  预测他们可能的运动

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

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

  训练实时车道检测

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

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

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

微信图片_20210710162118.jpg

微信图片_20210710162121.jpg

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

微信图片_20210710162130.jpg

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

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

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

  LaneNet 模型

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

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

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

微信图片_20210710162133.jpg

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

  生成智能警报器

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

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

  检测相邻车道中的车辆

  识别弯曲道路的转弯半径

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

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

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

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

  结论

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

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




电子技术图片.png

通知公告
编辑观点
理事会
参考资料
版权声明

凡《网络安全与数据治理》(原《信息技术与网络安全》)录用的文章,如作者没有关于汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权等版权的特殊声明,即视作该文章署名作者同意将该文章的汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权授予本刊,本刊有权授权本刊合作数据库、合作媒体等合作伙伴使用。同时,本刊支付的稿酬已包含上述使用的费用,特此声明。

《网络安全与数据治理》(原《信息技术与网络安全》)编辑部