大数跨境
0
0

YOLOv6 v3.0 is coming!

YOLOv6 v3.0 is coming! 极市平台
2023-01-16
1
导读:年前疯狂卷
↑ 点击蓝字 关注极市平台
作者丨派派星
来源丨CVHub
编辑丨极市平台

极市导读

 

速速解读YOLOv6 3.0版本,YOLOv6 v3.0 版本主要创新点还是集中在网络设计和训练策略这两方方面改进,极大的推动了 YOLOv6 达到实时目标检测的最新精度。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

Paper: https://arxiv.org/pdf/2301.05586.pdf

Code: https://github.com/meituan/YOLOv6

引言

没啥好说的,YOLO 这发新的速度,股市打新都没这么猛,卷王来了都不敢吭声。今天主要是带大家光速过一遍 YOLOv6 v3.0 版本带来了更新,不做技术解读,先占个坑。YOLOv8 才正式宣布开源没几天,YOLOv6 就在新年到来前发布版本了,该版本主要是对网络架构训练方案进行了改进。其中:

  1. YOLOv6-N 在 COCO 数据集上以 1187 FPS 的吞吐量在 NVIDIA Tesla T4 GPU 上测试达到了 `37.5%`` 的 AP。
  2. YOLOv6-S484 FPS 下达到 `45.0%`` AP,优于同等规模的其他主流检测器(YOLOv5-S、YOLOv8-S、YOLOX-S 和 PPYOLOE-S)。
  3. 在接近的推理速度下,YOLOv6-M/L 也比其他检测器实现了更好的精度性能(分别为 50.0%/52.8%)。

此外,通过扩展的骨干网络(Backbone)和颈部(Head)设计,YOLOv6-L6 最终实时实现了 YOLO 家族的 SOTA。好了,留给百度的时间已经不多了,现在离 2023 年农历新年还有6天。

贡献

  • 应用双向串联(BiC)模块更新了检测器的颈部,以提供更准确的定位信号。
  • 将 YOLOv5/v8 中的 SPPF 模块简化为 SimCSSPSPP 模块,在速度几乎保持不变的同时提升精度。
  • 提出了一种 anchor-aided 的辅助训练(AAT)策略,以在不影响推理效率的情况下同时享受到 Anchor-basedAnchor-free 范式的优势。
  • 将 YOLOv6 的 Backbone 和 Head 加多一个 Stage,以加强高分辨率输入图像的性能。
  • 采用了一种新的自蒸馏策略来提高 YOLOv6 小模型的性能,其中 DFL 的较重分支在训练期间被用作增强的辅助回归分支,并在推理时被移除以避免显着的速度下降。

方法

YOLOv6 v3.0 Framework

Network Design

在实践中,多尺度特征集成已被证明是目标检测的关键和有效组成部分。特征金字塔网络(FPN)被提议通过自上而下的路径聚合高级语义特征和低级特征,从而提供更准确的定位。随后,为了增强分层特征表示的能力,在双向 FPN 上出现了新的工作,如 PANet、BiFPN 等。

PANet 在 FPN 之上添加了一个额外的自底向上路径,以缩短低级和顶层特征的信息路径,这有助于从低级特征传播准确的信号。BiFPN 则为不同的输入特征引入了可学习的权重,并简化了 PAN 以实现更好的性能和更高的效率。PRB-FPN 被提议通过具有双向融合和相关改进的并行 FP 结构来保留高质量的特征以进行准确定位。

受上述工作的启发,YOLOv6 设计了一个增强型 PAN 作为该网络架构的检测 Head。为了在不带来过多计算负担的情况下增强定位信号,提出了一个双向连接模块来聚合三个相邻层的特征图,它将来自主干 的额外低级特征融合到 中。在这种情况下,可以保留更准确的定位信号,这对于小物体的定位具有重要意义。

此外,作者将 SPPF 模块简化为类似 CSP 的版本,称为 SimCSSPPPF  模块,增强了特征表示能力。特别的,通过缩小隐藏层的通道和 SPP 来修改 YOLOv7 中的 SimSPPCSPC 块。最后,再将 CSPBlock 升级为 RepBlock(适用于小型模型)或 CSPStackRepBlock(适用于大型模型),并相应地调整宽度和深度。

总的来说,YOLOv6 的颈部命名为 RepBi-PAN,其框架如上图所示。

Anchor-Aided Training

YOLOv6 是一个 anchor-free 检测器,追求更高的推理速度。然而,通过实验发现,与 anchor-free 模式相比,anchor-base 的范式在相同设置下为 YOLOv6-N 带来了额外的性能提升,如下表所示:

