产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

YOLOX-PAI: 加速 YOLOX, 比 YOLOV6 更快更强

  • 2022-08-31
    北京
  • 本文字数:2973 字

    阅读完需:约 10 分钟

YOLOX-PAI:加速YOLOX,比YOLOV6更快更强

导言


近日,阿里云机器学习平台团队PAI通过自研的 PAI-EasyCV 框架复现 YOLOX 算法,并结合了 PAI 自研的 PAI-Blade 推理加速框架优化模型性能,使得加速过后的 YOLOX-PAI 在速度和精度上都比现阶段的轻量级目标检测的 SOTA 算法 YOLOV6 提速约 20%,同时,PAI-EasyCV提供高效简洁的模型部署和端到端推理接口,供社区快速体验使用 YOLOX-PAI 的功能。


目前,EasyCV 和 Blade 项目已在GitHub上开源:


https://github.com/alibaba/EasyCV


https://github.com/alibaba/BladeDISC



实现方案


1.提供了一套 Apache License 训练/优化/推理的代码库以及镜像,可以实现当前社区 40+mAP 量级最快(相比 YOLOV6 mAP 提升 0.4/加速 13~20%)的目标检测模型。


2.调研了 YOLOX 相关的改进技术和消融实验,总结了其中一些相对有帮助的改进,并以配置的方式提供出来。


3.对目标检测的端到端推理进行灵活封装及速度优化,在 V100 上的端到端推理为 3.9ms,相对原版 YOLOX 的 9.8ms,加速 250%,供用户快速完成目标检测推理任务。


本文,我们将重点介绍如何基于 PAI-EasyCV 使用 PAI-Blade 优化模型推理过程,及如何使用 PAI-EasyCV 进行模型训练、验证、部署和端到端推理。欢迎大家关注和使用 PAI-EasyCV 和 PAI-Blade,进行简单高效的视觉算法开发及部署任务。


YOLOX-PAI 精益求精的算法改进


YOLOX-PAI 是阿里云机器学习平台 PAI 的开源计算机视觉代码库 EasyCV 中集成的 YOLOX 算法。通过对 YOLOX 算法的分析,结合检测技术的调研,从以下 4 个方向对原版的 YOLOX 进行优化,


  1. Backbone : repvgg[1] backbone

  2. Neck : gsconv [2] / asff [3]

  3. Head : toods[4] / rtoods

  4. Loss : siou [5] / giou


在算法改进的基础上,利用 PAI-Blade 对改进后的的模型进行推理优化,开发了如下的 PAI-YOLOX 模型。具体改进的消融实验可以参考我们的[arxiv],筛选有效改进与现有主流算法的对比结果如下:


( -ASFF 代表使用了 NeckASFF, -TOODN 代表使用 N 个中间层的 TOODHead 取代原有的 YOLOXHead)



从结果中可以看到,相比目前同水平(1ms 以内)SOTA 的 YOLOV6 模型,融合上述改进的 YOLOX-PAI 在同等精度/速度的条件下有一定的速度/精度优势。(PS:上表精度测量和速度测量上与 YOLOV6 对齐,不包含 NMS 和后处理,测试精度也分图片大小等于 672/640 两种。)


YOLOX-PAI 简单的端到端预测



针对使用 PAI-EasyCV 训练的 YoloX-PAI 模型,用户可以使用 PAI-EasyCV 自带的导出功能得到优化后的模型,并使用 EasyCV 提供的 TorchYoloXPredictor 进行端到端的推理。 该导出功能对检测模型进行了如下优化:


  • 使用 PAI-Blade 优化模型推理速度,简化对模型的推理加速(TensorRT/编译优化)开发流程。


  • 支持 EasyCV 配置 TorchScript/PAI-Blade 对图像前处理、模型推理、图像后处理分别优化,供用户灵活使用。


  • 支持 python 环境下的 Predictor 结构端到端的模型推理优化,简化图片预测过程。


