逾越全系列YOLO、Anchor-free+本领组合,旷视开源更强的YOLOX

2022-11-17 09:35:57 作者:向前跑!迎着冷眼和嘲笑
导读:超越全系列YOLO、Anchor-free+技巧组合,旷视开源更强的YOLOX,机器之心报道编辑:杜伟、陈萍在本文中,来自旷视的研究者提出高性能检测器 YOLOX,并对 YOLO 系列进行了经验性改进,将 Anchor-free、数...

呆板之心报道

编辑:杜伟、陈萍

在本文中,来自旷视的研究者提出高性能检测器 YOLOX,并对 YOLO 系列举行了履历性革新,将 Anchor-free、数据加强等目的检测范畴先辈技能引入 YOLO。得到了逾越 YOLOv3、YOLOv4 和 YOLOv5 的 AP,并且取得了极具竞争力的推理速率。

随着目的检测技能的进展,YOLO 系列始终寻找可以及时应用的最佳速率和正确率衡量。学界人士不停提取其时开始进的检测技能(如 YOLOv2 的 anchor、YOLOv3 的残差网络),并对这些检测技能举行优化以实现最佳性能。现在,YOLOv5 在速率和正确率上有最好的衡量,在 COCO 数据集上以 13.7ms 的速率得到 48.2% AP。

然而,已往两年时间里,目的检测范畴的重要希望会合在无锚点(anchor-free)检测器、先辈的标签安排计谋以及端到真个(NMS-free)检测器。但是,这些技能还没有集成到 YOLO 系列模子中,YOLOv4 、 YOLOv5 仍旧照旧基于 anchor 的检测器,利用手工安排计谋举行练习。

克日,旷视的研究者将解耦头、数据加强、无锚点以及标签分类等目的检测范畴的优异希望与 YOLO 举行了奇妙地集成组合,提出了 YOLOX,不但实现了逾越 YOLOv3、YOLOv4 和 YOLOv5 的 AP,并且取得了极具竞争力的推理速率。

  • 论文地点:http://arxiv.org/abs/2107.08430
  • 项目地点:http://github.com/Megvii-BaseDetection/YOLOX

思量到 YOLOv4、YOLOv5 在基于 anchor pipeline 中大概会显现一些过拟合,研究者选择 YOLOv3 作为出发点(将 YOLOv3-SPP 设置为默认的 YOLOv3)。究竟上,因为盘算资源有限,以及在现实应用中软件支持不敷,YOLOv3 仍旧是业界应用最遍及的检测器之一。

如下图 1 所示,通过将目的检测范畴优异希望与 YOLO 举行组合,研究者在图像辨别率为 640 × 640 的 COCO 数据集大将 YOLOv3 提拔到 47.3% AP(YOLOX-DarkNet53),大大凌驾了现在 YOLOv3(44.3% AP,ultralytics version2)的最佳实践。

别的,当将网络切换到先辈的 YOLOv5 架构,该架构采纳先辈的 CSPNet 主干以及一个分外的 PAN 头,YOLOX-L 在 COCO 数据集、图像辨别率为 640 × 640 得到 50.0% AP,比 YOLOv5-L 超过跨过 1.8% AP。研究者还在小尺寸上测试所设计的计谋,YOLOX-Tiny 和 YOLOX-Nano(仅 0.91M 参数和 1.08G FLOPs)分别比对应的 YOLOv4-Tiny 和 NanoDet3 超过跨过 10% AP 和 1.8% AP。

在 CVPR 2021 WAD 挑衅赛的 Streaming Perception Challenge 赛道上,旷视提出的基于 YOLOX 模子(YOLOX-L)的 2D 及时目的检测体系在 Argoverse-HD 数据集上实现了 41.1 的 streaming AP。别的,研究者在推理时用到了 TensorRT 优化器,使得模子在高辨别输入(即 1440×2304)时实现了 30 fps 的推理速率。

图源:http://www.yaotansuo.com/allimgs/39tansuo/20221117/4086.png style="text-align: left;" data-track="26">YOLOX-DarkNet53

