【YOLOv8新玩法】姿态评估解锁找圆心位置

前言

Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现圆检测与圆心位置预测,主要是通过对YOLOv8姿态评估模型在自定义的数据集上训练,生成一个自定义的圆检测与圆心定位预测模型

制作数据集

本人从网络上随便找到了个工业工件,然后写代码合成了一些数据,总计数据有360张图像、其中336张作为训练集、24张作为验证集。
在这里插入图片描述
其中YOLOv的数据格式如下:
在这里插入图片描述
解释一下:

Class-index 表示对象类型索引,
从0开始 后面的四个分别是对象的中心位置与宽高 xc、yc、width、height
px1,py1表示第一个关键点坐标、p1v表示师傅可见,默认填2即可

模型训练

跟训练YOLOv8对象检测模型类似,直接运行下面的命令行即可:

yolo train model=yolov8n-pose.pt data=circle_dataset.yaml epochs=15 imgsz=640 batch=1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模型导出预测

训练完成以后模型预测推理测试 使用下面的命令行:

yolo predict model=D:\python\my_yolov8_train_demo\runs\pose\train3\weights\best.pt source=D:\bird_test\back1\2.png

在这里插入图片描述
导出模型为ONNX格式,使用下面命令行即可

yolo export model=D:\python\my_yolov8_train_demo\runs\pose\train3\weights\best.pt format=onnx

在这里插入图片描述

部署推理

基于ONNX格式模型,采用ONNXRUNTIME推理结果如下:
在这里插入图片描述
在这里插入图片描述

ORT相关的推理演示代码如下:

def ort_circle_demo():# initialize the onnxruntime session by loading model in CUDA supportmodel_dir = "D:/python/my_yolov8_train_demo/circle_detect.onnx"session = onnxruntime.InferenceSession(model_dir, providers=['CUDAExecutionProvider'])# 就改这里, 把RTSP的地址配到这边就好啦,然后直接运行,其它任何地方都不准改!# 切记把 onnx文件放到跟这个python文件同一个文件夹中!frame = cv.imread("D:/bird_test/back1/3.png")bgr = format_yolov8(frame)fh, fw, fc = frame.shapestart = time.time()image = cv.dnn.blobFromImage(bgr, 1 / 255.0, (640, 640), swapRB=True, crop=False)# onnxruntime inferenceort_inputs = {session.get_inputs()[0].name: image}res = session.run(None, ort_inputs)[0]# matrix transpose from 1x8x8400 => 8400x8out_prob = np.squeeze(res, 0).Tresult_kypts, confidences, boxes = wrap_detection(bgr, out_prob)for (kpts, confidence, box) in zip(result_kypts, confidences, boxes):cv.rectangle(frame, box, (0, 0, 255), 2)cv.rectangle(frame, (box[0], box[1] - 20), (box[0] + box[2], box[1]), (0, 255, 255), -1)cv.putText(frame, ("%.2f" % confidence), (box[0], box[1] - 10), cv.FONT_HERSHEY_SIMPLEX, .5, (0, 0, 0))cx = kpts[0]cy = kpts[1]cv.circle(frame, (int(cx), int(cy)), 3, (255, 0, 255), 4, 8, 0)cv.imshow("Circle Detection Demo", frame)cv.waitKey(0)cv.destroyAllWindows()if __name__ == "__main__":ort_circle_demo()

从此,我又相信YOLOv8了。

特别推荐

学会使用最新版本OpenCV4.8部署YOLO系列模型,请看本人新书
《OpenCV应用开发:入门、进阶与工程化实践》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/292072.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Map集合体系

Map集合的概述 Map集合是一种双列集合,每个元素包含两个数据。 Map集合的每个元素的格式:keyvalue(键值对元素)。 Map集合也被称为“键值对集合”。 Map集合的完整格式:{key1value1 , key2value2 , key3value3 , ...} Map集合的使用场景…

