近来,美团视觉智能部发布了 YOLOv6 3.0 版别,再一次将方针检测的归纳功能面向新高。本次更新除了对 YOLOv6-N/S/M/L 模型进行全系列升级之外,还推出了大分辨率 P6 模型。其间,YOLOv6-L6 检测精度和速度超越 YOLOv7-E6E,取得当时实时方针检测榜单 SOTA。本文首要介绍了 YOLOv6 3.0 版别中引进的技能创新和优化,期望能为从事相关作业的同学带来一些启示或协助。

1. 概述

1 月 6 日,美团视觉智能部发布了 YOLOv6 3.0 版别,再一次将方针检测的归纳功能面向新高。本次更新除了对 YOLOv6-N/S/M/L 模型进行全系列升级之外,还推出了大分辨率 P6 模型。其间,YOLOv6-L6 检测精度到达 57.2% AP,在 T4 卡上推理速度可达 29 FPS,超越 YOLOv7-E6E,取得当时实时方针检测榜单 SOTA。

技能报告:YOLOv6 v3.0: A Full-Scale Reloading

YOLOv6 Github 传送门:github.com/meituan/YOL…,欢迎 Star 保藏,随时取用。

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

注:YOLOv6 系列模型均在练习 300epoch 且不运用预练习模型或额定检测数据集下取得,“‡” 表明选用了自蒸馏算法,“*” 表明从官方代码库对发布模型进行重新测评的方针。以上速度方针均在 T4 TRT7.2 环境下测验。

2. 要害技能介绍

本次更新首要在 Neck 网络规划、练习和蒸馏战略等方面进行了创新和优化:

  • 规划了表征才能更强的可重参化双向交融 PAN(RepBi-PAN)Neck 网络;
  • 提出了全新的锚点辅佐练习(Anchor-Aided Training)战略;
  • 提出了解耦定位蒸馏(Decoupled Location Distillation)战略以提高小模型的功能。

2.1 表征才能更强的 RepBi-PAN Neck 网络

有用的多标准特征交融网络对方针检测的作用尤为要害。特征金字塔网络 (FPN) 经过自上而下的途径来交融来自主干网络不同 Stage 的输出特征以弥补网络学习进程中方针位置信息的丢失。鉴于单向信息流传输的局限性,PANet 在 FPN 之上添加了一个额定的自底向上途径。 BiFPN 为不同的输入特征引进了可学习的权重,并简化了 PAN 以完成更好的功能和更高的效率。PRB-FPN 经过具有双向交融的并行残差 FPN 结构来保存高质量的特征,以进行准确定位。

遭到上述作业的启示,咱们提出了一个表征才能更强的可重参化双向交融 PAN(RepBi-PAN)Neck 网络。一般来说,主干网络浅层特征分辨率高,具有丰厚的空间信息,有利于方针检测中的定位使命。为了聚合浅层特征,常见的做法是在 FPN 中添加 P2 交融层以及一个额定的检测头,但这往往会带来较大的核算成本。

为了完成更好的精度和时延权衡,咱们规划了一个双向联合(Birectional Concatenate, BiC)模块,在自上而下的传输途径中引进自底向上的信息流,使得浅层特征能以更高效的办法参加多标准特征交融,进一步增强交融特征的表达才能。此模块能够协助保存更准确的定位信号,这关于小物体的定位具有重要意义。

此外,咱们对上一版别的 SimSPPF 模块进行了特征增强优化,以丰厚特征图的表明才能。咱们发现 YOLOv7 运用的 SPPCSPC 模块能够提高检测精度,但对网络推理速度的影响较大。于是咱们对其进行了简化规划,在检测精度影响不大的情况下,大大提高了推理效率。一起,咱们引进了可重参数化思想并对 Neck 网络的通道宽度和深度进行了相应的调整。终究 RepBi-PAN 网络结构如下图 2 所示:

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

从表2能够看到,在 YOLOv6-S/L 模型上,仅在 PAN 网络自上而下的传输途径引进 BiC 模块后,对推理速度影响坚持在 4% 的情况下,检测精度别离提高 0.6% 和 0.4% AP。当咱们测验额定地在自底向上的信息流中将惯例联合替换成 BiC 模块时,反而没有取得进一步正向的增益,因而咱们仅在自上而下的途径中应用 BiC 模块。与此一起,咱们还注意到,BiC 模块能够为小方针的检测精度带来 1.8% AP 的提高。

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

