YOLOv10(7):YOLOv10训练(以训练VOC数据集为例)

YOLOv10(1):初探,训练自己的数据_yolov10 训练-CSDN博客

YOLOv10(2):网络结构及其检测模型代码部分阅读_yolov10网络结构图-CSDN博客

YOLOv10(4):损失(Loss)计算及其检测模型代码部分阅读_yolov10损失函数-CSDN博客

YOLOv10(6):YOLOv10基于TensorRT的部署(基于INetworkDefinition)_yolov10网络结构图-CSDN博客


目录

1. 写在前面

2. 数据集准备

3. 训练前配置

4. 开始训练

5. 评估模型


1. 写在前面

        我们在YOLOv10初探第一课中,已经涉及到了一些关于如何训练自己数据集的信息,接下来本节将以VOC数据集(VOC标注形式)来更详细的带领小伙伴们走一遍训练。

2. 数据集准备

        VOC数据集,全称为Visual Object Classes数据集,是一种广泛使用的计算机视觉数据集,主要用于目标检测、图像分割和图像分类等任务。

        VOC类型的标注一般我们可以使用labelimg软件完成,标注后所得到的标签文件一般是XML类型,其中的内容形式如下。其中坐标信息是左上右下的形式。

我们要训练 YOLOv10,一种方法是转换成YOLO格式(txt文件形式),其内容参考如下,每一行是一个目标,包含类别ID,中心点和宽高信息(归一化之后)。

这一步我们可以通过脚本来转换,参考s1_voc2yolo_convert.py文件。运行该脚本以后,会在指定的数据及路径下生成labels子文件夹,文件夹中的内容如下所示,每一张图片对应生成一个txt标注文件。

转换完成以后,还需要将完整的数据集划分为测试集、训练集和评估集,参考脚本s2_split_train_val_test.py

运行完该脚本以后,会在数据集路径下生成四个txt文件,分别是test.txt、train.txt、trainval.txt和val.txt,其中内容为完整的图像路径,如下。

3. 训练前配置

经过以上的数据集转换、处理以后,接下来仅需要进行简单的配置就可以进行训练了。

首先是数据集文件,在路径ultralytics/cfg/datasets路径下,仿照VOC.yaml创建一个新的文件即可。其内容如下所示。

然后是模型文件,如选择YOLOv10m,可以直接修改ultralytics/cfg/models/v10/yolov10m.yaml文件,将其中的nc改成对应的类别数。

4. 开始训练

处理完成数据,完成配置以后,就可以进行训练了,前面讲过,先对./ultralytics/models/yolov10/train进行一些改动,参考如下。

之后就可以开始训练了,首先进入YOLOv10的顶层路径,执行如下指令开始训练。

python3 ./ultralytics/models/yolov10/train.py。

必要时使用sudo。

5. 评估模型

在训练过程中,每一个epoch训练完成以后都会进行相应的评估,可以观察P、R、mAP@0.5、mAP@0.5:0.95等评估参数

也可以通过运行模型,将检测结果绘制在图像上进行观看,具体使用python3 ./ultralytics/models/yolov10/predict.py,完成绘制以后,效果如下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值