YOLOX目标检测模型
旷视科技开源了内部目标检测模型-YOLOX,性能与速度全面超越YOLOv5早期版本!
如此神奇原因在于模型结构的修改,下图说明了改了什么地方:
把原来的耦合头部,通过1x1卷积解耦成两个并行的分支,经过一系列处理之后最终取得精度与速度双提升。实验对比结果如下:
论文与代码模型下载地址:
https://arxiv.org/pdf/2107.08430.pdf
https://github.com/Megvii-BaseDetection/YOLOX
ONNX格式模型转与部署
下载YOLOX的ONNX格式模型(github上可以下载)https://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo/ONNXRuntime
https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.onnx
下载ONNX格式模型,打开之后如图:
官方说明ONNX格式支持OpenVINO、ONNXRUNTIME、TensorRT三种方式,而且都提供源码,官方提供的源码参考如下:输入格式:1x3x640x640,默认BGR,无需归一化。
输出格式:1x8400x85
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
运行截图如下:onnxruntime推理
OpenVINO推理
TensorRT推理 - FP32
转威FP16
TensorRT推理 - FP16
总结
之前我写过一篇文章比较了YOLOv5最新版本在OpenVINO、ONNXRUNTIME、OpenCV DNN上的速度比较,现在加上本篇比较了YOLOX在TensorRT、OpenVINO、ONNXRUNTIME上推理部署速度比较,得到的结论就是:能不改代码,同时支持CPU跟GPU推理是ONNXRUNTIMEOpenCV DNN毫无意外的速度最慢(CPU/GPU)CPU上速度最快的是OpenVINO
GPU上速度最快的是TensorRT
原文标题: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
在树莓派上部署YOLOv5进行动物目标检测的完整流程
卓越的性能。本文将详细介绍如何在性能更强的计算机上训练YOLOv5模型,并将训练好的模型部署到树莓派4B上,通过树莓派的摄像头进行实时动物目标检测
YOLOv6在LabVIEW中的推理部署(含源码)
YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用。如何使用python进行该模型的部署,官网已经介绍的很清楚了,但是对于如何在LabVIEW中实现该
手册上新 |迅为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大模型
迅为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目标
开发者手机 AI - 目标识别 demo
%。
Init、DeInit 为Native的初始化和去初始化实现,主要对模型进行创建、编译以及销毁。
Process为异步NAPI接口,主要完成目标识别的功能。实现包括前处理、推理和后处理3个部分。前处理主要
发表于 04-11 16:14
基于OpenCV DNN实现YOLOv8的模型部署与推理演示
基于OpenCV DNN实现YOLOv8推理的好处就是一套代码就可以部署在Windows10系统、乌班图系统、Jetson的Jetpack系统
评论