yolov8训练自己的数据集以及权重转化为.engine格式(超详细)

文章目录

      • 1 获取.mp4
      • 2 pycharm切换文件
      • 2 .mp4文件提取帧图片
      • 3 帧图片筛选规则
      • 4 图片重命名
      • 5 图片名指定长度
      • 6 labelme使用规则
      • 7 标注人体关节点
      • 8 检测关键点标注的准确性
      • 9 json文件转化成txt文件
      • 10 划分数据集、验证集
      • 2 pycharm切换文件
      • 11 调整训练参数
      • 12 .pt文件转化.onnx
      • 13 .onnx转化.engine
      • 14 调换权重路径

1 获取.mp4

利用视频分析软件中的“数据处理”把采集的视频处理成.mp4文件,然后再放在另一个文件夹里面,如下:
在这里插入图片描述

2 pycharm切换文件

1 双击桌面pycharm

2 若是想要标记数据集:

(1)此时打开的pycharm项目是训练项目,就要重新打开最近的其他项目,操作如下:

a.鼠标点击File

b.鼠标点击Open Recent

c.鼠标点击 FileCaoZuo

在这里插入图片描述

点击之后会弹出,另一个项目的打开窗口,选择 New Window

在这里插入图片描述

这个时候任务栏下就会出现两个pycharm项目,如下:

在这里插入图片描述

选择的是 This Window 就会关闭当前窗口,任务栏只保留一个pycharm项目

在这里插入图片描述

(2)此时打开的正好是 FileCaoZuo 项目 ,继续向下操作。

2 .mp4文件提取帧图片

FileCaoZuo 项目里面的 pre_work 文件夹里面 “视频提取图片.py” .双击进去
在这里插入图片描述

1 把(1)处的视频路径换成刚刚另存文件夹的路径

2 (2)处的路径换成要保存图片的文件夹路径
在这里插入图片描述

3 右键运行

4 接着继续把1换成2、3、4、5、6,图片保存路径也换成2、3、4、5、6
在这里插入图片描述

3 帧图片筛选规则

1 把模糊不清、人不正常飞行的去掉

2 把相同动作的去掉

3 一套衣服训练集需要400-500张图片,共6个文件。每个文件夹筛选70-80张。

4 图片重命名

FileCaoZuo 项目里面的 pre_work 文件夹里面 “图片重命名.py” .双击进去
在这里插入图片描述

1 把路径换成刚刚保存的1文件图片的路径

2 i的值调整到0(0意思第一张图片从1开始命名)

3 右键运行

循环操作:

4 看1(2 3 4 5 )文件里面最后一张图片的名字 (注意顺序)

5 把路径换成刚刚保存的2(3 4 5 6)文件图片的路径

6 i的值依次查看上一个文件夹里面最后一张图片的名字

在这里插入图片描述

5 图片名指定长度

1 把6个文件的图片整合到一个新的文件夹(新文件命名随缘)里面的image里面

Eg:-新文件夹名

​ -image

​ -json
在这里插入图片描述

2 FileCaoZuo 项目里面的 pre_work 文件夹里面 “图片重名后指定长度.py” .双击进去
在这里插入图片描述
在这里插入图片描述

6 labelme使用规则

FileCaoZuo 项目 打开Terminal,输入labelme ,然后Enter
在这里插入图片描述

会出现新的界面,如下:

在这里插入图片描述

标注界面介绍以及把人框出来

在这里插入图片描述

标注关节点以及删除标错或者多标关节点

在这里插入图片描述

关节点标注之后保存到json文件里面

在这里插入图片描述

7 标注人体关节点

关键点标注原则:

(1) 按照下图的顺序进行标注

(2) 若是某个点被遮挡或者看不清就跳过该关节点的标注
在这里插入图片描述

8 检测关键点标注的准确性

FileCaoZuo 项目里面的 pre_work 文件夹里面 “coco_json.py” .双击进去
在这里插入图片描述

把如下json文件的路径写到“coco_json.py”里面的1中;2换成也换成同样的路径,保留路径后面的\val.json

在这里插入图片描述
在这里插入图片描述
FileCaoZuo 项目里面的 pre_work 文件夹里面 “检查coco格式的json.py” .双击进去
在这里插入图片描述

把路径换成image、json里面的val.json

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

查看图片有没有明显标注错误。

9 json文件转化成txt文件

在第5步里面“新建的文件夹”里面再创建一个 “annotations”
在这里插入图片描述

FileCaoZuo 项目里面的 pre_work 文件夹里面 “pose_json_txt.py” .双击进去

修改1 2处的路径,运行这个文件

在这里插入图片描述

10 划分数据集、验证集

在第5步里面“新建的文件夹”里面再创建一个 “split”
在这里插入图片描述

FileCaoZuo 项目里面的 pre_work 文件夹里面 “seg_split_data.py” .双击进去

修改1 2 3处的路径,运行这个文件

在这里插入图片描述

到此数据集就准备好了,准备好的文件如下:

1 数据集路径:D:\Data

在这里插入图片描述

2 点开进去之后: D:\Data\mi_pose
在这里插入图片描述
在这里插入图片描述

split文件夹里面就是划分好的数据集

在这里插入图片描述

2 pycharm切换文件

1 双击桌面pycharm

2 若是想要标记数据集:

(1)此时打开的正好是 Ultralytics-new 项目 ,继续向下操作。

(2)此时打开的pycharm项目是数据集项目,就要重新打开最近的其他项目,操作如下:

a.鼠标点击File

b.鼠标点击Open Recent

c.鼠标点击 Ultralytics-new

在这里插入图片描述

点击之后会弹出,另一个项目的打开窗口,选择 New Window

在这里插入图片描述

这个时候任务栏下就会出现两个pycharm项目,如下:

