news 2026/6/10 1:19:35

C# winform部署yolo26-pose姿态估计关键点的onnx模型演示源码+模型+说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# winform部署yolo26-pose姿态估计关键点的onnx模型演示源码+模型+说明

yolo26已经正式发布了,因此使用C#代码实现YOLO26-pose姿态估计的onnx模型部署,首先看yolo11n-pose网络结构,发现输出shape是1x56x8400

再来看看yolo26n-pose网络结构输出,输出shape是1x300x57

可见yolo11和yolo26输出是不一样的是不能共用代码。

模型使用官方yolo26n-pose.pt转换成的onnx,转换命令
yolo export model=yolo26n-pose.pt format=onnx opset=12
如果你是自己训练的模型可以替换即可,但是需要yolo26-pose框架才行
测试环境:
vs2019
CPU推理,无需安装cuda+cudnn
onnxruntime==1.22.1
opecvsharp==4.11.0
.net framework4.8.0
ultralytics==8.4.0

实现界面代码和调用代码:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using OpenCvSharp; namespace FIRC { public partial class Form1 : Form { OpenCvSharp.Mat src = new OpenCvSharp.Mat(); Yolo26PoseManager ym = new Yolo26PoseManager(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "图文件(*.*)|*.jpg;*.png;*.jpeg;*.bmp"; openFileDialog.RestoreDirectory = true; openFileDialog.Multiselect = false; if (openFileDialog.ShowDialog() == DialogResult.OK) { src = Cv2.ImRead(openFileDialog.FileName); pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(src); } } private void button2_Click(object sender, EventArgs e) { if(pictureBox1.Image==null) { return; } Stopwatch sw = new Stopwatch(); sw.Start(); var result = ym.Inference(src); sw.Stop(); this.Text = "耗时" + sw.Elapsed.TotalSeconds + "秒"; var resultMat = ym.DrawImage(src,result); pictureBox2.Image= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(resultMat); //Mat转Bitmap } private void Form1_Load(object sender, EventArgs e) { ym.LoadWeights(Application.StartupPath+ "\\weights\\yolo26n-pose.onnx"); } private void btn_video_Click(object sender, EventArgs e) { var detector = new Yolo26PoseManager(); detector.LoadWeights(Application.StartupPath + "\\weights\\yolo26n-pose.onnx"); VideoCapture capture = new VideoCapture(0); if (!capture.IsOpened()) { Console.WriteLine("video not open!"); return; } Mat frame = new Mat(); var sw = new Stopwatch(); int fps = 0; while (true) { capture.Read(frame); if (frame.Empty()) { Console.WriteLine("data is empty!"); break; } sw.Start(); var result = detector.Inference(frame); var resultImg = detector.DrawImage(frame,result); sw.Stop(); fps = Convert.ToInt32(1 / sw.Elapsed.TotalSeconds); sw.Reset(); Cv2.PutText(resultImg, "FPS=" + fps, new OpenCvSharp.Point(30, 30), HersheyFonts.HersheyComplex, 1.0, new Scalar(255, 0, 0), 3); //显示结果 Cv2.ImShow("Result", resultImg); int key = Cv2.WaitKey(10); if (key == 27) break; } capture.Release(); } } }

最后测试效果:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 9:16:45

多智能体架构选型攻略:从单Agent到复杂系统的演进之路(建议收藏)

本文深入探讨多智能体架构选型逻辑,分析单Agent在上下文管理和分布式开发中的局限,对比四种主流架构:子智能体(集中式)、技能(渐进式)、交接(状态驱动)和路由器(并行)。通过场景分析指出,架构选择应基于业务需求,从简单…

作者头像 李华
网站建设 2026/6/10 9:14:54

“亿” 马当先 乘风而起 | 世冠科技 2026 主题年会精彩回顾

近日,世冠科技隆重召开“‘亿’马当先,乘风而起”2026主题年会。会议系统复盘了公司过去一年的发展成果,精准锚定2026年战略方向,凝聚全员共识,共启全新征程。复盘过往 锚定前路——以战略定力指引发展方向 年会伊始&…

作者头像 李华
网站建设 2026/6/10 9:14:54

论文AI率飙到80%别慌!这5款神器帮你稳稳降到安全线

论文AI率飙到80%别慌&#xff01;这5款神器帮你稳稳降到安全线 TL;DR&#xff1a;论文AI率太高被学校打回&#xff1f;本文亲测5款降AI率工具&#xff0c;其中嘎嘎降AI达标率99.26%、比话降AI承诺知网AI率<15%否则全额退款。从原理到实操&#xff0c;教你把AIGC检测率从80%降…

作者头像 李华
网站建设 2026/6/10 0:45:19

新手必看:AI写作后降AIGC率的6个实操技巧详解

新手必看&#xff1a;AI写作后降AIGC率的6个实操技巧详解 TL;DR&#xff1a;用AI写完论文后&#xff0c;AIGC检测是绑不过去的坎。本文整理了6个实操技巧帮你降AI&#xff1a;改写句子结构、调整段落顺序、替换AI常用词、增加个人观点、删除高风险段落、使用专业降AI率工具。手…

作者头像 李华
网站建设 2026/6/10 11:01:07

JavaScript调用ABAP后端发布的restful服务

1.消费代码我这里账号密码配置在node.js的.env&#xff0c;所以注释了组装Authrization的部分let url http://localhost:3000/api/zbakewm?ACTIONGET_BSK_INFO;// const USERNAME 账号;// const PASSWORD 密码;// function getAuthHeader() {// const credentials bto…

作者头像 李华
网站建设 2026/6/10 11:01:28

知识蒸馏:让小模型继承大模型智慧的AI黑科技

知识蒸馏是一种让大模型&#xff08;老师&#xff09;教小模型&#xff08;学生&#xff09;的技术&#xff0c;通过"软标签"和"特征对齐"两种方式&#xff0c;将大模型的思考方式和隐性知识传递给小模型。这不仅是一种模型压缩技术&#xff0c;更是一种AI…

作者头像 李华