(附代码)自动驾驶的实时车道检测和警报

目标检测与深度学习

共 1806字,需浏览 4分钟

 ·

2021-07-07 00:39

点击左上方蓝字关注我们



全网搜集目标检测相关,人工筛选最优价值内容

编者荐语
动驾驶需要计算机视觉来理解和导航环境。计算机视觉的作用是:测车道线、检测其他物体——环境中的车辆、人类、动物跟踪检测到的物体预测他们可能的运动


前言:

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

 

一个好的感知系统应该能够在各种驾驶条件下实时地做到这一点——白天/黑夜、夏天/冬天、雨/雪等

 

在本中,我们将研究用于检测车道线、其他车辆等并生成警报的实时模型。

 


训练实时车道检测器


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

 

TUSimple 是用于车道检测任务的流行数据集。该数据集包含 3626 个带注释的道路场景视频剪辑。每个剪辑有 20 帧。数据是从安装在汽车上的摄像头捕获的。下面分享了一个示例图像及其注释。


TUSimple地址:

https://github.com/TuSimple/tusimple-benchmark/tree/master/doc/lane_detection

 

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

 

但是,应该将损失函数修改为 Dice Loss 系数。车道线分割问题是一个极其不平衡的数据问题。图像中的大部分像素属于背景类。Dice Loss 基于 Sorenson-Dice 系数,它对误报和漏报同样重视,这使得它能够更好地解决不平衡数据问题。Dice 损失尝试匹配地面实况和预测模型中的车道像素,并且能够获得清晰的边界预测。

 


车道网模型


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

 

下图显示了运行中的两个阶段。 左侧面板是原始图像,中间面板是第 1 阶段的车道掩码输出,右侧面板是第 2 阶段的最终输出。

 

 

LaneNet代码:

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

 


生成智能警报


我将车道线的预测与物体检测相结合以生成智能警报。 这些智能警报可能与以下因素有关


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

检测相邻车道中车辆的存在

检测弯曲道路的转弯半径

 

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

 

下面我们使用 YOLO v5 来测量黑白本车与前方最近车辆的距离。模型返回以像素为单位的距离,可以根据相机参数将其转换为米。由于 TUSimple 数据集不知道相机参数,因此我根据车道线的标准宽度估计了像素到米的转换。

 

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

 

结论


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

 

英文原文链接:

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


END



双一流大学研究生团队创建,专注于目标检测与深度学习,希望可以将分享变成一种习惯!

整理不易,点赞三连↓

浏览 48
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报