摘要
YOLOX把YOLO 系列的检测头换成了anchor free的方式,并且采取了一些优化策略:样本分配策略:simOTA,decoupled head(解耦头)的思想。
1.介绍
YOLO家族一直以来都是把最流行的技术加入,并进行优化,追求精度和速度的最佳平衡(比如YOLOv2中引入的Anchor,YOLOV3中引入的残差块,YOLOv4中的Mosich数据增强)最近出的YOLOv5,性能达到了最高,但是近两年大热的Anchor free、先进的标签分配策略、端到端检测(NMS-free)没有被考虑进去,因此YOLOX诞生了。
由于考虑到YOLOv4、v5基于Anchor base可能有限过度优化,因此YOLOX基于YOLOv3-SPP版本进行改进。加入上述策略之后,我们boost the YOLOv3 to 47.3%;再加入YOLOV5里面的CSP结构和PAN结构,YOLOX-L achieves 50.0%。
2. YOLOX
2.1 YOLOX-DarkNet53
采用Darknet53作为BackBonend an SPP layer,具体训练设置如下:


在YOLOV3的backbone上基础上进行了如下训练策略改进:
- 添加了EMA权重更新
- 余弦学习率衰减策略
- ,IoU损失和IoU感知分支。 我们使用 BCE Loss 来训练 cls 和 obj 分支,使用 IoU Loss 来训练 reg 分支。这些一般的训练技巧与YOLOX的关键改进是正交的,因此我们把它们放在基线上。
- 只进行RandomHorizontalFlip,ColorJitter(颜色抖动)和多尺度的数据增强。
并放弃了RandomResizeCrop策略,因为我们发现RandomResizeCrop与采用的的Mosich增强有点重叠。
通过这些增强功能,我们的基线在COCO val上实现了38.5%的AP,如下图所示

2.2 Decoupled head
我们的两个分析实验表明,耦合检测头可能会损害性能。
1)用解耦的头代替YOLO的头可以大大提高收敛速度。
2)解耦头对于YOLO的端到端版本至关重要(将在下面描述)。从下图可以看出,对于耦合磁头,端到端属性降低了 4.2% 的 AP,而对于解耦磁头,端到端属性的 AP 降低到 0.8%。因此,我们将YOLO检测头替换为精简版解耦头。
具体而言,它包含一个1×1个Conv层来减小每个FPN对应的输出通道尺寸到256,然后是两个平行分支,分别具有两个3×3个Conv层。



2.3 Strong data augmentation
增加Mosai

YOLOX是YOLO系列的最新改进版,引入了无锚点检测、解耦检测头、强大的数据增强、SimOTA标签分配策略等先进技术。通过对YOLOv3的优化,YOLOX在COCO数据集上达到47.3%的AP,并且通过调整训练策略和结构,YOLOX-L甚至达到了50.0%的AP。此外,YOLOX还提供了适用于移动设备的小型模型YOLOX-Nano,保持良好性能的同时降低了计算需求。
最低0.47元/天 解锁文章
1340

被折叠的 条评论
为什么被折叠?



