1. 磐创AI首页
  2. Medium

[CVPR2021/PaperSummary]YOLOX:2021年超越YOLO系列

请注意,这篇文章是给我未来的自己回顾和回顾这篇论文上的材料,而不是从头再看一遍。…。

在我们拥有的所有不同版本的Yolo中,从我的角度来看,在Yolov3之后,YoloX在所有方面都有最大的改进。随着我们意识到Yolo的流行,它立即成为对象检测的流行工具,并被部署到实时应用中,人们开始创建不同版本的Yolo,在准确性和推理时间方面有了如此多的改进。让我们来看看这个当前版本的Yolo给我们提供了什么。

在本文中,作者通过无锚定来提高检测器的性能,并实现了解耦头部和引导标签分配策略(即SIMOTA)等先进技术。作者还减少了计算参数的数量,在标准COCO数据集上得到了改进的FPS,提高了精度。随着当前的趋势,YoloX的不同系列也相继发布,如YoloX-L,YoloX-M,YoloX-S,YoloX-X,YoloX-Nano,YoloX-Tiny,可根据需要使用。

1.Introduction

对于实时目标检测应用,总是在最佳速度和精度之间进行权衡。Yolov5保持了最好的折衷性能,在COCO上的AP为48.2%,速度为13.7ms,但随着研究人员的最新进展,重点是开发下面提到的对象检测体系结构。

A.免锚

b.标签分配策略

C.端到端网管空闲检测器

由于Yolov4[1]和Yolov5[11]是过度优化或依赖于基于锚点的方法,因此作者在Yolov3-SPP架构上实现了这些先进的方法,通过这种实现,他们能够参考Yolov3在准确性和计时方面都有所提高。他们还在Yolov3-Tiny、Yolov3-Nano和S/M/L版本上实现了这些方法,同时还支持ONX、TensorRT、NCNN和OpenVINO。

作者的团队使用单一的YOLOX-L车型获得了流媒体感知挑战赛(CVPR 2021年自动驾驶研讨会)的第一名。

2.建议的架构

2.1.YOLOX-DarkNet53

作者选择了Yolov3[25]和Darknet-53作为基线架构。在接下来的几节中,我们将看到基本体系结构中的逐步更改。

a.实现细节:训练设置与Yolov3类似,作者已经训练了300个周期的模型,5个周期预热,使用学习速率为LR×Batchsize/64ie线性缩放[8]的SGD,初始LR=0.01,余弦LR调度,权重衰减=0.0005,动量=0.9,批量为128时。

在Tesla V100机上,输入图像大小为448~832,步幅为32,F16推论。

b.YOLOv3基线:对于增加了带SPP层的Darknet-53基干,作者在原有实现的基础上做了一些细微的改动,要点如下

通过这些增强功能,我们的基准在Coco Val上实现了38.5%的AP,如选项卡中所示。1.

C.解耦探头:作者的两个分析实验表明,耦合探头可能会影响性能。

1)。将YOLO的机头换成解耦的机头,极大地提高了收敛速度,如图2所示。

2)。解耦的头部对于YOLO的端到端版本至关重要。制表符。2,显示耦合磁头的端到端特性降低了4.2%AP,而解耦磁头的降幅减小到0.8%AP。

作者将YOLO探测头换成了图3所示的轻型解耦探头。具体来说,它包含一个1×1的卷积层以减小通道尺寸,其后是两个平行的分支,分别具有两个3×3的卷积层。我们在Tab中报告V100上Batch=1的推理时间。1并且轻便去耦磁头带来额外的1.1毫秒(11.6毫秒vs.10.5毫秒)。

D.强化数据增强:作者将Mosaic和MixUp加入到我们的增强策略中,以提升YOLOX的性能。

马赛克是由Ultralytics-YOLOv3和MIXUP[12]提出的一种有效的增强策略,最初设计用于图像分类任务,后来在BoF[8]中进行了修改,用于目标检测训练。

模型训练中的混合[12]和马赛克实现在最后15个时代被应用,在Tab中获得了42.0%的AP。而且所有的培训都是从头开始的。

E.无锚定:锚定机制有许多已知的问题,将数据从GPU移动到边缘设备上的CPU会导致延迟的主要瓶颈。