在这里插入图片描述

选择的是 This Window 就会关闭当前窗口,任务栏只保留一个pycharm项目

在这里插入图片描述

11 调整训练参数

Ultralytics-new 项目中打开ultralytics中的cfg中的datasets中的coco8-pose.yaml文件

在这里插入图片描述

把split里面对应的路径换成下面
在这里插入图片描述

Ultralytics-new 项目中打开ultralytics中的models中的yolo中的pose中的train.py文件,运行

在这里插入图片描述

运行之后会在pose目录下生成一个run文件,里面的train文件里保存的就是训练的结果。最下面的训练结果就是最新的。

在这里插入图片描述

12 .pt文件转化.onnx

Ultralytics-new 项目中 打开Terminal,输入下面命令:

yolo export model=r’D:\yolov8\ultralytics-new\ultralytics\models\yolo\pose\runs\pose\train6\weights\best.pt\best.pt’ format=onnx

这里的best.pt文件路径换成自己的。
在这里插入图片描述

结果会在当前.pt同级目录下生成.onnx

13 .onnx转化.engine

将生成的best.onnx文件(这里best可以重命名)复制到C盘里面的TensorRT-8.4.1.5中的bin目录下。

路径:C:\tensorrt\TensorRT-8.5.2.2\bin

然后 输入cmd进入命令行模式:

在这里插入图片描述

trtexec.exe --onnx=./best.onnx --saveEngine=./best.engine (若是上面的best换名字了这里要对应上)

在这里插入图片描述

………等一段时间以后,会在bin文件里面生成一个对应的.engine文件

在这里插入图片描述

14 调换权重路径

这里把视频分析软件里代码的权重路径改一下。

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

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

相关文章

最新WordPress网址导航设计师主题风格网站源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 最新WordPress精品网址导航主题整站源码WAP端修复tab标签ajax加载模式会显示未审核的网址的bug小屏幕热搜采用水平滚动优化子主题支持添加文章分页 二、效果展示 1.部分代码 代码如…

【React】Vite创建React+TS项目

前提条件 有node环境,且node版本>18.0.0 创建项目 npm create vitelatest1.起项目名 2.选择框架 3.选择语言 TypeScript SWC 是指 Vite 使用 SWC(Speedy Web Compiler)作为 TypeScript 的编译器。 SWC 是一个针对 JavaScript 和 Ty…

操作系统知识-存储管理+文件管理管理-嵌入式系统设计师备考笔记

0、前言 本专栏为个人备考软考嵌入式系统设计师的复习笔记,未经本人许可,请勿转载,如发现本笔记内容的错误还望各位不吝赐教(笔记内容可能有误怕产生错误引导)。 本章的主要内容见下图: 1、存储管理&#…

数据分析及应用 | 超强!深度学习Top10算法!(建议收藏!)

本文来源公众号“数据分析及应用”,仅用于学术分享,侵权删,干货满满。 原文链接:超强!深度学习Top10算法! 自2006年深度学习概念被提出以来,20年快过去了,深度学习作为人工智能领域…

基于Andriod的连锁药店管理系统(源码|论文)

一、系统架构 前端:vue | uni-app 后端:spring | springmvc | mybatis 环境:jdk1.8 | mysql | maven | node 二、代码及数据库 三、功能介绍 01. 登录页 02. 管理后台-首页 03. 管理后台-个人中心-修改密码 04. 管理后台-个人中心-个…

iOS报错-Command PhaseScriptExecution failed with a nonzero exit code

问题:iOS debug没问题,一打包就报错: Command PhaseScriptExecution failed with a nonzero exit code 解决方法如下: 在项目的Pods目录下,找到Targets Support Files->Pods-xxxx-frameworks.sh 如下&#xff1a…

Linux TCP参数——tcp_adv_win_scale

文章目录 tcp_adv_win_scaleip-sysctl.txt解释buffering overhead内核缓存和应用缓存示例计算深入理解从2到1(tcp_adv_win_scale的值)总结 tcp_adv_win_scale adv-advise;win-window; 用于指示TCP中接收缓存比例的值。 static inline int tcp_win_from_space(int …

【大数据面试题】 018 数据仓库的分层了解吗?说说你的理解

一步一个脚印,一天一道面试题。 数据仓库是比较常见的考点。今天就介绍一下数据仓库的分层。本篇文章会较多的图片是来自尚硅谷的。 数据仓库的背景和好处 数据仓库的诞生就和大数据的诞生有很大的相似。大数据的诞生是为了处理超大的数据,并在其中探…

kerberos验证协议安装配置使用

一、kerberos是什么 Kerberos 是一个网络身份验证协议,用于在计算机网络中进行身份验证和授权。它提供了一种安全的方式,允许用户在不安全的网络上进行身份验证,并获取访问网络资源的权限。 二、安装配置kerberos服务端 1、安装kerberos #检…

如何快速解决msvcr80.dll丢失问题,教你5种方法轻松搞定

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcr80.dll丢失”。MSVCR80.dll文件的丢失可能会引发一系列系统运行与软件功能上的问题。作为一个重要的动态链接库文件,它在Windows操作系统中扮演着关键角色,尤其…

【C++】Stack queue 模拟实现及容器适配器

目录 一、stack 1、stack 基本介绍 2、stack 的使用 3、stack 模拟实现 二、queue 1、queue 基本介绍 2、queue 的使用 3、queue 模拟实现 三、容器适配器 1、什么是适配器 ​2、deque 的基本介绍 3、deque 的基本结构 4、deque 的缺陷 一、stack 1、stack 基本介…

计算机二级(Python)真题讲解每日一题:《十字叉》

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬ ‪‬‪‬‪‬‪‬‪‬‮‬‪…