主页 > IT业界  > 

C#使用纯OpenCvSharp部署yolov8-pose姿态识别

C#使用纯OpenCvSharp部署yolov8-pose姿态识别

【源码地址】 

github地址: github /ultralytics/ultralytics

【算法介绍】

Yolov8-Pose算法是一种基于深度神经网络的目标检测算法,用于对人体姿势进行准确检测。该算法在Yolov8的基础上引入了姿势估计模块,通过联合检测和姿势估计的方式来实现准确的姿势检测。

Yolov8-Pose算法的基本思想是将姿势检测任务转化为多个关键点的检测任务。人体姿势可以看作是由多个关键点组成的,例如头部、肩膀、手肘、手腕等。Yolov8-Pose算法通过在Yolov8的基础上增加额外的关键点检测层,来实现对这些关键点的检测和定位。

Yolov8-Pose算法的网络结构是在Yolov3的基础上进行改进和优化得到的。它采用了Darknet作为主干网络,并在其上添加了一系列的卷积层、上采样层和连接层,以提取更丰富的特征信息。同时,为了实现人体姿态点的检测和估计,Yolov8-Pose在输出层上引入了关键点检测的任务分支。

通过以上原理,Yolov8-Pose算法能够在保持检测速度的同时,实现对人体姿势的准确检测,从而在人体姿态估计领域具有一定的应用价值。

【效果】

【部分实现代码】

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 { Mat src = new Mat(); Yolov8PoseManager ypm = new Yolov8PoseManager(); 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 = ypm.Inference(src); sw.Stop(); this.Text = "耗时" + sw.Elapsed.TotalSeconds + "秒"; var resultMat = ypm.DrawImage(src,result); pictureBox2.Image= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(resultMat); //Mat转Bitmap } private void Form1_Load(object sender, EventArgs e) { ypm.LoadWeights(Application.StartupPath+ "\\weights\\yolov8n-pose.onnx"); } private void btn_video_Click(object sender, EventArgs e) { } } }

【测试环境】

vs2019

net framework4.7.2

【视频演示】

bilibili /video/BV1T64y1E7ws/

【源码下载地址】

download.csdn.net/download/FL1623863129/88691350

标签:

C#使用纯OpenCvSharp部署yolov8-pose姿态识别由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“C#使用纯OpenCvSharp部署yolov8-pose姿态识别