YOLOP v2

article/2025/8/23 13:23:44

还是先道歉啊 就是自学求知

又一个自称更好的!!  网上找到的就发了 不知道 大伙用的怎么样啊

更好、更快、更强 ...  YOLOv7结合YOLOP的多任务版本 

 

论文链接:https://arxiv.org/pdf/2208.11434v1.pdf

代码链接:https://github.com/CAIC-AD/YOLOPv2

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

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

1、简介

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

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

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

在本文中,在对以前的方法进行了深入研究之后,提出了一种有效且高效的多任务学习网络。并在具有挑战性的 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、概况

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

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

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

2.2、架构

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

1、Shared Encoder

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

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

2、Task Heads

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

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

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

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

3、Design of BOF

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

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

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

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

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

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

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

3、实验结果

3.1、目标检测

3.2、可行驶区域

3.3、车道线分割

3.4、速度对比

3.5、可视化结果

1、白天

2、夜间

 whaosoft aiot http://143ai.com


http://chatgpt.dhexx.cn/article/ek51IqBQ.shtml

相关文章

YOLO系列(V1-V2-V3)

yolo系列整理 版本作者主页程序论文yoloV1点击打开点击打开点击打开yoloV2点击打开点击打开点击打开yoloV3点击打开点击打开点击打开 改进 V2 VS V1: 增加BN层: 解决问题:每层的输入分布一直在改变,训练难度增加;采取措施&am…

YOLO_v2讲解

文章目录 一:YOLO_v2的改进二:网络细节【BN层取代了Dropout】【高分辨率分类器】【Anchor思想】【K-means选定先验框】【预测坐标相对于Grid Cell的位置】【细粒度的特征】【多尺度训练】 三:损失函数四:YOLO_v2的不足 一&#xf…

YOLOV2原理理解

YOLOV2 一、YOLOV1的不足之处二、YOLOV2的改进论文精读AbstractIntroductionBetter(重点笔记)FasterStronger(非重点) 三、YOLOV2网络的输出输出结果解释输出图示 四、YOLOV2的LOSS函数五、Kmeans聚类——anchor box六、YOLOV2算法总结七、关于YOLOV2中a…

【目标检测】单阶段算法--YOLOv2详解

论文题目:《YOLO9000: Better, Faster, Stronger》 论文地址:https://arxiv.org/pdf/1612.08242.pdf 一文读懂YOLOv1:YOLOv1 一文读懂YOLOv3:YOLOv3 一文读懂YOLOv4:YOLOv4 1. 前言 在前面的一篇文章中,我…

yolov2详细讲解

yolov2详细讲解 概述 YOLO v1虽然检测速度快,但在定位方面不够准确,并且召回率较低。为了提升定位准确度,改善召回率,yolov2在yolov1的基础上提出了几种改进策略,如下图所示,一些改进方法能有效提高模型的…

YOLO V2解析

YOLO V2是YOLO系列的第二版,在YOLO V1的基础上加以改进,改善了YOLO V1定位不准的问题,又保证了检测的速度,可谓集准确性与速度于一身(YOLO V2获得了CVPR2017的最佳论文提名)。YOLO V2的原文提出了两个模型:YOLO V2和YOLO9000,本文主要着重YOLO V2,下面让我们一同走进Y…

YOLOV2详解

yolov2 YOLOv2论文中英文对照翻译_IT修炼家的博客-CSDN博客 YOLOv2 论文笔记Jesse_Mx的博客-CSDN博客yolov2论文 精读目标检测5——yolo2详解及其预测代码复现cv君的博客-CSDN博客yolo2 目标检测|YOLOv2原理与实现(附YOLOv3) - 知乎 (zhihu.com) YOLO v2 - ZhicongHou - 博客园…

YOLO 超详细入门02 v2 (含代码及原文)

文章目录 前言背景总结一、YOLOv2改进之框架1.1 网络架构1.2 Batch Normalization 二、YOLOv2改进方法之尺寸相关2.1 High Resolution Classifier(高分辨率的分类器)原因步骤 2.2 Fine-Grained Features(细粒度特征)原因步骤 2.3 …