在表 3 中,咱们对不同的 SPP 模块对模型精度和速度影响做了试验比照,其间包括经过咱们简化规划的 SPPF、SPPCSPC 和 CSPSPPF 模块。除此之外,咱们还测验了在主干网络 C3、C4 和 C5 的输出特征后别离选用了 SimSPPF 模块以加强特征的聚合表达,在表顶用 SimSPPF * 3表明。从试验成果来看,重复运用 SimSPPF 模块虽然添加了核算量,但并没有带来检测精度的进一步提高。

经简化规划的 SPPCSPC 模块比照 SimSPPF 模块 在 YOLOv6-N/S 模型上别离提高了 1.6% 和 0.3% AP,但对推理速度 FPS 下降约10%。而当咱们将 SimSPPF 模块替换为优化后的 SimCSPSPPF 模块后,在 YOLOv6-N/S/M 模型上别离取得了1.1%/0.4%/0.1% 的精度增益,一起推理速度比照 SimSPPCSPC 模块有较大的提高。因而,为了更好的精度-效率权衡,在 YOLOv6-N/S 上选用 SimCSPSPPF 模块,而在 YOLOv6-M/L 上选用 SimSPPF 模块。

2.2 全新的锚点辅佐练习(Anchor-Aided Training)战略

根据深度学习的方针检测技能从学习范式上首要可分为 Anchor-based 和 Anchor-free 两大类,这两类办法针对不同标准的方针检测上别离存在不同的优势。咱们运用 YOLOv6-N 作为基线,对 Anchor-based 和 Anchor-free 范式的异同点进行了相关的试验和剖析。

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

从表 4 中能够看出,当 YOLOv6-N 别离选用 Anchor-based 和 Anchor-free 练习范式时,模型的整体 mAP 几乎接近,但选用 Anchor-based 的模型在小、中、大方针上的 AP 方针会更高。从以上的试验能够得出结论:相比于 Anchor-free 范式,根据 Anchor-based 的模型存在额定的功能增益。

一起咱们发现,YOLOv6 运用 TAL 进行标签分配时,其模型精度的稳定性与是否选用 ATSS 预热有较大关系。当不运用 ATSS 预热时,对相同参数装备的 YOLOv6-N 进行多次练习,模型精度最高可达35.9% mAP,最低至 35.3% mAP,相同模型会有 0.6% mAP 的差异。但当运用 ATSS 预热时,模型精度最高却只能抵达 35.7% mAP。从试验成果能够剖析得出,ATSS 的预热进程利用了 Anchor-based 的预设信息,进而到达稳定模型练习的意图,但也会在必定程度上限制网络的峰值才能,因而并不是一种最优的挑选。

遭到上述作业的启示,咱们提出了根据锚点辅佐练习(Anchor-Aided Training,AAT)战略。在网络练习进程中,一起交融 Anchor-based 和 Anchor-free 的两种练习范式,并对全阶段网络进行映射及优化,终究完成了Anchor 的统一,充分发挥了结合不同 Anchor 网络的各自优势,然后进一步提高了模型检测精度。详细来说:

  • 一方面,咱们会在网络的分类头和回归头上别离添加 Anchor-based 辅佐分支,在练习阶段,该分支与 Anchor-free 分支别离进行独立的 Loss 核算,之后会对 Loss 进行相加,各自反向传播进行网络的优化。经过 Anchor-based 辅佐分支,为网络练习引进额定的内嵌指导信息,并与 Anchor-free 分支的信息进行整合,然后到达对结合不同 Anchor 网络的全方位交融的意图,进一步挖掘网络自身的潜力,充分发挥其效能。

  • 另一方面,在网络标签匹配的进程中引进了同特征点密集采样的机制。经过扩展每次样本匹配进程中所选取候选框的规模,添加候选框中正样本的数量,而且对同一特征点重复投进采样点,进一步提高在练习进程中候选框的质量。与此一起,在网络的每一层中还会搭配原始的 Anchor-free 分支,进一步提高候选框的多样性。

除此之外,咱们还提出灵敏装备的练习战略,仅在练习进程中引进额定的辅佐分支,在测验进程中不予运用。终究在不添加推理时刻的情况下,提高网络精度,无痛涨点。终究 AAT 战略的示意图如下图 3 所示:

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

