YOLOP v2来啦 | YOLOv7结合YOLOP的多任务版本,超越YOLOP以及HybridNets

简介: YOLOP v2来啦 | YOLOv7结合YOLOP的多任务版本,超越YOLOP以及HybridNets

在过去的十年中,多任务学习方法在解决全景驾驶感知问题方面取得了不错的成果,同时提供了高精度和高效率的性能。在为计算资源有限的实时实际自动驾驶系统设计网络时,它已成为一种流行的范例。本文提出了一种有效且高效的多任务学习网络,可同时执行交通目标检测、可行驶道路区域分割和车道检测任务。

YOLOP-v2模型在具有挑战性的 BDD100K 数据集上的准确性和速度方面实现了新的最先进 (SOTA) 性能。特别是与之前的 SOTA 模型相比,推理时间减少了一半。

1、简介

尽管计算机视觉和深度学习取得了长足的发展,但基于视觉的任务(如物体检测、分割、车道检测等)在低成本自动驾驶的应用中仍然具有挑战性。最近已经努力建立一个强大的全景驾驶感知系统,这是自动驾驶的关键组成部分之一。


全景驾驶感知系统通过摄像头或激光雷达等常见传感器,帮助自动驾驶车辆全面了解周围环境。基于相机的目标检测和分割任务通常在场景理解的实际使用中因其低成本而受到青睐。目标检测在提供交通障碍物的位置和大小信息方面发挥着重要作用,帮助自动驾驶汽车在行驶阶段做出准确及时的决策。此外,可行驶区域分割和车道段也为路径规划和提高行车安全提供了丰富的信息。


目标检测和分割是计算机视觉领域的两个长期研究课题。有一系列针对目标检测的出色工作,例如 CenterNetFaster R-CNNYOLO 系列。常见的分割网络常用于可驱动区域分割问题,例如:UNETSegNetPSPNet。而对于车道检测/分割,需要更强大的网络来提供更好的高层和低层特征融合,从而考虑全局结构上下文来增强分割细节。然而,在实时自动驾驶系统中为每个单独的任务运行单独的模型通常是不切实际的。在这种情况下,多任务学习网络为节省计算成本提供了一种潜在的解决方案,其中网络被设计成编码器-解码器模式,并且编码器被不同的任务有效共享。


在本文中,在对以前的方法进行了深入研究之后,提出了一种有效且高效的多任务学习网络。并在具有挑战性的 BDD100K 数据集上进行了实验。


YOLOP-v2所有3个任务中都取得了最佳性能:目标检测任务的 AP50 为 0.83,可驾驶区域分割任务的 mIOU 为 0.93,车道检测的准确率为 87.3。与Baseline相比,性能得到了大大的提升。此外,将在 NVIDIA TESLA V100 上运行的每秒帧数 (FPS) 提高到 91,这远高于 YOLOP 模型在相同实验设置下的 49FPS 值。它进一步说明模型可以降低计算成本并保证实时预测,同时为其他实验研究的改进留出空间。

这项工作的主要贡献总结如下:

  1. 更好:我们提出了一种更有效的模型结构,并开发了更复杂的免费袋,例如,在对数据预处理执行 Mosaic 和 Mixup 以及应用了一种新的混合损失时。
  2. 更快:我们为模型实施了更高效的网络结构和内存分配策略。
  3. 更强:我们的模型是在强大的网络架构下训练的,因此它具有很好的通用性,可以适应各种场景并同时保证速度。

2、本文方法

2.1、概况

模型受到 YOLOPHybridNet 工作的启发,保留了其核心设计理念,但利用强大的Baseline进行特征提取。此外,与现有工作不同的是,利用解码器的3个分支来执行特定任务,而不是在同一分支中运行可行驶区域分割和车道检测任务。

这种变化的主要原因是作者发现交通区域分割和车道检测的任务难度完全不同,这意味着这两个任务对特征级别的要求不同,因此最好有不同的网络结构。

第 4 节中的实验表明,新设计的架构可以有效地提高整体分割性能,并且在计算速度上引入的开销可以忽略不计。图 2 显示了设计概念的总体方法流程图。

582cda68c7605707c00a34a3a538f42c.png

2.2、架构

所提出的网络架构如图 1 所示。它由一个用于从输入图像中提取特征的共享编码器和用于相应任务的3个解码器头组成。本节演示模型的网络配置。

f4f6f18863974dac1b1a44867008128a.png

