首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

[CV - Object Detection - 2021]自动驾驶 - 全景驾驶感知系统 YOLOPv1模型

[「Pascal算法摆渡人」]「公众号」「知乎」「小红书」等感谢关注。Hi,大家好!我是Pascal_M。

我们一起读起来!!!了解过往「历史文献」的方法和不足之处,追寻「最前沿」的文献和技术。

标题:YOLOP: You Only Look Once for Panoptic Driving Perception

时间:2021

引用次数:21(截止目前)

1 遇到问题

自动驾驶中最重要的是全景驾驶感知系统。全景驾驶感知系统中通常会涉及物体检测,以帮助车辆避开障碍物并遵守交通规则。还需要可行驶区域分割和车道检测,因为它们对于规划车辆的行驶路线至关重要。

输入:

输出:交通目标检测、可行驶区域分割和车道检测

「问题来了」

如何设计模型来实现三个功能?

2 前期提要

1)交通目标检测

目标检测算法

R-CNN

Fast R-CNN

Faster-RCNN

SDD 系列

YOLO 系列

回顾一下,YOLO系列和SDD系列

2)可行驶区域分割

图像分割算法

FCN

Unet

DeepLab

PSPNet

回顾一下,图像分割算法

3)车道检测

车道线检测

SCNN

Enet-SAD

4)多任务方法

多任务学习的目标是通过多个任务之间的共享信息来学习更好的表示。

Mask R-CNN [10] 扩展了 Faster R-CNN,增加了一个预测对象掩码的分支,有效地结合了实例分割和对象检测任务,这两个任务可以相互提升性能。

MultiNet[7]共享一个编码器和三个独立的解码器,同时完成场景分类、目标检测和驾驶区域分割三个场景感知任务。

DLT-Net [8] 继承了编码器-解码器结构,并在子任务解码器之间构建了上下文张量,以在任务之间共享指定信息。

3 解决方案

1)YOLOP网络模型

1)Backbone:骨干网络用于提取输入图像的特征。

选择CSPDarknet

2)Neck:Neck 用于融合 backbone 产生的特征。

空间金字塔池(SPP)模块:SPP生成并融合不同尺度的特征

特征金字塔网络(FPN)模块:FPN融合不同语义层次的特征,使得生成的特征包含多尺度、多语义层次的信息

采用串联的方法来融合我们工作中的特征。

3)Detect Head:

与YOLOv4类似,我们采用基于anchor的多尺度检测方案。

采用路径聚合网络(PAN)的结构是一种自下而上的特征金字塔网络。检测头将预测位置的偏移量和高度和宽度的缩放比例,以及每个类别的对应概率以及预测的置信度。

可行驶区域分割&车道线分割:

可行驶区域分割和车道线分割采用相同的网络结构。我们将 FPN 的底层馈送到分割分支,大小为 (W/8, H/8,256)。我们的细分分支非常简单。经过三个上采样过程,我们将输出特征图恢复到(W, H, 2)的大小,它代表了输入图像中每个像素对于可行驶区域/车道线和背景的概率。由于颈部网络中共享SPP,我们没有像其他人通常所做的那样添加额外的SPP模块来分割分支[4],这不会对我们的网络性能带来任何改善。此外,我们在上采样层中使用最邻近插值方法来降低计算成本而不是反卷积。因此,我们的分割解码器不仅获得了高精度的输出,而且在推理过程中也非常快。

备注:回顾一下,YOLOv4网络结构设计

2)损失函数

总损失函数由三部分组成(4):检测损失、可行驶区域分割的损失和车道线分割损失函数

检测损失函数(1):

可行驶区域分割的损失(2)和车道线分割(3)损失函数

4 实验结论

1)BDD100K数据集

BDD100K,A Large-scale Diverse Driving Video Database。2018年5月伯克利大学AI实验室(BAIR)发布了目前最大规模、内容最具多样性的公开驾驶数据集BDD100K,同时设计了一个图片标注系统。BDD100K 数据集包含10万段高清视频,每个视频约40秒\720p\30 fps 。每个视频的第10秒对关键帧进行采样,得到10万张图片(图片尺寸:1280*720 ),并进行标注。

「交通目标检测结果:」

「可行驶区域分割结果:」

「车道线检测结果:」

2)消融实验

「消融实验 1」: 端对端训练 v.s. 分步训练

「消融实验 2」多任务学习 v.s. 单任务学习

「消融实验 3」基于网格 v.s. 基于区域

3)效果展示

「交通目标检测结果」

「可行驶区域分割结果」

「车道线分割结果」

备注:车道线分割结果是经过曲线拟合的。

5 Pascal曰

1) YOLOPv1模型是多任务算法,从而一个模型实现交通目标检测、可行驶区域分割和车道检测。

期待下一期,我们讲解YOLOPv2。

针对人群:

不知道如何「入门算法 「,对于」初学者」这里有完整的学习路径图(历史中「经典」模型文献和论文复现),完成后将成为合格「初级算法工程师」

不知道「行业解决方案」,对于「算法工程师」这里有具体的行业中落地方案和呈现出商业价值,阅读后提供新的解决方法想法和成为「算法专家」

蓦然回首,自己从算法(数学)专业学习以及工作已十年有余。

同时希望大家成为算法经历者、分享者和创造者。

入群

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OyaqgEj8f44J_gNDwHo2QurA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券