选用 AAT 练习战略的融化试验成果如下表 5 所示。咱们在 YOLOv6 的各标准模型上进行了试验,其间 YOLOv6-S 模型选用 AAT 战略后有 0.3% 的精度增益,而在 YOLOv6-M/L 模型上别离带来了0.5% 的精度增益。值得注意的是,YOLOv6-N/S/M 在小方针检测的精度方针得到了明显增强。

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

2.3 无痛涨点的 DLD 解耦定位蒸馏战略

在方针检测的蒸馏使命中,LD 经过引进 DFL 分支,然后到达了在网络中对定位信息蒸馏的意图,使分类和定位信息得以同步回传,弥补了 Logit Mimicking 办法无法运用定位蒸馏信息的不足。但是,DFL 分支的添加,关于小模型速度的影响是很明显的。添加了 DFL 分支后,YOLOv6-N 的速度下降了 16.7%,YOLOv6-S 的速度下降了 5.2%。而在实践的工业应用当中,关于小模型速度的要求往往很高。因而,现在的蒸馏战略并不适合于工业落地。

针对这个问题,咱们提出了根据解耦检测使命和蒸馏使命的 DLD(Decoupled Location Distillation)算法。DLD 算法会在网络每一层的回归头上别离添加了额定的强化回归分支,在练习阶段,该分支相同会参加 IoU 丢失的核算,并将其累加到终究的 Loss 中。

经过添加的额定的强化回归分支,能够对网络添加更多的额定束缚,然后对网络进行更全面详尽的优化。而且,DLD算法在对强化回归分支进行练习时,引进了分支蒸馏学习战略。分支蒸馏学习战略会仅运用 DFL 分支参加网络标签分配的进程,并将标签分配的成果投入到强化回归分支进行引导学习,然后参加强化回归分支的丢失函数核算和反向传播优化。

  • 一方面,DFL 分支的精度更高,在整个练习周期能够起到对强化分支蒸馏的作用,进一步提高强化分支的精度。
  • 另一方面,经过分支蒸馏进行的引导学习,能够进一步将 DFL 分支的作用传递给强化回归分支,为之后的灵敏装备起到衬托作用。

除此之外,DLD 算法相同搭配了灵敏装备的练习战略,在练习进程中选用双回归分支结构,对网络进行更全面详尽的优化,进一步对齐双分支的回归才能。在测验进程中,移除去冗余的 DFL 分支,仅保存强化回归分支,在简化网络的一起坚持网络精度,终究完成了对方针检测算法可无痛涨点的 DLD 蒸馏算法。DLD 的融化试验成果如下表6所示:

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

在表 6 中,咱们在 YOLOv6-S 模型上别离比照了练习双倍轮数和选用 DLD 战略对模型功能的影响,从试验数据能够看出,当练习 600epoch时,YOLOv6-S 仅能到达 44.6% mAP。而选用 DLD 蒸馏战略后,YOLOv6-S 检测精度比运用双倍轮数练习的高 0.5%,终究到达45.1%。由此可得,DLD 蒸馏战略可在不影响推理效率的前提下,提高小模型的检测精度,完成无痛涨点。

3. 总结

本文对 YOLOv6 3.0 版别的技能创新和优化进行了详细解析,期望能协助用户了解相关算法规划的思路以及详细完成。

未来,咱们还会继续完善 YOLOv6 社区生态,一起也欢迎社区同学参加咱们,共同建造一个适合工业界应用的更快更准的方针检测结构。

再次附上 YOLOv6 Github 的传送门:github.com/meituan/YOL… ,感谢您的 Star 保藏。

4. 作者简介

  • 楚怡、奕非、露露等,均来自美团视觉智能部。

阅览更多

| 在美团大众号菜单栏对话框回复【2022年货】、【2021年货】、【2020年货】、【2019年货】、【2018年货】、【2017年货】等要害词,可查看美团技能团队历年技能文章合集。

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

| 本文系美团技能团队出品,著作权归属美团。欢迎出于分享和交流等非商业意图转载或运用本文内容,敬请注明“内容转载自美团技能团队”。本文未经许可,不得进行商业性转载或者运用。任何商用行为,请发送邮件至tech@meituan.com申请授权。