也可以参考[EasyCV detector.py] 自行组织相应的图像前处理/后处理过程,或直接使用我们导出好的模型和接口,这里提供一个已经导出好的检测模型,用户下载三个模型文件到本地

 [preprocess, model, meta]



用户可以直接使用 PAI-EasyCV 提供的 Predictor 接口,通过如下简单的 API 调用,



高效的进行图像的检测任务:


YOLOX-PAI 极致性能的推理优化


下图,我们展示了 YOLOX-PAI 在集成 PAI-Blade/torchscript 优化后和原版 YOLOX 的不同尺寸(s/m/l/x)模型的推理耗时对比, 在开启预处理优化和模型的 PAI-Blade 优化后:



可以看到 PAI-EasyCV 导出的模型,极大程度的优化了原模型的端到端推理速度,达到了接近 250%。


  • PAI-Blade 推理优化


PAI-Blade 是由阿里云机器学习平台PAI 开发的深度学习模型优化工具,可以针对不同的设备不同模型进行推理加速优化。PAI-Blade 遵循易用性,鲁棒性和高性能为原则,将模型的部署优化进行高度封装,设计了统一简单的 API,在完成 Blade 环境安装后,用户可以在不了解 ONNX、TensorRT、编译优化等技术细节的条件下,通过简单的代码调用方便的实现对模型的高性能部署。更多 PAI-Blade 相关技术介绍可以参考 [PAI-Blade 介绍]。


PAI-EasyCV 中对 PAI-Blade 进行了支持,用户可以通过 PAI-EasyCV 的训练 config 中配置相关的导出(export)参数,调用 PAI-Blade 用于优化导出模型,结合 EasyCV Predictor 完成图片的端到端的图像检测任务。


写在最后


YOLOX-PAI 是 PAI-EasyCV 团队基于旷视 YOLOX 复现并优化的在 V100BS32 的 1000fps 量级下的 SOTA 检测模型。整体工作上集成和对比了很多社区已有的工作:替换基于 RepVGG 的高性能 Backbone, 在 Neck 中添加基于特征图融合的 ASFF/GSConv 增强,在检测头中加入了任务相关的注意力机制 TOOD 结构。结合 PAI-Blade 编译优化技术,同等精度下比 YOLOV6 加速 13~20%。EasyCV 提供配套了一系列算法/训练/推理优化代码和环境,目前,YOLOX-PAI 已广泛的应用在阿里集团内外的互联网,智能零售,自动驾驶等客户场景中。