研究者选择将 YOLOv3+Darknet53 作为基线模子,并基于它细致先容了 YOLOX 的整个体系设计。

实现细节

从基线模子到终极模子,研究者的练习设置根本连结同等。他们在 COCO train2017 数据集上练习了 300 个 epoch 的模子并举行 5 个 epoch 的 warmup,利用随机梯度降落(SGD)来练习,进修率为 lr×BatchSize/64 ,初始进修率为 0.01,并利用了余弦(cosine)进修机制。权重衰减为 0.0005,SGD momentum 为 0.9。批巨细默以为 128(8 个 GPU),其他批巨细利用单个 GPU 练习也运行精良。输入巨细以 32 步长从 448 匀称过渡到 832。FPS 和耽误在单个 Tesla V100 上利用 FP16-precision 和 batch=1 举行丈量。

YOLOv3 基线模子

基线采纳了 DarkNet53 主干和 SPP 层的架构(在一些论文中被称作 YOLOv3-SPP)。与初始实现相比,研究者略微转变了一些练习计谋,添加了 EMA 权重更新、余弦进修机制、IoU 丧失和 IoU 感知分支。他们利用 BCE 丧失练习 cls 和 obj 分支,利用 IoU 丧失练习 reg 分支。这些通用的练习本领对付 YOLOX 的要害革新呈正交,是以将它们应用于基线上。别的,研究者还添加了 RandomHorizontalFlip、ColorJitter 和多标准数据加强,移除了 RandomResizedCrop 计谋。

通过这些加强本领,YOLOv3 基线模子在 COCO val 数据集上实现了 38.5% 的 AP,详细如下表 2 所示:

解耦头

在目的检测中,分类与回来使命之间的辩论是一个众所周知的困难,是以用于分类和定位的解耦头被遍及用于大多数单阶段和双阶段检测器中。但是,随着 YOLO 系列模子主干和特性金字塔(如 FPN 和 PAN)连续进化,它们的检测头依旧处于耦合状态,YOLOv3 头与本文提出的解耦头之间的架构差别如下图 2 所示:

下图 3 为利用 YOLOv3 头息争耦头时的检测器练习曲线:

从下表 1 可以看到,利用耦合头时端到端性能低落了 4.2% 的 AP,而利用解耦头时仅仅低落了 0.8% AP。是以,研究者将 YOLO 检测头更换为一个轻量(lite)解耦头,由此极大地提拔了收敛速率。

详细地,这个轻量解耦头包罗一个 1 × 1 卷积层以淘汰通道维度,之后紧接着两个 3 × 3 卷积层的并行分支,详细架构拜见上图 2。

研究者给出了在单个 Tesla V100 上,利用 batch=1 时的推理时间。如上表 2 所示,轻量解耦头可以带来 1.1 ms 的推理延时。

强(strong)数据加强计谋

研究者在加强计谋中参加了 Mosaic 和 MixUp 以提拔 YOLOX 的性能,他们在模子中采纳 MixUp 和 Mosaic 实现,并在最终 15 个 epoch 的练习中封闭。如上表 2 所示,基线模子实现了 42.0% 的 AP。在利用强数据加强计谋之后,研究者发觉 ImageNet 预练习不再具有更多增益,是以全部模子都重新开始练习。

无锚点(anchor-free)

YOLOv4 和 YOLOv5 都遵照 YOLOv3 的基于锚的初始 pipeline,然而锚机制存在很多已知的题目。已往两年,无锚检测器进展敏捷。相干研究评释,无锚检测器的性能可以媲美基于锚的检测器。无锚点机制明显淘汰了实现精良性能所需的开导式调解和本领(如 Anchor Clustering、Grid Sensitive)的设计参数数目,从而使得检测器变得更简洁,尤其是在练习息争码阶段。