神奇了

此外,采用 anchor-base 范式的 ATSS 作为 YOLOv6 早期版本中的 warm-up label assignment strategy,可以稳定训练,厉害了。

鉴于此,本文提出了锚定辅助训练(AAT),其中引入了基于锚定的辅助分支以结合基于锚定和无锚定范式的优点。它们同时应用于分类和回归头,下图清晰的显示了带有辅助装置的检测头:

在训练阶段,辅助分支和无锚框分支从独立的损失中学习,同时一同反馈信号。因此,来自辅助分支的辅助嵌入式引导信息将会被集成到 anchor-free heads 中。

Self-distillation

在 YOLOv6 的早期版本中,自蒸馏仅在大型模型(即 YOLOv6-M/L)中引入,它通过最小化教师和学生的类别预测之间的 KL 散度来应用普通知识蒸馏技术。同时采用 DFL 作为回归损失,对框回归执行类似于 LD 中提出的自蒸馏方法。其中,知识蒸馏的损失函数定义如下:

这里 分别表示教师和学生模型对应的分类和回归损失。因此,总的损失函数可抽象为:

超参数 的引入是用来平衡两个损失。在训练初期,教师的软标签更容易学习。随着训练的继续,学生的表现将与老师相匹配,这样一来硬标签将对学生有更多帮助。在此基础上,可以将余弦权重衰减应用于 以动态调整来自硬标签和来自教师的软标签的信息。 的公式可定义如下:

这里, 分别表示当前epoch和最大的epoch数。

值得注意的是,DFL 的引入需要回归分支的额外参数,这会显着影响小模型的推理速度。因此,YOLOv6 专门为小型模型设计了解耦局部蒸馏 (DLD),在不降低速度的情况下提高性能。

具体来说,其附加了一个重辅助增强回归分支来合并 DFL。在自蒸馏过程中,学生配备了朴素回归分支和增强回归分支,而教师仅使用辅助分支。需要注意的是,这里朴素回归分支仅使用硬标签进行训练,而辅助分支根据来自教师和硬标签的信号进行更新。蒸馏后,朴素回归分支被保留,而辅助分支被移除。通过这种策略,在不影响推理效率的情况下,DFL 在蒸馏中的重回归分支的优势得到了相当大的保持。

实验

Performance comparison with SOTA methods

废话不多说,反正全面吊打就对了。

Ablation Study

总结

YOLOv6 v3.0 版本主要创新点还是集中在网络设计和训练策略这两方方面改进,这些方法极大的推动了 YOLOv6 达到实时目标检测的最新精度。整体来说创新性不是很足,但实验部分做得还算 Solid,主要还是偏向于工程实践,借用凯明最喜欢用的一句话就是:"Without bells and whistles."。挺不错的,代码也已经开源了,大家赶紧用起来。

公众号后台回复“CNN综述”获取67页综述深度卷积神经网络架构

极市干货

技术干货损失函数技术总结及Pytorch使用示例深度学习有哪些trick?目标检测正负样本区分策略和平衡策略总结

实操教程GPU多卡并行训练总结(以pytorch为例)CUDA WarpReduce 学习笔记卷积神经网络压缩方法总结

极市原创作者激励计划 #


极市平台深耕CV开发者领域近5年,拥有一大批优质CV开发者受众,覆盖微信、知乎、B站、微博等多个渠道。通过极市平台,您的文章的观点和看法能分享至更多CV开发者,既能体现文章的价值,又能让文章在视觉圈内得到更大程度上的推广,并且极市还将给予优质的作者可观的稿酬!

我们欢迎领域内的各位来进行投稿或者是宣传自己/团队的工作,让知识成为最为流通的干货!

对于优质内容开发者,极市可推荐至国内优秀出版社合作出书,同时为开发者引荐行业大牛,组织个人分享交流会,推荐名企就业机会等。


投稿须知:
1.作者保证投稿作品为自己的原创作品。
2.极市平台尊重原作者署名权,并支付相应稿费。文章发布后,版权仍属于原作者。
3.原作者可以将文章发在其他平台的个人账号,但需要在文章顶部标明首发于极市平台

投稿方式:
添加小编微信Fengcall(微信号:fengcall19),备注:姓名-投稿


点击阅读原文进入CV社区

收获更多技术干货

【声明】内容源于网络
0
0
极市平台
为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
内容 8155
粉丝 0
极市平台 为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
总阅读919
粉丝0
内容8.2k