论文:https://arxiv.org/abs/2208.13040
代码:https://github.com/alibaba/EasyCV
本文针对YOLOX进行优化,相关指标超越了YOLOv6,将YOLOX集成到EasyCV中。通过对检测主干、颈部和头部进行不同的增强来研究对YOLOX的改进。用户可以根据自己的需求简单地设置不同的配置以获得合适的对象检测模型。
一、创新点
1、使用基于RepVGG作为YOLOX-PAI的主干。
2、使用两种方法来提高YOLOX-PAI颈部的YOLOX性能
1)自适应空间特征融合(ASFF)及其方差(表示为ASFF_Sim)用于特征增强。
原始的ASFF方法使用几个vanilla卷积块来首先统一不同特征映射的维数。受YOLOv5中Focus层的启发,使用非参数切片操作和平均操作替换卷积块,以获得统一的特征映射(表示为ASFF_Sim)。下图中定义了YOLOX输出的每个特征映射的操作。
本文还使用两种基于GSConv的颈部来优化YOLOX。使用的neck结构下图所示。两种结构的区别在于是否用GSConv替换所有块。正如作者所证明的,GSconv是专门为通道达到最大值和尺寸达到最小值的颈部设计的。
二、实验证明
如上表所示,使用基于RepVGG的主干网的YOLOX只需稍微牺牲速度即可获得更好的mAP。它确实增加了更多的参数和flops,可能需要更多的计算资源,但不需要太多的推理时间。
ASFF和ASFF_Sim的影响如上表所示。与ASFF相比,ASFF_ Sim在参数和flops增益较小的情况下也有利于提高检测结果。然而,时间成本要大得多。
GSConv的影响如上表所示。结果是,GSConv将在单个NVIDIA V100 GPU上带来0.3 mAP并降低3%的速度。
TOODHead的影响如上表所示。研究了不同数量的内部卷积层的影响。当添加额外的卷积层时,检测结果会更好。选择合适的超参数是速度和精度之间的权衡。当在卷积层间用基于repconv的卷积替换vanilla卷积时,结果会变得更差。当stack较小(即,2、3)时,使用基于Repconv的cls_conv/reg_conv层时,它将略微改善结果。