首先,为了获得最佳的检测性能,需要在训练前进行特定领域的聚类分析,以确定一组最优锚点。

其次,锚定机制增加了检测头的复杂度,增加了每幅图像的预测次数。

无锚定机制显著减少了需要启发式调整的设计参数的数量和涉及的许多技巧(例如,锚定群集、网格敏感)。为了获得良好的性能,使得检测器,特别是其训练和解码阶段变得相当简单[10]。

将无锚方式应用于YOLO非常简单,

1)只需将每个位置的预测从3减少到1,并使它们直接预测四个值,即网格左上角的两个偏移量,以及预测框的高度和宽度

2)将每个对象的中心位置作为正样本,并预先定义一个标度范围,如[10]中所做的那样,为每个对象指定FPN水平,这大大降低了计算成本,提高了精度。

f.多个正值:作者将中心3×3区域指定为正值,在FCOS[10]中也称为“中心抽样”。与Tab相比,探测器的性能提高到45.0%AP。2,已经超过了目前的最佳实践-YOLOv3(44.3%AP2)。

G.SimOTA:作者对OTA[4]进行了研究,并总结出四点对高级标签分配的关键见解:1)。损失/质量意识,2)。居中优先,3)。每个地面事实的正锚定的动态数目4(简写为动态top-k),4)。全局视图。

OTA满足上述所有四个规则,因此被选为候选标签分配策略,并且考虑到全局的角度,将分配过程制定为最优运输(OT)

实践中发现,用Sinkhorn-Knopp算法求解OT问题会带来25%的额外训练时间,这对于训练300个历元来说是相当昂贵的,从而将其简化为动态TOP-K策略SIMOTA来获得近似解。

SIMOTA首先计算成对匹配度,该匹配度由每个预测-GT对的成本[4,5,12,2]或质量表示。例如,在Simota中,GT gi和预测pj之间的成本计算如下:

其中λ是平衡系数。Lcls ij和Lreg ij是GTgi与预测Pj之间的分类损失和回归损失。然后,对于GTgi,我们选择固定中心区域内代价最小的前k个预测作为其正样本。

SIMOTA算法不仅减少了训练时间,而且避免了SinkhornKnopp算法中额外的求解器超参数。如选项卡中所示。1,Simota将检测器从45.0%AP提高到47.3%AP,比SOTAUltralytics-YOLOv3提高了3.0%AP,显示了先进分配策略的强大功能。

h.端到端YOLO:考虑到论文[3]对于给定的体系结构,作者增加了两个额外的转换层,一对一的标签分配和停止梯度,这使得检测器能够执行端到端的方式,但略有降低性能和推理速度,如表2所示。1.

2.2.其他骨干

除了Darknet-53之外,作者还测试了YoloX性能最佳的不同主干和不同大小。

a.YOLOv5中修改的CSPNet:为了进行比较,作者获得了YOLOv5的[11]主干,包括修改的CSPNet[6]、SI鲁活化和PAN[7]头部,并将其缩放规则应用于不同系列,比较结果如表3所示。

B.Tiny和Nano探测器:对于移动设备,作者采用深度卷积的方法构建了YOLOX-Nano模型,模型的参数只有0.91M,FLOP为1.08G。

YoloX-Tiny与Yolov4-Tiny[1]的比较结果如下表4所示。

c.模型大小和数据扩充:虽然作者试图保持训练参数不变,但对扩充参数的微小变化导致了表5所示的改进结果。

通过对YOLOX-L应用混合可以使AP提高0.9%,对于小模型,最好是在训练小模型(即YOLOX-S、YOLOX-TINY和YOLOX-Nano)时,通过去除混合增强和减弱马赛克(将比例范围从[0.1,2.0]减小到[0.5,1.5])来弱化增强。这样的改进将YOLOX-Nano的AP从24.0%提高到25.3%。

更大的模型需要更强的增强方法,如MIXUP[12],Copypaste[13]方法用于比较MIXUP[12]和比例抖动的能力,如Tab所示。5、这两种方法的性能相当,表明在没有实例遮罩注释的情况下,混合比例抖动是Copypaste的一种合格的替代方法。

