Press "Enter" to skip to content

YOLOX升级|阿里巴巴提出YOLOX-PAI,1ms内精度无敌,超越YOLOv6、PP-YOLOE

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

作者丨ChaucerG

 

来源丨集智书童

 

 

论文链接: https://arxiv.org/abs/2208.13040

 

代码链接: https://github.com/alibaba/EasyCV

 

EasyCV 是一个一体化计算机视觉工具箱,以方便使用各种 SOTA 计算机视觉方法。最近,作者将 YOLOX 的改进版 YOLOX-PAI 添加到 EasyCV 中。作者进行消融研究以调查某些检测方法对 YOLOX 的影响。作者还为 PAI-Blade 提供了一个简单的用法,用于加速基于 BladeDISCTensorRT 的推理过程。

 

最后,在单个 NVIDIA V100 GPU 上在 1.0 毫秒内收到 COCO 数据集上的 42.8 mAP,这比 YOLOv6 快一点。 EasyCV 中还设计了一个简单但高效的预测器 api 来进行端到端目标检测。

 

1、简介

 

YOLOX 是最着名的单阶段物体检测方法之一,已广泛应用于自动驾驶、缺陷检测等各个领域。它在 YOLO 系列中引入了解耦头和Anchor-free方式,并在 40 mAP 到 50 mAP 之间获得最先进的结果。

 

考虑到它的灵活性和效率,作者打算将 YOLOX 集成到 EasyCV 中,这是一种一体化的计算机视觉方法,即使是初学者也能轻松使用计算机视觉算法。此外,通过使用检测Backbone、Neck和Head的不同增强来研究对 YOLOX 的改进。用户可以根据自己的需求简单地设置不同的配置来获得合适的目标检测模型。

 

此外,基于 PAI-Blade(PAI 的推理优化框架),进一步加快了推理过程,并提供了一个简单的 api 来在 EasyCV 中使用 PAI-Blade。最后,设计了一个高效的预测器 api,以端到端的方式使用 YOLOX-PAI,大大加速了原始 YOLOX。YOLOX-PAI 与最先进的目标检测方法之间的比较如图 1 所示。

 

EasyCV
YOLOX-PAI
docker
YOLOX-PAI

 

YOLOX
YOLOX
PAI-Blade

 

EasyCV
API
YOLOX-PAI

 

2、本文方法

 

2.1、Backbone

 

最近, YOLOv6PP-YOLOE 已经将 CSPNetBackbone 替换为 RepVGG 。在 RepVGG 中,在推理过程中使用 3×3 的卷积块来代替多分支结构,有利于节省推理时间和提高目标检测结果。在 YOLOv6 之后,还在 YOLOX-PAI 中使用基于 RepVGGBackbone 作为选择。

 

2.2、Neck

 

作者使用两种方法来提升 YOLOXYOLOX-PAINeck 的性能,即:

 

 

    1. 用于特征增强的自适应空间特征融合(

ASFF

    1. )及其变体(记为

ASFF_Sim

    1. );

 

GSConv,一个轻量级的卷积块,以降低计算成本。

 

 

原始的 ASFF 方法使用几个 vanilla 卷积块来首先统一不同特征图的维度。受 YOLOv5Focus 层的启发,作者通过使用非参数切片操作和均值操作来替换卷积块以获得统一的特征图(表示为 ASFF_Sim )。具体来说, YOLOX 输出的每个特征图的操作在图 2 中定义。

 

作者还使用2种基于 GSConvNeck 来优化 YOLOX 。使用的 Neck 架构如图3和图4所示。两种架构的区别在于是否将所有块替换为 GSConv 。正如作者所证明的那样, GSconv 是专门为通道达到最大和尺寸达到最小的 Neck 设计的。

 

2.3、Head

 

作者通过注意力机制增强了 YOLOX-Head ,以协调目标检测和分类的任务(表示为 TOOD-Head )。架构如图 5 所示。首先使用一个 Stem 层来减少通道,然后是一组间卷积层以获得间特征图。最后,根据不同的任务计算自适应权重。分别测试了在 TOOD-Head 中使用 vanilla 卷积或基于 repvgg 的卷积的结果。

 

2.4、PAI-Blade

 

PAI-Blade 是一个用于模型加速的简单且强大的推理优化框架。它基于许多优化技术,如 Blade Graph OptimizerTensorRTPAI-TAOTensor Accelerator and Optimizer )等。 PAI-Blade 将自动搜索优化输入模型的最佳方法。因此,没有模型部署专业知识的人也可以使用 PAI-Blade 来优化推理过程。作者在 EasyCV 中集成了 PAI-Blade 的使用,让用户只需更改导出配置即可获得高效的模型。

 

2.5、EasyCV Predictor

 

除了模型推断,预处理功能和后处理功能在端到端目标检测任务中也很重要,而现有的目标检测工具箱往往会忽略这些功能。在 EasyCV 中,作者允许用户灵活选择是否使用预处理/后处理程序导出模型。然后,提供了一个预测器 api 来执行高效的端到端目标检测任务,整个过程只需几行代码。

 

3、实验

 

3.1、SOTA对比

 

3.2、消融实验

 

1、Backbone的影响

 

2、Neck的影响

 

3、Head的影响

 

4、Blade的影响

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。