深度学习目标检测_YOLOV2超详细解读

文章目录 YOLO v2概述Batch Normalization(批归一化)High Resolution Classifier(高分辨率预训练分类网络)New Network:Darknet-19神经网络中的filter (滤波器)与kernel(内核&#x…

【YOLO系列】YOLOv2论文超详细解读(翻译 +学习笔记)

前言 时隔一年,YOLOv2隆重登场,新的YOLO版本论文叫《YOLO9000: Better, Faster, Stronger》,作者 Joseph Redmon 和 Ali Farhadi 在 YOLOv1 的基础上,进行了大量改进,提出了 YOLOv2 和 YOLO9000,重点解决Y…

训练Doc2Vec

将文本数据表示成list of list的形式: 对每一条文本进行分词操作,可能的话,去除停用词,加上自定义词等: 将分词后的文本转换为gensim所需要的形式: 训练Doc2Vec,其中参数dm1表示DM模型&#…

Doc2vec计算文本相似度

1.Doc2vec模型介绍 Doc2Vec模型基于Word2vec模型,并在其基础上增加了一个段落向量。 以Doc2Vec的C-BOW方法为例。算法的主要思想在以下两个方面: 训练过程中新增了paragraph id,即训练语料中每个句子都有一个唯一的id。paragraph id和普通的…

Doc2vec 简介及应用

Doc2vec是基于Word2Vec方法,有两种训练方法,为Distributed Memory (DM) 和Distributed Bag of Words (DBOW); Distributed Memory version of Paragraph Vector (PV-DM)方法与CBOW方法类似,Bag of Words version of Paragraph Vec…

doc2vec java_Doc2Vec,Word2Vec文本相似度 初体验。

https://radimrehurek.com/gensim/models/word2vec.html 接上篇 : import jieba all_list jieba.cut(xl[‘工作内容‘][0:6],cut_allTrue) print(all_list) every_one xl[‘工作内容‘].apply(lambda x:jieba.cut(x)) import traceback def filtered_punctuations…

文本多分类之Doc2Vec实战篇

在我之前的几篇博客中,我介绍了两种文档向量化的表示方法,如Sklearn的CountVectorizer和TfidfTransformer,今天我们再来学习另外一种文档的向量化表示方法-Doc2Vec。如果你还不太了解Doc2Vec的话,我提供一些资料以便你可以对它有深入的了解: …

【NLP】 Word2Vec模型 Doc2Vec模型

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

基于gensim的doc2vec实践

1.“句向量”简介 word2vec提供了高质量的词向量,并在一些任务中表现良好。 关于word2vec的原理可以参考这几篇论文: https://arxiv.org/pdf/1310.4546.pdfhttps://arxiv.org/pdf/1301.3781.pdf 关于如何使用第三方库gensim训练word2vec可以参考这篇…

Word2vec And Doc2vec - 文本向量化

word2vec 与 doc2vec的区别: 两者从字面意思上就可以大致判断出区别来,word2vec主要针对与单词,而doc2vec主要针对于文本: 顾名思义,Word2Vec是在单个单词上训练的,而Doc2vec是在可变长度的文本上训练的,因…

doc2vec原理

doc2vec和word2vec类似,Doc2vec也有两种训练方式,分别是Distributed Memory(DM) 和 Distributed Bag of Words(DBOW)。 DM 试图在给定上下文和段落向量的情况下预测单词的概率,与word2vec中CBOW类似,在一个句子或者文档的训练过程…

Doc2vec论文阅读及源码理解

《Distributed representationss of Sentences and Documents》 Quoc Le and Tomas Mikolov, 2014 文章目录 《Distributed representationss of Sentences and Documents》1. Distributed Memory Model of Paragraph Vectors (PV-DM).1.1 模型架构图1.2 相关代码阅读 2. Dist…