1、Shared Encoder

与使用 CSPDarknet 作为主干的 YOLOP 不同,采用 E-ELAN 的设计来利用组卷积,使不同层的权重能够学习到更多样化的特征。图 2 显示了组卷积的配置。

Neck部分,通过连接收集和融合不同阶段产生的特征。与 YOLOP 类似,应用空间金字塔池 (SPP) 模块来融合不同尺度的特征,并使用特征金字塔网络 (FPN) 模块来融合不同语义级别的特征。

2、Task Heads

如上所述,为每个单独的任务设计了3个独立的解码器头。与 YOLOv7 类似,我们采用Anchor-base的多尺度检测方案。首先,使用自下而上结构的路径聚合网络(PAN)来更好地提取定位特征。通过结合来自 PANFPN 的特征,能够将语义信息与这些局部特征融合,然后直接在 PAN 中的多尺度融合特征图上运行检测。多尺度特征图中的每个网格都会分配3个不同纵横比的anchor,检测头会预测位置的偏移量和缩放后的高宽,以及每个类预测的概率和对应的置信度.

所提出方法中的可行驶区域分割和车道分割在具有不同网络结构的单独任务头中执行。与 YOLOP 不同,YOLOP 的两个任务的特征都来自Neck的最后一层,采用了不同语义级别的特征。

作者发现,与其他两个任务相比,从更深的网络层提取的特征对于可驱动区域分割来说并不是必需的。这些更深层次的特征并不能提高预测性能,反而会增加模型在训练过程中收敛的难度。因此,可行驶区域分割头的分支连接在FPN模块之前。此外,为了补偿这种变化造成的可能损失,应用了一个额外的上采样层,即在解码器阶段总共应用了4个最近插值上采样。

对于车道分割,任务分支连接到 FPN 层的末端,以便提取更深层次的特征,因为道路线通常不细且在输入图像中难以检测。此外,在车道检测的解码器阶段应用了反卷积,以进一步提高性能。

3、Design of BOF

基于YOLOP的设计,在检测部分保留了损失函数的设置。1675242543604.png是检测损失,是分类损失、目标损失和边界损失的加权和损失,如公式1所示。

44636f15133fe877a79155e2189006f6.png

此外,在 1675242611359.png1675242629839.png  中使用了Focal Loss来处理样本不平衡问题。1675242643745.png 用于惩罚分类, 1675242657704.png用于预测置信度。1675242684690.png反映了预测结果与Ground truth的重叠率、纵横比和尺度相似度的距离。合理设置损失权重可以有效保证多任务检测的结果。

交叉熵损失用于可行驶区域分割,旨在最小化网络输出和Ground truth之间的分类误差。

对于车道分割,使用Focal Loss而不是交叉熵损失。因为对于车道检测等困难分类任务,使用Focal Loss可以有效地引导模型专注于困难样本,从而提高检测精度。

此外,在实验中实现了由Dice lossFocal Loss组成的混合损失。Dice loss 能够学习减轻不平衡问题的类分布。Focal loss 具有强制模型学习分类不均衡的能力。最终损失可以计算为公式 2,如下所示。

a3892ffb89f73bdb3f83dcfc5b200f8b.png

其中是Dice lossFocal Loss之间的权衡,C是类别的总数,因此,C设置为2,因为在可驾驶区域分割和车道分割中只有两个类别.1675242706739.png分别表示真阳性、假阴性和假阳性。


值得一提的是,在多任务学习方法中引入了 Mosaic 和 Mixup 的增强策略,据论文描述所知,这是第一次在目标检测、可行驶区域和车道检测这三个任务中显示出显著的性能提升。

d1c42b92eac8e8afeef1c4cdea18a6eb.png

3、实验结果

3.1、目标检测

21a00baf345ad25c0159468ec3d311ea.png

3.2、可行驶区域

767ff6f089db8ca39699d97a751315ff.png

3.3、车道线分割

726ecf2d1534fa46764084882fea5fc7.png

3.4、速度对比

642508b9017669012902198a27069312.png

3.5、可视化结果

1、白天

1675243008453.png

2、夜间

1675243024189.png

4、参考

[1]. YOLOPv2: Better, Faster, Stronger for Panoptic Driving Perception

推荐阅读

nnUNet 改进 | 让UNet系列在大赛中雄风依旧!

Yolov5-6.2 正式发布 | Yolov5 也可以训练分类模型啦,语义分割+实例分割很快到来

