当前位置: 首页 > news >正文

YOLOv8 人体姿态估计(关键点检测) python推理 ONNX RUNTIME C++部署

目录

 1、下载权重

​2、python 推理

3、转ONNX格式

4、ONNX RUNTIME C++ 部署


 1、下载权重

我这里之前在做实例分割的时候,项目已经下载到本地,环境也安装好了,只需要下载pose的权重就可以



2、python 推理

yolo task=pose mode=predict model=yolov8n-pose.pt  source=0  show=true


3、转ONNX格式

yolo export model=yolov8n-pose.pt format=onnx 

输出:
 

(yolo) jason@honor:~/PycharmProjects/pytorch_learn/yolo/ultralytics-main-yolov8$ yolo export model=yolov8n-pose.pt format=onnx
Ultralytics YOLOv8.0.94 🚀 Python-3.8.13 torch-2.0.0+cu117 CPU
YOLOv8n-pose summary (fused): 187 layers, 3289964 parameters, 0 gradients, 9.2 GFLOPsPyTorch: starting from yolov8n-pose.pt with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 56, 8400) (6.5 MB)ONNX: starting export with onnx 1.13.1 opset 17...
============= Diagnostic Run torch.onnx.export version 2.0.0+cu117 =============
verbose: False, log level: Level.ERROR
======================= 0 NONE 0 NOTE 0 WARNING 0 ERROR ========================ONNX: export success ✅ 0.8s, saved as yolov8n-pose.onnx (12.9 MB)Export complete (1.4s)
Results saved to /home/jason/PycharmProjects/pytorch_learn/yolo/ultralytics-main-yolov8
Predict:         yolo predict task=pose model=yolov8n-pose.onnx imgsz=640 
Validate:        yolo val task=pose model=yolov8n-pose.onnx imgsz=640 data=/usr/src/app/ultralytics/datasets/coco-pose.yaml 
Visualize:       https://netron.app

用netron查看一下:

 如上图所是,YOLOv8n-pose只有一个输出:
output0: float32[1,56,8400]。这里的8400,表示有8400个检测框,56为4边界框坐标信息+人这个类别预测分数,17*3关键点信息。每个关键点由x,y,v组成,v代表该点是否可见,v小于 0.5 时,表示这个关键点可能在图外,可以考虑去除掉。

COCO的annotation一共有17个关节点。

分别是:“nose”,“left_eye”, “right_eye”,“left_ear”, “right_ear”,“left_shoulder”, “right_shoulder”,“left_elbow”, “right_elbow”,“left_wrist”, “right_wrist”,“left_hip”, “right_hip”,“left_knee”, “right_knee”,“left_ankle”, “right_ankle”。示例图如下:

4、ONNX RUNTIME C++ 部署

第二篇参考文章的github项目,以此为参考,实现ONNX RUNTIME C++部署

视频输入,效果如下:


参考:
Yolov8 姿态估计 - 知乎

YOLOv8-Pose 的 TensorRT8 推理尝试 - 知乎

http://www.lryc.cn/news/67044.html

相关文章:

  • AgilePLM 通用自动赋值程序 安装使用说明
  • 小数转整数的情况
  • 05-Docker安装Mysql、Redis、Tomcat
  • Docker Overlay2占用大量磁盘空间解决
  • 2023年免费自动养站程序
  • 86.qt qml-多种粒子特效按钮实现
  • Ubuntu18.04 制作系统ISO镜像并物理机还原(Systemback)
  • requestAnimationFrame 和 requestIdleCallback API
  • SpringBoot启动原理
  • 区间预测 | MATLAB实现QRBiLSTM双向长短期记忆神经网络分位数回归时间序列区间预测
  • 看一看吧,面试真的卷......
  • Python——1
  • bgp团体属性配置案例一
  • mybatis-plus配置日志实现方式
  • Cy5.5 NHS ester 氨基反应性荧光染料Cyanine5.5 -NHS
  • 深度思考:在 AI 时代,你会被放大一千倍的能力是什么?
  • 蚂蚁实时低代码研发和流批一体的应用实践
  • 5 创建映射
  • windows注册表参数(%1,%2,%v) windows注册表是不区分大小写的.
  • 基于SpringBoot的大学生租房系统
  • NetApp 利用适用于混合云的实时解决方案解决芯片设计方面的数据管理挑战
  • Rust + WASM 入门
  • 【操作系统】内存空间
  • 详解静态、动态代理以及应用场景
  • ChatGLM-6B本地cpu部署
  • 算法修炼之练气篇——练气七层
  • vscode常用快捷方式
  • 如何压缩mp3文件大小,5分钟学会4种方法
  • 从0搭建Vue3组件库(十二):引入现代前端测试框架 Vitest
  • 使用Handler创建一个Android秒表应用