YOLOX: Exceeding YOLO Series in 2021 论文阅读笔记

YOLOX: Exceeding YOLO Series in 2021 论文阅读笔记

在这里插入图片描述这是一篇由旷视科技提出的2021超越YOLO系列的论文:YOLOX

出处:CVPR 2021

在这里插入图片描述

摘要

文章介绍了 YOLO 系列的一些经验改进,形成了一个新的高性能探测器——YOLOX:

  1. anchor-free(无anchor)
  2. decoupled head(解耦头)
  3. label assignment strategy SimOTA(标签分配策略,基于作者的另一篇论文:Zheng Ge, Songtao Liu, Zeming Li, Osamu Yoshie, and Jian Sun. Ota: Optimal transport assignment for object detection.In CVPR, 2021.)

速度、参数量和检测效果:

  1. YOLOX-Tiny和YOLOX-Nano(只有0.91M参数量和1.08G FLOPs)比对应的YOLOv4-Tiny和NanoDet3分别高出10% AP和1.8% AP;
  2. 将工业界常用的YOLOV3在COCO上的AP提升至 47.3%,表现优于将当前最佳,提高了 3.0% AP;
  3. YOLOX-L和YOLOv4-CSP、YOLOv5-L有差不多参数量的情况下,YOLOX-L在COCO上取得50.0%AP(比YOLOv5-L高出1.8%的AP),且YOLOX-L在单张Tesla V100上能达到68.9FPS。

一、介绍

随着目标检测的发展,YOLO系列方法一直在实时性应用中追求速度和准确性的平衡。例如将anchors应用到YOLOv2中,将Residual Net 应用到YOLOv3中,现在YOLOv5取得了最好的平衡性能,在COCO上以13.7 ms 达到了48.2% AP 。

近两年在目标检测领域的发展主要集中在:

  1. anchor-free detectors(如18年的Cornernet,19年的Fcos和Objects as points)
  2. label assignment strategies
  3. end-to-end(NMS-free) detectors

上述的这些方法并没有整合到YOLO家族中,较新的YOLOV4和V5仍然是基于anchor的检测器和手工分配的训练规则。 所以,作者有了这篇文章的想法,并以YOLOV3为baseline开展改进。

二、YOLOX

在这里插入图片描述

2.1 Implementation details

