1.输入端
(1)Strong augmentation
Yolox主要采用了Mosaic、Mixup两种数据增强方法
有两点需要注意:
(1)在训练的最后15个epoch,这两个数据增强会被关闭掉。
而在此之前,Mosaic和Mixup数据增强,都是打开的,这个细节需要注意。
(2)由于采取了更强的数据增强方式,作者在研究中发现,ImageNet预训练将毫无意义,因此,所有的模型,均是从头开始训练的。
2.backbone
在Yolox系列中的,Yolox-Darknet53模型,采用的Baseline基准网络,采用的并不是Yolov3版本,而是改进后的Yolov3_spp版本。而Yolov3和Yolov3_spp的不同点在于,Yolov3的主干网络后面,添加了spp组件。
3.neck
在Neck结构中,Yolox-Darknet53和Yolov3 baseline的Neck结构,也是一样的,都是采用FPN的结构进行融合。
4.head
在输出层中,主要从四个方面进行讲解:Decoupled Head、Anchor Free、标签分配、Loss计算。
(1)Decoupled Head
Decoupled Head,目前在很多一阶段网络中都有类似应用,比如RetinaNet、FCOS等。
① 为什么使用Decoupled Head?
目前Yolo系列使用的检测头,表达能力可能有所欠缺,没有Decoupled Head的表达能力更好。Decoupled Head的收敛速度更快,且精度更高一些。