BeiT v2 来袭 | BeiT升级,全面超越 MAE,实现 Vision Transformer 微调自由!

相关文章
|
3月前
|
人工智能 边缘计算 测试技术
MLPerf推理基准测试引入Llama 2 新结果公布
【4月更文挑战第5天】MLCommons发布了最新MLPerf推理基准测试结果,涉及数据中心和边缘计算,引入了大型语言模型Llama 2进行性能评估。Llama 2在OPEN ORCA数据集上的表现提升测试复杂性,提供了更全面的性能数据。MLPerf测试涵盖图像分类、对象检测等边缘计算任务,为开发者和研究人员提供参考。测试结果存在硬件和软件配置影响的局限性,但仍是衡量AI系统性能的重要标准。
75 9
MLPerf推理基准测试引入Llama 2 新结果公布
|
3月前
|
文字识别 前端开发
CodeFuse-VLM 开源,支持多模态多任务预训练/微调
随着huggingface开源社区的不断更新,会有更多的vision encoder 和 LLM 底座发布,这些vision encoder 和 LLM底座都有各自的强项,例如 code-llama 适合生成代码类任务,但是不适合生成中文类的任务,因此用户常常需要根据vision encoder和LLM的特长来搭建自己的多模态大语言模型。针对多模态大语言模型种类繁多的落地场景,我们搭建了CodeFuse-VLM 框架,支持多种视觉模型和语言大模型,使得MFT-VLM可以适应不同种类的任务。
539 0
|
3月前
|
机器学习/深度学习 测试技术 定位技术
YOLOPoint开源 | 新年YOLO依然坚挺,通过结合YOLOv5&SuperPoint,成就多任务SOTA
YOLOPoint开源 | 新年YOLO依然坚挺,通过结合YOLOv5&SuperPoint,成就多任务SOTA
96 0
|
8天前
|
人工智能 自然语言处理 测试技术
权重、代码、数据集全开源,性能超越Mistral-7B,苹果小模型来了
【8月更文挑战第12天】DCLM是由多家机构联合推出的全新测试平台,旨在通过优化数据集增强语言模型性能。其核心贡献包括一个含240万亿token的标准化语料库及有效的预训练方案。DCLM-BASELINE数据集成功训练出7B参数模型,在MMLU上5-shot准确率达64%,超越Mistral-7B,且计算成本降低40%。尽管存在局限,但该项目已全开源,为社区提供宝贵资源,推动语言模型发展。[论文链接](https://arxiv.org/pdf/2406.11794)
124 60
|
机器学习/深度学习 编解码 固态存储
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
676 0
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
|
3月前
|
机器学习/深度学习 存储 TensorFlow
YOLOv3模型在不同硬件平台上的性能表现有何差异?
YOLOv3模型在不同硬件平台上的性能表现有何差异?
|
3月前
|
人工智能 PyTorch iOS开发
苹果AppleMacOs最新Sonoma系统本地训练和推理GPT-SoVITS模型实践
GPT-SoVITS是少有的可以在MacOs系统下训练和推理的TTS项目,虽然在效率上没有办法和N卡设备相提并论,但终归是开发者在MacOs系统构建基于M系列芯片AI生态的第一步。
苹果AppleMacOs最新Sonoma系统本地训练和推理GPT-SoVITS模型实践
|
9月前
|
自然语言处理 Java 物联网
干货!MFTCoder论文多任务微调技术详解
代码大模型(Code LLMs)已经成为一个专门的研究领域,通过使用代码相关数据对预训练模型进行微调来提升模型的编码能力。以往的微调方法通常针对特定的下游任务或场景进行定制,意味着每个任务需要单独进行微调,需要大量的训练资源,并且由于多个模型并存而难于维护和部署。此外,这些方法未能利用不同代码任务之间的内在联系。
352 0
|
人工智能 自然语言处理 机器人
「羊驼」们走到哪一步了?研究表明:最好的能达到GPT-4性能的68%
「羊驼」们走到哪一步了?研究表明:最好的能达到GPT-4性能的68%
182 0
|
数据采集 机器学习/深度学习 传感器
YOLOP v2来啦 | YOLOv7结合YOLOP的多任务版本,超越YOLOP以及HybridNets
YOLOP v2来啦 | YOLOv7结合YOLOP的多任务版本,超越YOLOP以及HybridNets
268 0