YOLOX

论文: YOLOX: Exceeding YOLO Series in 2021

Github:https://github.com/Megvii-BaseDetection/YOLOX

face++作品,2021

YOLOX_第1张图片

论文提出了YOLOX,其超越了YOLOV1-V5系列,并且取得了 Streaming Perception Challenge 第一名的成绩(速度,精度都看)。YOLOX基于YOLOV3进行改进,采用了 YOLOv3-SPP基础结构。采用 BCE Loss训练cls和obj, IoU Loss训练reg。并且提出了6个改进策略。

  1. 解耦头部预测分支(Decoupled head)
  2. 数据增强(Strong data augmentation)
  3. 无anchor(Anchor-free)
  4. 多个正样本(Multi positives)
  5. 简单的样本匹配方法Simplified OTA(SimOTA)
  6. 无需NMS(End-to-end YOLO) YOLOX_第2张图片

解耦头部预测分支Decoupled head 

YOLOX_第3张图片

论文发现,将分类和回归使用一个分支会影响模型的表达能力。当使用一个预测头部分支的时候,会使得精度降低4.2%,当使用2个预测分支的时候,精度只降低0.8%。因此,论文提出了Decoupled head,先使用1*1卷积,先将p3,p4,p5这3个分支的通道数都降低为256,然后再次基础上,分别使用2个3*3卷积引出2个预测分支。当然这样做会使得速度略微增加,从原来的10.5 ms变化为11.6 ms 

YOLOX_第4张图片 

通过实际训练还会发现,使用Decoupled head可以使得训练收敛加速,同时训练精度更高。

数据增强Strong data augmentation

使用了马赛克(Mosaic)和混合图像(MixUp)的数据增强思路。最早是从 u版本的yolov3(ultralytics-YOLOv3)中提出,后续被应用在了yolov4,yolov5中。

无anchorAnchor-free

基于anchor的检测方法,需要进行anchor的聚类(Anchor Clustering , Grid Sensitive)。而基于anchor free则不需要考虑这些,同时,后处理也比较方便,省去了将大量预测结果从gpu向cpu传递的过程,以及cpu端后续的nms等繁琐操作。

多个正样本Multi positives

单独只使用中心点进行边框的预测,会忽略其他高质量的预测结果。因此使用中心点为中心的3*3区域的点进行正样本的预测,也就是9个点进行正样本的预测。这就是FCOS中使用的中心采样策略(center Sampling)。基于该策略精度提升到了45%,超越了u版的yolov3。

简单的样本匹配方法Simplified OTASimOTA

label assignment策略是目标检测中的一个重要问题。OTA选择的原则主要下面4点。

  1. 梯度敏感(loss/quality aware)

基于网络自身的预测来计算 anchor box 或者 anchor point 与 gt 的匹配关系,充分考虑到了不同结构/复杂度的模型可能会有不同行为,是一种真正的 dynamic 样本匹配。而 loss aware 后续也被发现对于 DeTR 和 DeFCN 这类端到端检测器至关重要。与之相对的,基于 IoU 阈值 /in Grid(YOLOv1)/in Box or Center(FCOS) 都属于依赖人为定义的几何先验做样本匹配,目前来看都属于次优方案。

    2.中心优先(center prior)

考虑到感受野的问题,以及大部分场景下,目标的质心都与目标的几何中心有一定的联系,将正样本限定在目标中心的一定区域内做 loss/quality aware 样本匹配能很好地解决收敛不稳定的问题。

    3.动态anchor匹配策略(dynamic number of positive anchors for each ground-truth)

我们不可能为同一场景下的西瓜和蚂蚁分配同样的正样本数,如果真是那样,那要么蚂蚁有很多低质量的正样本,要么西瓜仅仅只有一两个正样本。Dynamic k 的关键在于如何确定k,有些方法通过其他方式间接实现了动态 k ,比如 ATSS、PAA ,甚至 RetinaNet ,同时,k的估计依然可以是 prediction aware 的,我们具体的做法是首先计算每个目标最接近的10个预测,然后把这个 10 个预测与 gt 的 iou 加起来求得最终的k,很简单有效,对 10 这个数字也不是很敏感,在 5~15 调整几乎没有影响。

    4.全局视野(Global view)

有些 anchor box/point 处于正样本之间的交界处、或者正负样本之间的交界处,这类 anchor box/point 的正负划分,甚至若为正,该是谁的正样本,都应充分考虑全局信息。

论文没有像原始的OTA那样进行动态匹配,寻找最优匹配解,因为这样做相对复杂,同时增加了20~25 %的训练时间消耗。论文提出了简单的动态top-k策略(SimOTA),该方法只取最接近的top-k个预测作为正样本,其余都作为副样本,取得了和OTA同样的效果。

无需NMSEnd-to-end YOLO

在YOLOX上实现端到端,还需要额外增加2个卷积操作,会带来性能的损失,同时对于精度也有一定微小损失。因此,论文将nms-free作为一个备选选项。

实验结果

YOLOX_第5张图片

参考链接

如何评价旷视开源的YOLOX,效果超过YOLOv5? - 知乎

你可能感兴趣的:(物体检测,深度学习)