1. 解决了什么问题?
对 YOLOX 做加速,在单张 Tesla V100 上取得了 42.8 42.8 42.8mAP,推理速度为 1 毫秒。
2. 提出了什么方法?
2.1 主干网络
YOLOv6 和 PP-YOLOE 都将主干网络从 CSPNet 切换到了 RepVGG。RepVGG 在推理时,会用 3 × 3 3\times 3 3×3卷积替换多分支结构,这能节约推理时间、提高检测效果。于是,YOLOX-PAI 也选用 RepVGG 作为主干网络。
2.2 Neck
作者选择了两种方法来优化 YOLOX-PAI 的 neck,一个是 Adaptively Spatial Feature Fusion(ASFF),及其变体形式(记做 ASFF_Sim),用于特征增强;另一个是轻量级的卷积模块 GSConv,降低计算成本。
ASFF 使用多个卷积模块,统一不同特征图的维度。受到 YOLOv5 中 Focus 层的启发,使用 Slice 操作和均值操作,得到一个统一的特征图(记做 ASFF_Sim)。具体可看下图 ASFF_Sim 的操作,Expand 操作是基于 Focus 层的 Slice 操作。
如下图所示,作者使用了两种基于 GSConv 的 necks 来优化 YOLOX。GSConv 特别针对那些通道数最大、特征图最小的 neck 设计的。
2.3 Head
作者使用了注意力机制来增强 YOLOX-Head,对齐目标检测和分类任务(记做 TOOD-Head)。如下图,首先使用一个 stem 层降低通道数,然后是一组中间卷积层,得到中间特征图。最后,根据不同的任务计算出自适应权重。
2.4 PAI-Blade
PAI-Blade 是用于模型加速的推理优化框架。它使用了许多优化技术,如 Blade Graph Optimizer、TensorRT、PAI-TAO(Tensor accelerator and Optimizer)。PAI-Blade 自动搜索优化的最佳方案。