YOLOX论文阅读
Baseline
Baseline:DarkNet53 + SPP Layer 同时加入了一些训练策略,EMA权重更新,cosine学习率机制, IoU loss和IOU-aware分支,在训练cls和obj分支时使用BCE Loss,在reg分支使用IoU Loss
Decoupled head
分析实验得到YOLO3-YOLO5中使用的coupled head会影响性能。于是使用Decoupled Head。 首先使用Decoupled Head能够加快收敛速度 其次,Decoupled Head对端到端的YOLO是必须的 Decoupled head结构,包含一个1x1的卷积层来减少通道维度,其后在两个平行的分支再各自连接两个3x3的卷积层。
数据增强策略
强大的数据增强策略:Mosaic 和 Mixup
Anchor-free
Anchor-free : YOLOv4和YOLOv5都遵循YOLO3的Anchor-base策略。下面指出anchor机制的几个问题: 1.为了实现最佳的检测性能,需在训练前进行选择最佳的anchors,但其实这样选择的anchor具有领域的特殊性和更少的普遍性。 2.anchor机制大大增加了detection head和图片预测数量的复杂度。 Anchor-free可以减少参数量,能够加快模型的速度。将YOLO转成anchor-free也很简单。将每个位置的预测从3个减到1个。
Multi-positive
Multi positives:使用anchor机制后,对每个目标仅仅选择一个positive样本。然而,优化那些高质量的预测,能够带来有用的元素,能够减轻在训练时positives和negatives样本之间的不平衡性。所以,YOLOX简单地将中心3x3的区域分为positive样本,这也叫做FCOS中的中心采样。
SimOTA
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
end-to-end YOLO:增加额外两个卷积层。一对一的label分配策略和随机梯度。这些能够使检测器表现为一个端到端的行为,但是会轻微降低性能和推理速度。因此将其作为优化模块,没有放进最后的模型之中。
|