基于Java SSM框架实现咖啡馆管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现咖啡馆管理系统演示 摘要 2021是网络科技的时代 ,众多的软件被开发出来,给客户带来了很大的选择余地,而且客户越来越追求更个性的需求。在这种时代背景下,客户对咖啡馆管理系统越来越重视,使更好…

【ARM 安全系列介绍 3.4 -- 安全证书介绍】

文章目录 安全证书安全证书的主要组成部分安全证书的应用场景证书使用举例 证书格式PEM (Privacy Enhanced Mail)DER (Distinguished Encoding Rules)PKCS#7/P7B (Public Key Cryptography Standards #7)PKCS#12/PFX (Public Key Cryptography Standards #12)P7B 和 PFX/P12 的…

展馆漫游可视化与智慧展厅:开启未来展览新篇章

随着科技的飞速发展,展馆行业也在不断寻求创新和突破。展馆漫游可视化和智慧展厅的出现,为展馆行业带来了全新的发展机遇。本文将围绕这两个主题,探讨它们如何改变传统展览模式,开启未来展览新篇章。 一、展馆漫游可视化&#xff…

Polygon zkEVM Spearbit审计报告解读(2022年12月版本)

1. 引言 前序博客: Polygon zkEVM Hexens审计报告解读(2022年12月至2023年2月版本) 主要见: Polygon zkEVM Security Review: December 2022 Engagement Polygon zkEVM为提供(opcode层面兼容的)EVM等价…

Python自动化测试系列[v1.0.0][常见页面操作处理]

[智能等待] # 用于实现智能等待页面元素的出现 # encoding utf-8 """ __title__ __author__ davieyang __mtime__ 2018/4/21 """ from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait …

代码签名证书是什么?

代码签名证书就像是软件世界的身份证,它为开发者提供了一种在分发软件时验证软件真实性和完整性的方式。通过使用数字签名技术,开发者可以将自己的“签名”嵌入软件中,确保在软件传播的过程中不被篡改。 代码签名证书的作用 确保软件完整性&…

异步Buck升级为同步Buck注意点总结(摘自芯洲)

1 介绍图 2所示,异步Buck变换器采用肖特基二极管作为续流管,而同步Buck变换器用MOSFET替代肖特基二极管进行续流,由于MOSFET的导通电阻很低,所以导通损耗较低,而肖特基二极管的损耗为其正向导通压降乘以电流&#xff0…

kali-钓鱼网站远程代码漏洞分析

文章目录 一、靶场搭建二、开始信息收集,寻找漏洞三、使用蚁剑连接后门程序四、使用webshell查看数据库信息五、进入网站后台 实验环境 Kali CentOs 一、靶场搭建 CentOsIP地址192.168.64.159 #关闭centos防火墙 [rootlocalhost ~]# systemctl disable --now fi…

抖音网红罗盘时钟改良版

文章目录 💕效果展示💕代码展示HTML💕效果展示 💕代码展示 HTML <!DOCTYPE html> <html lang=

pr插件|特殊编码.mkv/mov/flv/webm/avi/wmv/vob等多种格式视频素材直接导入pr的插件 Influx v1.2.5

适用于Adobe的一体式原生导入器插件&#xff08;Premiere Pro、After Effects和Media Encoder&#xff09;。支持多种格式和编解码器。 主要特点 直接在Adobe CC Video中进行本机导入 不再需要通过外部转码软件&#xff01;节省时间、磁盘空间和麻烦 在Premiere Pro中导入和编辑…

开源元数据治理平台Datahub部署指南(小白版)

1.引言 datahub是做什么的&#xff0c;这里就不展开描述了&#xff0c; 如果想了解更多请自行阅读DataHub官网文档&#xff0c; 这里主要教大家如何一步一步安装然后100%部署完成。一般开源产品的文档都是被大家吐槽的最多的&#xff0c;部署步骤写的非常简单&#xff0c;重要…