VOC格式(xml)标签批量转换为yolo格式(txt)标签

常见的数据集标签格式多为四种,分别是voc格式、yolo格式、json格式、coco格式。如何将voc转yolo格式的脚本文件。

voc格式标签的开源数据集VOC2007、VOC2012、VOC2017

yolo格式标签

好了介绍完了区别,现在上干货voc2yolo脚本核心


训练
接下来就是训练模型了,笔者在这里选用的是从预训练的*.pt模型开始训练,执行命令如下:

yolo task=detect mode=train model=datasets/yolov8s.pt epochs=10 batch=1 data=datasets/Helmet.yaml
当然,你也可以选择其它两种方式:

从yaml构建一个全新的模型,训练命令如下:
yolo task=detect mode=train model=yolov8s.yaml epochs=10 batch=1 data=datasets/Helmet.yaml
从yaml中构建一个新模型,将预训练的权重转移到它并开始训练。
yolo task=detect mode=train model=yolov8s.yaml pretrained=yolov8s.pt epochs=10 batch=1 data=datasets/Helmet.yaml
其中,

task:选择任务类型,可选[‘detect’, ‘segment’, ‘classify’, ‘init’]。
mode: 选择是训练、验证还是预测的任务类型,可选[‘train’, ‘val’, ‘predict’]。
model: 选择yolov8不同的模型配置文件,可选yolov8s、yolov8m、yolov8l、yolov8x、yolov8n。
data: 选择生成的数据集配置文件。
epochs:指的就是训练过程中整个数据集将被迭代多少次(我这里是cpu训练所以调的比较小)。
batch:一次看完多少张图片才进行权重更新(同上)。
pretrained:预训练模型。


环境搭建

1、安装cuda11.8 ,cudnn,anaconda

2、anaconda中配置虚拟python3.8环境

3、安装pytorch “conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia”

4、验证

import torch

torch.cuda.is_available()

如果是 True,意味着你可以使用 GPU。

5、安装yolo “import ultralytics yolo labelimg ”

6、验证“yolo predict model=yolov8n.pt source=’ultralytics/assets/bus.jpg’”如果报错“在 .\ultralytics-main路径下执行 pip uninstall ultralytics  然后重新 pip install ultralytics 即可”

7、训练“yolo task=detect mode=train model=O:\ultralytics-main_learn\ybb\dataset\yolov8x.pt epochs=60 batch=1 data=O:\ultralytics-main_learn\ybb\dataset\poppy.yaml”