PAI-EasyCV(https://github.com/alibaba/EasyCV)是阿里云机器学习平台 PAI 研发的计算机视觉算法框架,已在集团内外多个业务场景取得相关业务落地成果,未来将聚焦在自监督学习/VisionTransformer 等前沿视觉领域,并结合 PAI-Blade 等自研技术不断优化。欢迎大家参与进来一同进步。


相关文献


[1] Ge Z, Liu S, Wang F, et al. Yolox: Exceeding yolo series in 2021[J]. arXiv preprint arXiv:2107.08430, 2021.


[2] YOLOv6, https://github.com/meituan/YOLOv6.


[3] Xu S, Wang X, Lv W, et al. PP-

YOLOE: An evolved version of YOLO[J]. arXiv preprint arXiv:2203.16250, 2022.


[4] Wang C Y, Liao H Y M, Wu Y H, et al. CSPNet: A new backbone that can enhance learning capability of CNN[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition workshops. 2020: 390-391.


[5] Ding X, Zhang X, Ma N, et al. Repvgg: Making vgg-style convnets great again[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 13733-13742.


[6] Liu S, Huang D, Wang Y. Learning spatial fusion for single-shot object detection[J]. arXiv preprint arXiv:1911.09516, 2019.


[7] YOLOv5, https://github.com/ultralytics/yolov5.


[8] Li H, Li J, Wei H, et al. Slim-neck by GSConv: A better design paradigm of detector architectures for autonomous vehicles[J]. arXiv preprint arXiv:2206.02424, 2022.


[9] Feng C, Zhong Y, Gao Y, et al. Tood: Task-aligned one-stage object detection[C]//2021 IEEE/CVF International Conference on Computer Vision (ICCV). IEEE Computer Society, 2021: 3490-3499.


[10] Gevorgyan Z. SIoU Loss: More Powerful Learning for Bounding Box Regression[J]. arXiv preprint arXiv:2205.12740, 2022.


[11] Rezatofighi H, Tsoi N, Gwak J Y, et al. Generalized intersection over union: A metric and a loss for bounding box regression[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019: 658-666.

2022-08-31 12:475041

评论 1 条评论

发布
用户头像
2022-08-31 13:59 · 北京
回复
没有更多了
发现更多内容

ubuntu创建自定义开机服务

百度搜索:蓝易云

云计算 Linux ubuntu 运维 云服务器

浅谈JVM整体架构与调优参数

华为云开发者联盟

JVM 华为云 Java虚拟机 华为云开发者联盟 企业号2024年4月PK榜

新质生产力崛起,运营商前端运营如何跃升

鲸品堂

前端 运营 运营商

Astute Graphics:提升设计效率与创造力的强大插件工具集

Rose

2D动画设计制作软件:cartoon animator4安装教程 含Cartoon Animator破解补丁

Rose

HTTP/1.1协议中的响应报文

百度搜索:蓝易云

云计算 Linux 运维 HTTP 云服务器

SQLynx发布3.0.0版本:带来更流畅便捷的SQL开发体验

先锋IT

BSN-DID研究--主题一:DID API

BSN研习社

区块链 did

Waves混音效果全套插件:Waves 14 Complete完美破解版及安装教程

Rose

第45期 | GPTSecurity周报

云起无垠

原型图设计思路总结

执于业务

无线LED显示屏的崛起:探索其带来的无限可能

Dylan

通信 科技 LED显示屏 全彩LED显示屏 led显示屏厂家

Word 2021 LTSC for Mac永久版 含word2021激活工具

Rose

远程桌面管理软件:Apple Remote Desktop中文版下载

Rose

ubuntu22安装和部署Kettle8.2

百度搜索:蓝易云

Linux ubuntu 运维 kettle 云服务器

Databend 开源周报第 138 期

Databend

cad 2024 mac下载 cad设计绘图软件,AutoCAD 2024破解版安装教程

Rose

Kyligence 正式加入华为“同舟共济”行动计划,成为行业数智化“联盟级伙伴”

Kyligence

Studies for Mac(mac学习记忆工具)v1.8.7直装版

Rose

人人都是创造者!李彦宏2024年首场演讲剧透,这三大方向不容错过

飞桨PaddlePaddle

百度 BAIDU 飞桨 文心大模型 PaddleX

HTTP/1.1协议中的八种请求

百度搜索:蓝易云

云计算 Linux 运维 HTTP 云服务器

产品经理能力模型

执于业务

你们单测覆盖率是如何统计的?原理是什么?

派大星

测试 单元测试 Java 面试题 互联网大厂面试 单测覆盖率

详解数仓对象设计中序列SEQUENCE原理与应用

华为云开发者联盟

数据库 华为云 华为云开发者联盟 华为云GaussDB(DWS) 企业号2024年4月PK榜

Redis开源协议调整,我们怎么办?

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号2024年4月PK榜

ubuntu安装指定版本:nodejs

百度搜索:蓝易云

云计算 Linux ubuntu 运维 云服务器

AI时代:看低代码如何赋能金融创新,开启交易新时代

快乐非自愿限量之名

人工智能 AI 金融

YOLOX-PAI:加速YOLOX,比YOLOV6更快更强_开源_忻怡_InfoQ精选文章