YOLOX论文阅读
Baseline:DarkNet53 + SPP Layer 同时加入了一些训练策略,EMA权重更新,cosine学习率机制, IoU loss和IOU-aware分支,在训练cls和obj分支时使用BCE Loss,在reg分支使用IoU Loss
强大的数据增强策略:Mosaic 和 Mixup
Anchor-free : YOLOv4和YOLOv5都遵循YOLO3的Anchor-base策略。下面指出anchor机制的几个问题:
1.为了实现最佳的检测性能,需在训练前进行选择最佳的anchors,但其实这样选择的anchor具有领域的特殊性和更少的普遍性。
2.anchor机制大大增加了detection head和图片预测数量的复杂度。
Anchor-free可以减少参数量,能够加快模型的速度。将YOLO转成anchor-free也很简单。将每个位置的预测从3个减到1个。
Multi positives:使用anchor机制后,对每个目标仅仅选择一个positive样本。然而,优化那些高质量的预测,能够带来有用的元素,能够减轻在训练时positives和negatives样本之间的不平衡性。所以,YOLOX简单地将中心3x3的区域分为positive样本,这也叫做FCOS中的中心采样。
SimOTA:什么是OTA?
OTA是什么?
OTA来自论文《Optimal transport assignment for object detection》,OTA遵循4个rule:
(1)loss/quality aware
(2)center prior
(3)对每个真实框都有动态数目的positive anchor(简单地像top-k)
(4)global view
SimOTA是简化后的OTA——动态top-k策略。SimOTA首先计算成对的匹配度,由每个预测与真实对之间的cost或者quality,在SimOTA的cost等于分类的loss综合回归的loss。
end-to-end YOLO:增加额外两个卷积层。一对一的label分配策略和随机梯度。这些能够使检测器表现为一个端到端的行为,但是会轻微降低性能和推理速度。因此将其作为优化模块,没有放进最后的模型之中。