将 YOLO 变化为无锚点模式也非常简洁。研究者将每个位置的猜测从 3 降至 1,并使它们直接猜测四个值,即两个 offset 以及猜测框的高宽值。他们将每个目的的中间位置指令为正样本,并预界说一个标准范畴,以确定每个目的的 FPN 程度。这种革新淘汰了检测器的参数目和 GFLOP,并使其速率更快,与此同时得到了更好的性能,即 42.9% AP(详细如上表 2 所示)。

多个正样本

为了确保与 YOLOv3 的安排规章同等,上述无锚点版本仅为每个目的安排一个正样本(中间位置),同时纰漏了其他高质量的猜测。研究者将中间 3×3 地区安排为正样本,并定名为「中间采样」。如上表 2 示,检测器的性能提拔至 45.0% AP,已经逾越了当前 SOTA ultralytics/yolov3 版本的 44.3%AP。

SimOTA

先辈标签安排(Advanced label assignment )是比年来目的检测范畴中另一个紧张希望。该研究将其作为候选标签安排计谋。

但是在实践中,该研究发觉通过 Sinkhorn-Knopp 算法办理 OT 题目会带来 25% 分外练习时间,这对付 300 epoch 来说价钱非常高。是以,该研究将其简化为动态 top-k 计谋,定名为 SimOTA,以得到类似解。

SimOTA 不但淘汰了练习时间,同时幸免了 SinkhornKnopp 算法中分外超参数题目。如表 2 所示,SimOTA 将检测器的 AP 从 45.0% 进步到 47.3%,比 SOTA ultralytics-YOLOv3 超过跨过 3.0%。

端到真个 YOLO

该研究参考 PSS 添加了两个分外的卷下层、一对一的标签安排、stop gradient。这些使得检测器可以或许以端到规矩式实行,但会略微低落性能和推理速率,如表 2 所示。该研究将其作为一个可选模块,但在终极的模子中并没有涉及。

在其他主干网络的试验效果

除了 DarkNet53,该研究还在其他差别巨细的主干上测试了 YOLOX,效果评释 YOLOX 都实现了性能提拔。

革新 YOLOv5 中的 CSPNet

为了公正的举行比力,该研究采纳 YOLOv5 主干,包罗革新的 CSPNet、SiLU 激活函数、PAN 头。别的,该研究还遵照扩展规章来天生 YOLOXS、YOLOX-M、 YOLOX-L、YOLOX-X 模子。与 YOLOv5 在表 3 的效果相比,该模子在仅需非常少的分外推理耗时,取得了 3.0%~1.0% 的性能提拔。

Tiny 和 Nano 检测器

该研究进一步将模子缩小为 YOLOX-Tiny,并与 YOLOv4-Tiny 举行比力。对付移动端设置装备摆设,研究者采纳深度卷积构建 YOLOX-Nano 模子,模子仅有 0.91M 参数目以及 1.08G FLOP。如表 4 所示,YOLOX 在更小的模子尺寸下体现精良。

模子巨细与数据加强

在试验中,全部模子都连结了险些雷同的进修进度和优化参数。然而,研究发觉得当的数据加强计谋因模子巨细而异。如表 5 所示,YOLOX-L 采纳 MixUp 能进步 0.9%AP,对付诸如 YOLOX-Nano 这种小型模子来说,最好是弱化加强。

详细来说,当练习诸如 YOLOX-S、 YOLOX-Tiny、YOLOX-Nano 这种小模子时,必要去除混淆加强并弱化 mosaic(将扩展范畴从 [0.1, 2.0] 降到 [0.5, 1.5])。这种革新将 YOLOX-Nano 的 AP 从 24.0% 进步到 25.3%。

与 SOTA 效果比拟

下表 6 为 YOLOX 与 SOTA 检测器的比拟效果。在 COCO 2017 test-dev 数据集上举行了差别物体检测器的速率和正确率比力。研究者选择在 300 epoch 上练习全部模子并举行了公正比力。由效果可得,与 YOLOv3、YOLOv4、YOLOv5 系列举行比力,该研究所提出的 YOLOX 取得了最佳性能,得到 51.2%AP,高于其他模子,同时具有极具竞争力的推理速率。



精彩图集