YOLOX升级 | 阿里巴巴提出YOLOX-PAI,1ms内精度无敌!

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【数据集下载】获取计算机视觉近30种数据集!

c29949511d1460bb8c138d6e83a93292.png

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 中,这是一种一体化的计算机视觉方法,即使是初学者也能轻松使用计算机视觉算法。此外,通过使用检测BackboneNeckHead的不同增强来研究对 YOLOX 的改进。用户可以根据自己的需求简单地设置不同的配置来获得合适的目标检测模型。

c59c9aaa0b719460932a266113e3fad7.png

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

简而言之,本文的主要贡献如下:

  • EasyCV 中发布YOLOX-PAI 作为一个简单而高效的目标检测工具(包含docker 图像、模型训练、模型评估和模型部署的过程)。希望即使是初学者也可以使用 YOLOX-PAI 来完成他的目标检测任务。

  • 对现有的基于YOLOX 的目标检测方法进行了消融研究,其中仅使用一个配置文件来构建自行设计的 YOLOX 模型。随着架构的改进和 PAI-Blade 的效率,在单个 NVIDIA Tesla V100 GPU 上在 1ms 内获得了 40 mAP 和 50 mAP 中最先进的目标检测结果,用于模型推理。

  • 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)及其变体(记为ASFF_Sim);

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

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

fe350cc276ccf8c9a3b6526d7701be27.png

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

20578fba1ddcb5fbdc0603d0a8919af6.png ff12ff7f913a7e8d5876a915c8c4d727.png

2.3、Head

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

5d6efd2ef2a5308f75a271342d05ed20.png

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对比

a4faf4ae38aa5497ffeb053775ddf438.png

3.2、消融实验

1、Backbone的影响
5b84ad25d1ca385a8ce7741e41cd3b09.png
2、Neck的影响
9fdd3852dbb5a6628f44b7e9d4d20c89.png
3、Head的影响
0925a173a20eac146b1f2793f3ed48b5.png
4、Blade的影响
6dbbdc098daa25d58557894629936bb7.png

4、参考

[1].YOLOX-PAI: An Improved YOLOX Version by PAI

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

2ab6f66284fd22d72c112678981ba6e4.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值