0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

YOLOX目标检测模型的推理部署

OpenCV学堂 来源:OpenCV学堂 作者:gloomyfish 2022-04-16 23:00 次阅读
YOLOX目标检测模型

旷视科技开源了内部目标检测模型-YOLOX,性能与速度全面超越YOLOv5早期版本!

fd7acd32-bc50-11ec-aa7f-dac502259ad0.png

如此神奇原因在于模型结构的修改,下图说明了改了什么地方:

fd89a5b4-bc50-11ec-aa7f-dac502259ad0.png

把原来的耦合头部,通过1x1卷积解耦成两个并行的分支,经过一系列处理之后最终取得精度与速度双提升。实验对比结果如下:

fd9a396a-bc50-11ec-aa7f-dac502259ad0.png

论文与代码模型下载地址:
https://arxiv.org/pdf/2107.08430.pdfhttps://github.com/Megvii-BaseDetection/YOLOX

ONNX格式模型转与部署

下载YOLOX的ONNX格式模型(github上可以下载)
https://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo/ONNXRuntimehttps://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.onnx

下载ONNX格式模型,打开之后如图:

fdab5c7c-bc50-11ec-aa7f-dac502259ad0.png

输入格式:1x3x640x640,默认BGR,无需归一化。输出格式:1x8400x85
官方说明ONNX格式支持OpenVINO、ONNXRUNTIME、TensorRT三种方式,而且都提供源码,官方提供的源码参考如下
https://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo
本人就是参考上述的代码然后一通猛改,分别封装成三个类,完成了统一接口,公用了后处理部分的代码,基于本人笔记本的硬件资源与软件版本:
-GPU 3050Ti-CPU i7 11代-OS:Win10 64位-OpenVINO2021.4-ONNXRUNTIME:1.7-CPU-OpenCV4.5.4-Python3.6.5-YOLOX-TensorRT8.4.x
在三个推理平台上测试结果如下:

fdb887bc-bc50-11ec-aa7f-dac502259ad0.png

运行截图如下:onnxruntime推理

fdc4c9d2-bc50-11ec-aa7f-dac502259ad0.png

OpenVINO推理

fde1d216-bc50-11ec-aa7f-dac502259ad0.png

TensorRT推理 - FP32

fdf9d622-bc50-11ec-aa7f-dac502259ad0.png

转威FP16

fe1134ac-bc50-11ec-aa7f-dac502259ad0.png

TensorRT推理 - FP16

fe239098-bc50-11ec-aa7f-dac502259ad0.png

总结

之前我写过一篇文章比较了YOLOv5最新版本在OpenVINO、ONNXRUNTIME、OpenCV DNN上的速度比较,现在加上本篇比较了YOLOXTensorRT、OpenVINO、ONNXRUNTIME上推理部署速度比较,得到的结论就是:
CPU上速度最快的是OpenVINOGPU上速度最快的是TensorRT
能不改代码,同时支持CPU跟GPU推理是ONNXRUNTIMEOpenCV DNN毫无意外的速度最慢(CPU/GPU)

原文标题:YOLOX在OpenVINO、ONNXRUNTIME、TensorRT上面推理部署与速度比较

文章出处:【微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47678
  • 目标检测
    +关注

    关注

    0

    文章

    185

    浏览量

    15453
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40767