Epoch:300 epochs with 5 epochs warmup
数据集:COCO train2017
weight decay :0.0005
SGD momentum :0.9.SGD
learning rate = lr×BatchSize/64 ,initial lr =0.01,cosine lr schedule(余弦退火调整学习率

2.2 YOLOv3 baseline

DarkNet53 backbone + SPP layer
EMA weights updating (指数移动平均,对模型的参数做平均,以求提高测试指标并增加模型鲁棒性)
cosine lr schedule (余弦退火调整学习率)
IoU loss and IoU-aware branch
cls和obj使用BCE loss,位置回归使用IoU loss
数据增强:mosaic、RandomHorizontalFlip、ColorJitter和多尺度。(作者发现RandomResizedCrop和mosaic有冲突,所以丢弃了RandomResizedCrop)

2.3 Decoupled head

在这里插入图片描述

  1. 耦合检测头会损失性能
    在这里插入图片描述
  2. 解耦头对于 YOLO 的端到端版本至关重要
    在这里插入图片描述

2.4 Strong data augmentation

数据增强方面作者采用了:

  1. Mosaic
    (由ultralytics-YOLOv3提出https://github.com/ultralytics/yolov3
  2. MixUp
    (出自:Bag of freebies for training object detection neural networks,这篇论文也很不错)

并在最后15个epoch结束这种增强,达到了42%的AP。同时,作者发现在使用了强数据增强后,使用ImageNet的预训练并没有更多的好处,所以训练所有的模型都是从头开始。

2.5 Anchor-free

YOLOV3~V5都是基于Anchor的,但是anchor机制存在一些显而易见的问题:

  1. 为了达到最优的检测性能,需要在训练前进行聚类分析,确定一组最优的锚点。那些聚集的锚点是特定领域的,不具一般性;
  2. anchor机制增加了检测头的复杂性,以及每幅图像的预测数量。

近年来,基于Anchor-free的检测器性能已经可以和anchor-based的检测器性能相当。将YOLO切换为Anchor-free的方式非常简单,将每个位置的预测从3个减少到1个,让它们直接预测4个值,即网格左上角的两个偏移量,以及预测框的高度和宽度,性能提升了0.9AP%。

2.6 Multi positives

为了与YOLOv3的赋值规则一致,上述的Anchor-free版本对每个对象只选择一个正样本(中心位置),同时忽略其他高质量的预测。然而,优化这些高质量的预测也可能带来有益的梯度,这可能会缓解训练中正/负样本的极端不平衡。文章简单地将中心点3×3区域指定为正样本,在FCOS中也称为“中心抽样”。该检测器的AP性能提高到45.0%,已经超过了目前的ultralytic - yolov3最佳(44.3% AP)。

2.7 SimOTA

高级标签分配是近年来目标检测的又一重要进展。基于作者自己的OTA研究,总结出了关于高级标签分配的四个关键:

  1. loss/quality aware
  2. center prior
  3. 每个ground-truth的positive anchors的动态数量
  4. 全局视图

OTA满足上述四个规则,因此我们选择它作为候选标签分配策略。具体来说,OTA从全局角度分析标签分配,并将分配过程表述为最优运输(OT)问题,在当前分配策略中达到了SOTA。但是在实践中发现,通过Sinkhorn-Knopp算法解决OT问题会带来25%的额外训练时间,对于训练300个epoch来说是相当昂贵的。因此将其简化为动态top-k策略,命名为SimOTA,以得到近似解。

什么是SimOTA?
SimOTA首先计算成对匹配度,表示为每个 prediction-gt对的成本或质量。例如,在SimOTA中,gt和prediction之间的成本计算如下:
在这里插入图片描述
其中λ为平衡系数,在gt和prediction之间存在分类损失和回归损失。对于gt,我们选择在固定中心区域内代价最小的top k预测作为正样本。最后,将这些正预测对应的栅格赋为正,其余栅格赋为负。

SimOTA算法不仅减少了训练时间,而且避免了SinkhornKnopp算法中额外的求解器超参数。同时,SimOTA将检测器AP从45.0%提高到47.3%,比SOTA ultralytic - yolov3提高了3.0% AP,显示了高级分配策略的威力。

2.8 End-to-end YOLO

添加两个额外的卷积层,一对一标签分配和停止梯度,这使得检测器能够以端到端方式执行,但略微降低了性能和推断速度。因此,将它作为一个可选模块,不涉及最终模型。

三、other backbone

3.1 Modified CSPNet in YOLOv5

在这里插入图片描述

3.2 Tiny and Nano detectors

在这里插入图片描述

3.3 data augmentation

对于大的模型,发现更强的数据增强更有帮助。受Copypaste的启发,在混合它们之前通过随机采样比例因子对两个图像进行抖动。为了理解Mixup与scale jittering的效果,我们将其与YOLOX-L上的Copypaste进行比较。注意,Copypaste需要额外的实例掩码注释,而MixUp则不需要。但如表5所示,这两种方法取得了相当的性能,这表明当没有实例掩码注释可用时,具有规模抖动的MixUp是copypastequalified的替代品。

在这里插入图片描述

四、Comparison with the SOTA

在这里插入图片描述

五、总结

整篇文章介绍了YOLO系列一些有经验性的更新,形成了一个高性能的检测器YOLOX,并配备了一些最新的先进检测技术,即解耦头无锚高级标签分配策略,YOLOX在速度和精度之间实现了比其他所有模型尺寸更好的权衡。

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值