超详细yolov8训练数据集流程

目录

一,构建数据集

1,任意位置新建如下文件夹

2,xml转txt

3,划分数据集

二、配置yolov8训练文件

1,car文件夹下创建mydata.yaml(当然别的位置创建也行)

 2,修改yolov8x.yaml

 三、训练


一,构建数据集

1,任意位置新建如下文件夹

|------car(目标检测类别名)

|      |------dataSet(后续在文件夹下生成存放images中图像路径的txt文件)

|      |------images(不可改名,存放图像文件,图像不需要统一格式)

|      |------labels(不可改名,存放标签文件,标签与图像根据文件名一一对应)

|      |------xml(存放xml文件,labelImg的VOC格式打标生成的xml文件)

labelImg打标,可以打标为VOC格式(xml文件)和YOLO格式(txt文件)

如果打标为VOC格式,后续需要转成YOLO格式,也就是xml文件转换为txt文件

所以直接打标为YOLO格式就不需要xml转txt,也不需要xml文件夹。

但是,xml转txt容易,txt转xml就难了

labelimg安装与使用:labelimg数据打标

2,xml转txt

 代码如下,按提示修改即可

#trans
# voc_to_yolo.py

import os
import xml.etree.ElementTree as ET
from fnmatch import fnmatch


# 转换之前先修改类别和路径
classes  = ["car"]
# 指定路径
IN_PATH  = "./xml"           # xml文件夹路径
OUT_PATH = "./labels"        # txt文件夹路径

# 一般情况不修改:类别起始编号start_number
start_number = 0



# (lx,ly,rx,ry) -> (cx,xy,w,h)
def convert(size, box):
    dw = 1. / size[0]
    dh = 1. / size[1]
    x = (box[0] + box[1]) / 2.0
    y = (box[2] + box[3]) / 2.0
    w = box[1] - box[0]
    h = box[3] - box[2]
    x = x * dw
    w = w * dw
    y = y * dh
    h = h * dh
    return x, y, w, h

def convert_annotation(in_path, out_path, img_id):
    i_p = os.path.join(in_path, img_id+'.xml')
    
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值