3.与SOTA的比较

制表符。6显示了SOTA与图1的对照表,绘制了略有控制的速度/精度曲线,观察到了一些型号尺寸较大的高性能YOLO系列,如Scale-YOLOv4[5]和YOLOv5-P6[11]。基于电流互感器的检测器[9]将精度SOTA提升到∼60AP。

4.结论

在YOLOv3体系结构上实现了该算法,YOLOv3由于其广泛的兼容性和新的体系结构,仍然是工业上使用最广泛的检测器之一,YOLOX在所有模型尺寸上都比其他同类检测器在速度和精度之间取得了更好的折衷,作者使用了一些最新的改进技术,即解耦头部、无锚点和先进的标签分配策略,并在YOLOv3架构上实现了该检测器的实现,该架构由于其广泛的兼容性和新的架构,仍然是工业上使用最广泛的检测器之一。

作者的结论

专业人士

  • 先进技术的实施提高了性能。
  • 精确度和性能之间的最佳折衷,可用于实时应用。
  • 架构实现在所有系列的模型中都是相似的,即对于大型模型和较小模型都是如此。

缺点

  • 基于注意力的方法的推广将会更好地提高性能。
  • 需要在小对象检测数据集和较小对象上有良好的准确性。
  • 在夜景和对象的更多遮挡场景中失败。

参考文献

[1]阿列克谢·博奇科夫斯基,简姚望,廖宏源。Yolov4:最佳的目标检测速度和精度。arxiv预印本arxiv:2004.10934,2020年。1、2、3、6

[2]郑歌,刘松涛,李泽明,Osamu Yoshie,孙健。OTA:目标检测的最佳传输分配。在CVPR,2021年。1、4

[3]周强、余朝晖、沈春华、王志斌、郝丽。通过消除启发式NM使目标检测变得更简单。arxiv预印本arxiv:2101.11782,2021年。1、4

[4]王剑锋,林崧,李泽明,孙宏斌,孙健,郑南宁。采用全卷积网络的端到端目标检测。在CVPR,2020

[5]简姚望、阿列克谢·博奇科夫斯基、廖宏源。scale-yolov4:跨级局部网络伸缩。arxiv预印本arxiv:2011.08036,2020年。1、5、6

[6]姚望、廖宏源、吴月华、杨琛、谢俊伟、叶一豪。Cspnet:一种新的骨干网,可以增强cnn的学习能力。在CVPR研讨会上,2020。2,5

[7]以树柳、吕齐、秦海芳、施建平、佳雅佳等路径聚合网络为例进行分割。在CVPR,2018年。2,5

[8]张志、同和、张航、张中原、谢俊元、木力。训练目标检测神经网络的免费赠品袋。arxiv预印本arxiv:1902.04103,2019年

[9]刘泽、林语彤、岳操、韩虎、魏以轩、郑章、林书豪、郭柏宁。旋转变压器:使用移位窗口的分层视觉转换器。arxiv预印本arxiv:2103.14030,2021年

[10]智田,沈春华,郝晨,童赫。FCOS:完全卷积一级目标检测。在ICCV,2019年。1、2、3、4

[11]Glenn Jocher等人。yolov5.https://github.com/ultralytics/yolov5,2021年。1、2、3、5、6https://github.com/

[12]张洪义,西塞·穆斯塔法,N.Dauphin Yann,和David Lopez-Paz。混为一谈:超越经验风险最小化。ICLR,2018年。3个

[13]Golnaz Ghiasi,尹翠,Aravind Srinivas,芮倩,Tsungyi Lin,Ekin D Cubuk,Quoc V Le和Barret Zoph。简单复制-粘贴是一种强大的数据增强方法,用于实例分割。在CVPR,2021年

GitHub链接:https://github.com/Megvii-BaseDetection/YOLOXhttps://github.com/Megvii-BaseDetection/YOLOX

如果发现任何错误,请发送邮件给我:abhigoku10@gmail.com…*\(^o^)/*

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/08/10/cvpr2021-papersummaryyolox%ef%bc%9a2021%e5%b9%b4%e8%b6%85%e8%b6%8ayolo%e7%b3%bb%e5%88%97-2/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息