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

    文章

    3226

    浏览量

    48807
  • 目标检测
    +关注

    关注

    0

    文章

    209

    浏览量

    15605
  • OpenCV
    +关注

    关注

    31

    文章

    634

    浏览量

    41337

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

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

收藏 人收藏

    评论

    相关推荐

    AI模型部署边缘设备的奇妙之旅:目标检测模型

    以及边缘计算能力的增强,越来越多的目标检测应用开始直接在靠近数据源的边缘设备上运行。这不仅减少了数据传输延迟,保护了用户隐私,同时也减轻了云端服务器的压力。然而,在边缘端部署高效且准确的目标
    发表于 12-19 14:33

    如何开启Stable Diffusion WebUI模型推理部署

    如何开启Stable Diffusion WebUI模型推理部署
    的头像 发表于 12-11 20:13 91次阅读
    如何开启Stable Diffusion WebUI<b class='flag-5'>模型</b><b class='flag-5'>推理</b><b class='flag-5'>部署</b>

    使用vLLM+OpenVINO加速大语言模型推理

    随着大语言模型的广泛应用,模型的计算需求大幅提升,带来推理时延高、资源消耗大等挑战。
    的头像 发表于 11-15 14:20 373次阅读
    使用vLLM+OpenVINO加速大语言<b class='flag-5'>模型</b><b class='flag-5'>推理</b>

    高效大模型推理综述

    模型由于其在各种任务中的出色表现而引起了广泛的关注。然而,大模型推理的大量计算和内存需求对其在资源受限场景的部署提出了挑战。业内一直在努力开发旨在提高大
    的头像 发表于 11-15 11:45 341次阅读
    高效大<b class='flag-5'>模型</b>的<b class='flag-5'>推理</b>综述

    在树莓派上部署YOLOv5进行动物目标检测的完整流程

    卓越的性能。本文将详细介绍如何在性能更强的计算机上训练YOLOv5模型,并将训练好的模型部署到树莓派4B上,通过树莓派的摄像头进行实时动物目标检测
    的头像 发表于 11-11 10:38 911次阅读
    在树莓派上<b class='flag-5'>部署</b>YOLOv5进行动物<b class='flag-5'>目标</b><b class='flag-5'>检测</b>的完整流程

    YOLOv6在LabVIEW中的推理部署(含源码)

    YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用。如何使用python进行该模型部署,官网已经介绍的很清楚了,但是对于如何在LabVIEW中实现该
    的头像 发表于 11-06 16:07 243次阅读
    YOLOv6在LabVIEW中的<b class='flag-5'>推理</b><b class='flag-5'>部署</b>(含源码)

    手册上新 |迅为RK3568开发板NPU例程测试

    yolov5目标检测 6.13 yolov5-seg语义分割 6.14 yolov6目标检测 6.15 yolov7目标
    发表于 10-23 14:06

    手册上新 |迅为RK3568开发板NPU例程测试

    yolov5目标检测 6.13 yolov5-seg语义分割 6.14 yolov6目标检测 6.15 yolov7目标
    发表于 08-12 11:03

    LLM大模型推理加速的关键技术

    LLM(大型语言模型)大模型推理加速是当前人工智能领域的一个研究热点,旨在提高模型在处理复杂任务时的效率和响应速度。以下是对LLM大模型
    的头像 发表于 07-24 11:38 858次阅读

    迅为RK3568手册上新 | RK3568开发板NPU例程测试

    6.13 yolov5-seg语义分割 6.14 yolov6目标检测 6.15 yolov7目标检测 6.16 yolov8目标
    发表于 07-12 14:44

    yolox_bytetrack_osd_encode示例自带的yolox模型效果不好是怎么回事?

    yolox_bytetrack_osd_encode示例自带的模型如下,我看示例里面yolox_group.json、yolox_infer.json、
    发表于 07-05 07:51

    用OpenVINO C# API在intel平台部署YOLOv10目标检测模型

    模型设计策略,从效率和精度两个角度对YOLOs的各个组成部分进行了全面优化,大大降低了计算开销,增强了性能。在本文中,我们将结合OpenVINO C# API使用最新发布的OpenVINO 2024.1部署YOLOv10目标
    的头像 发表于 06-21 09:23 1020次阅读
    用OpenVINO C# API在intel平台<b class='flag-5'>部署</b>YOLOv10<b class='flag-5'>目标</b><b class='flag-5'>检测</b><b class='flag-5'>模型</b>

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

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

    OpenVINO™ C# API部署YOLOv9目标检测和实例分割模型

    YOLOv9模型是YOLO系列实时目标检测算法中的最新版本,代表着该系列在准确性、速度和效率方面的又一次重大飞跃。
    的头像 发表于 04-03 17:35 856次阅读
    OpenVINO™ C# API<b class='flag-5'>部署</b>YOLOv9<b class='flag-5'>目标</b><b class='flag-5'>检测</b>和实例分割<b class='flag-5'>模型</b>

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

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