原文标题:YOLOX在OpenVINO、ONNXRUNTIME、TensorRT上面推理部署与速度比较

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    开发者手机 AI - 目标识别 demo

    %。 Init、DeInit 为Native的初始化和去初始化实现,主要对模型进行创建、编译以及销毁。 Process为异步NAPI接口,主要完成目标识别的功能。实现包括前处理、推理和后处理3个部分。前处理主要
    发表于 04-11 16:14

    基于OpenCV DNN实现YOLOv8的模型部署推理演示

    基于OpenCV DNN实现YOLOv8推理的好处就是一套代码就可以部署在Windows10系统、乌班图系统、Jetson的Jetpack系统
    的头像 发表于 03-01 15:52 427次阅读
    基于OpenCV DNN实现YOLOv8的<b class='flag-5'>模型</b><b class='flag-5'>部署</b>与<b class='flag-5'>推理</b>演示

    HarmonyOS:使用MindSpore Lite引擎进行模型推理

    场景介绍 MindSpore Lite 是一款 AI 引擎,它提供了面向不同硬件设备 AI 模型推理的功能,目前已经在图像分类、目标识别、人脸识别、文字识别等应用中广泛使用。 本文介绍
    发表于 12-14 11:41

    【爱芯派 Pro 开发板试用体验】模型部署(以mobilenetV2为例)

    啊抱歉,上周得了一周的流感,人才活过来。。本来还想研究下sam它是怎么部署的,但是时间好像有点来不急,就讲个最简单的efficientNet吧。但是会仔细讲下使用模型部署,实际也就是推理
    发表于 12-10 16:34

    使用rk3588多npu推理模型模型推理时间还增加了,这怎么解释

    使用rk3588多npu推理模型模型推理时间还增加了,这怎么解释
    发表于 11-05 18:22

    Hugging Face LLM部署大语言模型到亚马逊云科技Amazon SageMaker推理示例

     本篇文章主要介绍如何使用新的Hugging Face LLM推理容器将开源LLMs,比如BLOOM大型语言模型部署到亚马逊云科技Amazon SageMaker进行推理的示例。我们将
    的头像 发表于 11-01 17:48 463次阅读
    Hugging Face LLM<b class='flag-5'>部署</b>大语言<b class='flag-5'>模型</b>到亚马逊云科技Amazon SageMaker<b class='flag-5'>推理</b>示例

    基于OpenVINO Python API部署RT-DETR模型

    RT-DETR 是在 DETR 模型基础上进行改进的,一种基于 DETR 架构的实时端到端检测器,它通过使用一系列新的技术和算法,实现了更高效的训练和推理,我们将在 Python、C++、C# 三个
    的头像 发表于 10-20 11:15 532次阅读
    基于OpenVINO Python API<b class='flag-5'>部署</b>RT-DETR<b class='flag-5'>模型</b>

    如何使用Vitis-AI加速YOLOX模型实现视频中的目标检测

    本文将介绍如何使用Vitis-AI加速YOLOX模型实现视频中的目标检测,并对相关源码进行解读。由于演示的示例程序源码是Vitis-AI开源项目提供的,本文演示之前会介绍所需要的准备工
    的头像 发表于 10-16 15:43 540次阅读
    如何使用Vitis-AI加速<b class='flag-5'>YOLOX</b><b class='flag-5'>模型</b>实现视频中的<b class='flag-5'>目标</b><b class='flag-5'>检测</b>

    【KV260视觉入门套件试用体验】Vitis-AI加速的YOLOX视频目标检测示例体验和原理解析

    本文将介绍如何使用Vitis-AI加速YOLOX模型实现视频中的目标检测,并对相关源码进行解读。由于演示的示例程序源码是Vitis-AI开源项目提供的,本文演示之前会介绍所需要的准备工
    发表于 10-06 23:32

    AscendCL快速入门——模型推理篇(上)

    一、概述本文介绍了AscendCL模型推理相关知识,介绍了AscendCL接口加载离线模型,为离线模型准备数据结构以及调用离线模型进行
    发表于 08-24 11:04

    如何提高YOLOv4模型推理性能?

    使用 PyTorch 对具有非方形图像的 YOLOv4 模型进行了训练。 将 权重转换为 ONNX 文件,然后转换为中间表示 (IR)。 无法确定如何获得更好的推理性能。
    发表于 08-15 06:58

    三种主流模型部署框架YOLOv8推理演示

    部署。这里以YOLOv8为例,演示了YOLOv8对象检测模型在OpenVINO、ONNXRUNTIME、TensorRT三个主流框架上C++推理演示效果。
    的头像 发表于 08-06 11:39 1830次阅读

    在OpenNCC上部署人脸检测模型

    电子发烧友网站提供《在OpenNCC上部署人脸检测模型.zip》资料免费下载
    发表于 06-27 10:34 0次下载
    在OpenNCC上<b class='flag-5'>部署</b>人脸<b class='flag-5'>检测</b><b class='flag-5'>模型</b>

    目标检测模型集成方法总结

    模型集成是一种提升模型能力的常用方法,但通常也会带来推理时间的增加,在物体检测上效果如何,可以看看。
    的头像 发表于 06-07 17:39 793次阅读
    <b class='flag-5'>目标</b><b class='flag-5'>检测</b>多<b class='flag-5'>模型</b>集成方法总结

    百度飞桨PP-YOLOE ONNX 在LabVIEW中的部署推理(含源码)

    对于如何在LabVIEW中实现该模型部署,笔者目前还没有看到相关介绍文章,所以笔者在实现PP-YOLOE ONNX 在LabVIEW中的部署推理后,决定和各位读者分享一下如何使用La
    的头像 发表于 05-26 14:01 474次阅读
    百度飞桨PP-YOLOE ONNX 在LabVIEW中的<b class='flag-5'>部署</b><b class='flag-5'>推理</b>(含源码)