手把手教你使用Yolov5制作并训练自己的数据集

本文详细介绍了如何使用Labelme工具创建和转换图像标注数据,配置Yolov5模型,并进行训练和测试。步骤包括安装Labelme、设置数据集路径、调整配置参数,以及在PyCharm中执行训练与测试命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.数据集制作

1.1 labelme安装使用

2.数据集与模型配置

2.1 存放数据集

 2.2 修改data->XYB.yaml和LabelmeToXYB.py的参数

2.3 配置环境和下载模型所需的依赖

3.训练和测试

3.1 训练

3.2 测试


程序使用教程

使用的yolov5代码存放在了百度网盘:

链接:百度网盘 请输入提取码 
提取码:2xic

官方源代码地址:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

1.数据集制作

1.1 labelme安装使用

参考链接:

labelme的安装与使用(深度学习打图像分割的标签)_是七叔呀的博客-优快云博客_图像分割 打标签

关于labelme标注生成的json文件批量转为label/mask的问题 - 简书
labelme安装及使用_Chaojun_Shi的博客-优快云博客_labelme安装

在命令行界面中输入如下代码进行标注软件的安装和使用:

依次执行成功:

pip install pyqt5
pip install labelme 

#命令行执行如下语句打开软件:

labelme

软件打开后界面如下图所示:

 然后,进行图片标注,点击Open Dir,选择数据集图片所在文件夹:

 点击edit-> Create Rectangle(或Ctrl+R快捷键)标注新的label。

目标的矩形框标注完成后,点击OK,保存目标的类别标签信息;整张图片所有待标注对象标注完后,点击Save:

点击NextImage标记下一张图片:

 所有标签标注完成后,文件夹中将会出现所有对应于每个图片json标签文件:

2.数据集与模型配置

首先将项目导入Pycharm:

2.1 存放数据集

将所有数据集图片和json标签文件夹放到工程目录下的datasets文件夹内:

 2.2 修改data->XYB.yaml和LabelmeToXYB.py的参数

它们的位置如下:

       首先修改data->XYB.yaml的参数:

       然后修改LabelmeToXYB.py的参数:

修改完上述参数后运行LabelmeToXYB.py,将会在tmp文件夹下生成如下文件:

2.3 配置环境和下载模型所需的依赖

Pycharm终端运行如下命令:

pip install -r requirements.txt

3.训练和测试

3.1 训练

运行如下指令进行训练(详情查看工程文件目录下README.md文件):

python train.py --data data/XYB.yaml --cfg xyb_m.yaml --batch-size 64

训练后数据保存在工程目录下runs->train文件夹内,首次运行权重将会保存在runs->train->exp->weights文件夹下,之后运行成功后将会依次保存在exp2/3/4/…;

并且会生成train.cache文件

 

 

3.2 测试

运行如下指令进行测试,--weights选择权重文件,--source选择需要测试的放有图片/视频的文件夹,或具体的图片和视频,详情查看README.md文件

python detect.py --weights runs/train/exp/weights/best.pt --source datasets/

具体参数相关如下:

python detect.py --source file.jpg  # 图片

                     file.mp4  # 视频

                     path/  # 文件夹下所有媒体图片 视频

最终生成的训练和测试相关的文件数据保存在runs下的两个文件夹内:

<think>好的,我现在需要帮助用户了解如何使用YOLOv9训练自己的数据集。用户提到了参考内容中的两篇程,分别是关于YOLOv5YOLOv9的。虽然用户现在询问的是YOLOv9,但可能YOLOv5的某些步骤类似,比如数据准备和标注。不过,我需要确保信息准确针对YOLOv9。 首先,用户的问题是关于训练自定义数据集的步骤,需要结构清晰的回答。根据提供的引用内容,特别是引用[2],其中提到YOLOv9的结构和轻量化设计,可能需要强调数据准备、配置环境、模型调整、训练参数设置等步骤。 接下来,我需要按照用户的要求,分步骤回答,确保每个步骤都有明确的指导,且符合系统级指令,比如使用正确的LaTeX格式,生成相关问题。同时,回答需要引用提供的参考内容,但注意引用[1]是关于YOLOv5的,而用户主要需要YOLOv9的信息,所以可能需要谨慎引用,避免混淆。 步骤可能包括: 1. 数据集准备:格式要求(如YOLO格式的标签),标注工具的使用,目录结构。 2. 环境配置:安装依赖,克隆YOLOv9仓库,安装必要的库。 3. 配置文件调整:修改data.yaml指向自己的数据集,选择模型(可能YOLOv9有不同的版本如yolov9-c, yolov9-e)。 4. 训练参数设置:调整epochs、batch size、学习率等。 5. 启动训练:运行训练命令,监控训练过程。 6. 模型验证:使用验证集测试模型性能。 需要确保每个步骤都具体,例如给出示例代码块,如训练命令,解释参数。同时,注意使用正确的格式,如代码块用反引号包裹,LaTeX公式用$...$或$$...$$。此外,生成的相关问题需要与YOLOv9训练相关,比如数据增强方法、模型结构优化、部署应用等。 可能遇到的挑战是确保信息准确,因为用户提供的引用[2]虽然提到了YOLOv9的结构,但具体的训练步骤可能没有详细说明。因此,需要基于通用的YOLO训练流程,结合YOLOv9的特点来回答,同时注明引用来源。另外,需要注意区分YOLOv5YOLOv9的不同之处,避免混淆步骤。 最后,检查是否符合所有系统指令,特别是LaTeX的正确使用和引用标识的位置。确保回答结构清晰,步骤详细,帮助用户逐步完成训练过程。</think>### 如何使用 YOLOv9 训练自定义数据集 #### 1. **数据集准备与标注** - **数据格式要求**: YOLOv9 使用 YOLO 格式的标注文件(`.txt`),每行格式为 `class_id x_center y_center width height`,坐标需归一化到 $[0,1]$[^2]。 - **标注工具**: 推荐使用 LabelImg 或 CVAT,标注后生成 `.txt` 文件与图像同名。 - **目录结构**: ``` dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ ``` #### 2. **环境配置** - **安装依赖**: ```bash git clone https://github.com/WongKinYiu/yolov9 # 克隆官方仓库 cd yolov9 pip install -r requirements.txt # 安装PyTorch等依赖 ``` #### 3. **配置文件调整** - **修改 `data.yaml`**: ```yaml train: ../dataset/images/train val: ../dataset/images/val nc: 10 # 类别数 names: ['cat', 'dog', ...] # 类别名称列表 ``` - **选择模型**: YOLOv9 提供不同规模的预训练模型(如 `yolov9-c.pt`, `yolov9-e.pt`),根据需求选择。 #### 4. **训练参数设置** - **关键参数**: - `--epochs`: 训练轮次(默认 300) - `--batch-size`: 批次大小(根据显存调整) - `--img-size`: 输入图像分辨率(如 $640 \times 640$) - `--data`: 数据配置文件路径(`data.yaml`) - `--cfg`: 模型配置文件路径(如 `models/yolov9-c.yaml`) - `--weights`: 预训练权重路径(如 `yolov9-c.pt`) #### 5. **启动训练** ```bash python train.py \ --img 640 \ --batch 16 \ --epochs 100 \ --data ./data.yaml \ --cfg ./models/yolov9-c.yaml \ --weights yolov9-c.pt ``` #### 6. **模型验证与推理** - **验证性能**: ```bash python val.py \ --data ./data.yaml \ --weights runs/train/exp/weights/best.pt ``` - **可视化结果**: 使用 `detect.py` 对测试图像进行推理。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值