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

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

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 调换权重路径

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

相关文章
|
3月前
|
数据处理 开发工具 git
coco2017数据集转换为yolo格式(记录过程)
最近做一个yolov5的落地应用项目,用的anylabeling打标,需要将coco2017的数据集转为yolo格式,故写下记录过程!
|
5月前
|
机器学习/深度学习 JSON 算法
如何在自定义数据集上训练 YOLOv8 实例分割模型
在本文中,我们将介绍微调 YOLOv8-seg 预训练模型的过程,以提高其在特定目标类别上的准确性。Ikomia API简化了计算机视觉工作流的开发过程,允许轻松尝试不同的参数以达到最佳结果。
|
29天前
|
人工智能 物联网
PiSSA :将模型原始权重进行奇异值分解的一种新的微调方法
我们开始看4月的新论文了,这是来自北京大学人工智能研究所、北京大学智能科学与技术学院的研究人员发布的Principal Singular Values and Singular Vectors Adaptation(PiSSA)方法。
18 3
|
5月前
|
存储 数据可视化 计算机视觉
基于YOLOv8的自定义数据姿势估计
基于YOLOv8的自定义数据姿势估计
|
9月前
|
存储 大数据 Linux
基于 YOLOv8 的自定义数据集训练
基于 YOLOv8 的自定义数据集训练
|
机器学习/深度学习 算法 安全
使用PyTorch-LSTM进行单变量时间序列预测的示例教程
时间序列是指在一段时间内发生的任何可量化的度量或事件。尽管这听起来微不足道,但几乎任何东西都可以被认为是时间序列。一个月里你每小时的平均心率,一年里一只股票的日收盘价,一年里某个城市每周发生的交通事故数。在任何一段时间段内记录这些信息都被认为是一个时间序列。对于这些例子中的每一个,都有事件发生的频率(每天、每周、每小时等)和事件发生的时间长度(一个月、一年、一天等)。
1187 0
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch 保存和提取训练好的神经网络
Pytorch 保存和提取训练好的神经网络
Pytorch 保存和提取训练好的神经网络
|
XML JSON 数据中心
EasyDL分类训练数据集Json生成
EasyDL分类训练数据集Json生成
EasyDL分类训练数据集Json生成
|
机器学习/深度学习 存储 缓存
【34】文本文档分类实战(哈希编码/权重编码提取特征 + 卡方过滤 + 搭建神经网络分类)
【34】文本文档分类实战(哈希编码/权重编码提取特征 + 卡方过滤 + 搭建神经网络分类)
137 0
【34】文本文档分类实战(哈希编码/权重编码提取特征 + 卡方过滤 + 搭建神经网络分类)
|
机器学习/深度学习 数据挖掘
libsvm 训练后的模型参数讲解
libsvm 训练后的模型参数讲解