前言上一篇我们已经搭建好了100%可用的YOLOv8训练环境正式进入实战阶段。做YOLO目标检测项目环境只占20%数据集占80%。模型精度高不高、会不会漏检、会不会误检、现场稳不稳定全部取决于数据集质量。很多新手训练模型效果差不是参数不对而是数据集杂乱标注不规范没有划分训练集/验证集图片标签不对应yaml配置错误直接训练报错本篇给大家一套工业级、标准化、零踩坑的YOLO数据集制作全流程从原始图片 → 清洗 → 标注 → 自动划分 → 生成完整数据集结构全程手把手。一、YOLO数据集标准结构必须严格遵守YOLOv8 只认这一套结构文件夹错一个字母就跑不起来dataset ├── images │ ├── train │ └── val ├── labels │ ├── train │ └── val └── data.yamlimages 放图片labels 放对应txt标签。二、采集图片规范工业检测专用以你的氢化服、安全帽、人员检测场景举例分辨率推荐1280×720 / 960×544你之前训练的最优尺寸包含正常穿戴、未穿戴、遮挡、光线亮/暗、远近角度图片清晰、不要模糊、不要过度压缩图片名无中文、无空格、无特殊符号三、数据集清洗必做拿到原始图片先清洗避免脏数据影响模型删除模糊、黑屏、反光严重图片删除重复、高度相似图片删除没有目标的无效图可用上一篇教的Python批量文件处理代码统一筛选、改名、整理。四、标注工具推荐新手首选工业项目通用LabelImg优点免费、轻量、支持YOLO txt格式、上手简单。标注输出格式选择YOLO (.txt)五、标准标注规范决定模型精度新手90%标错的地方框不要留太大空白不要框不全、不要只框一半身体遮挡目标能看见主体就标小目标尽量精细标注标注越精细mAP、召回率越高你的模型能达到0.99就是标注规范。六、自动划分训练集/验证集代码一键完成手动分文件夹太慢我给你新手万能划分代码自动按 8:2 划分 train/val图片标签自动对应、不乱序。import os import random import shutil # 配置路径 img_path ./all_images label_path ./all_labels train_img ./dataset/images/train val_img ./dataset/images/val train_label ./dataset/labels/train val_label ./dataset/labels/val # 创建文件夹 os.makedirs(train_img, exist_okTrue) os.makedirs(val_img, exist_okTrue) os.makedirs(train_label, exist_okTrue) os.makedirs(val_label, exist_okTrue) # 获取所有图片 imgs [f for f in os.listdir(img_path) if f.endswith((.jpg,.png))] random.shuffle(imgs) # 8:2划分 split int(len(imgs)*0.8) train_set imgs[:split] val_set imgs[split:] # 复制文件 for img in train_set: shutil.copy(os.path.join(img_path,img), os.path.join(train_img,img)) txt img.replace(.jpg,.txt).replace(.png,.txt) shutil.copy(os.path.join(label_path,txt), os.path.join(train_label,txt)) for img in val_set: shutil.copy(os.path.join(img_path,img), os.path.join(val_img,img)) txt img.replace(.jpg,.txt).replace(.png,.txt) shutil.copy(os.path.join(label_path,txt), os.path.join(val_label,txt)) print(数据集划分完成)七、生成标准 data.yaml训练核心文件yaml 是 YOLO 读取类别、路径的唯一配置文件。直接复制修改即可path: ./dataset train: images/train val: images/val nc: 2 names: [person,hydrogen_suit]nc代表类别数量names对应你的标签名称八、数据集最终自检清单训练前必看满足以下条件训练必稳、精度必高图片、标签数量完全对应无缺失无中文、无乱码、无重名文件训练集80%、验证集20%yaml路径、类别数完全正确图片分辨率统一 1280/960 高清格式九、结尾到这里你已经掌握了工业级YOLO数据集完整制作流程图片采集 → 数据清洗 → 规范标注 → 自动划分 → 生成yaml配置数据集是模型的底子底子打好后面训练出来的模型精度高、不翻车、可落地。下一篇YOLO高清数据集专属训练教程1280/960分辨率最优参数、防过拟合、收敛稳、精度拉满
YOLO实战第二篇:数据集从零制作完整教程(标注、划分、清洗、生成yaml,零基础零报错)
前言上一篇我们已经搭建好了100%可用的YOLOv8训练环境正式进入实战阶段。做YOLO目标检测项目环境只占20%数据集占80%。模型精度高不高、会不会漏检、会不会误检、现场稳不稳定全部取决于数据集质量。很多新手训练模型效果差不是参数不对而是数据集杂乱标注不规范没有划分训练集/验证集图片标签不对应yaml配置错误直接训练报错本篇给大家一套工业级、标准化、零踩坑的YOLO数据集制作全流程从原始图片 → 清洗 → 标注 → 自动划分 → 生成完整数据集结构全程手把手。一、YOLO数据集标准结构必须严格遵守YOLOv8 只认这一套结构文件夹错一个字母就跑不起来dataset ├── images │ ├── train │ └── val ├── labels │ ├── train │ └── val └── data.yamlimages 放图片labels 放对应txt标签。二、采集图片规范工业检测专用以你的氢化服、安全帽、人员检测场景举例分辨率推荐1280×720 / 960×544你之前训练的最优尺寸包含正常穿戴、未穿戴、遮挡、光线亮/暗、远近角度图片清晰、不要模糊、不要过度压缩图片名无中文、无空格、无特殊符号三、数据集清洗必做拿到原始图片先清洗避免脏数据影响模型删除模糊、黑屏、反光严重图片删除重复、高度相似图片删除没有目标的无效图可用上一篇教的Python批量文件处理代码统一筛选、改名、整理。四、标注工具推荐新手首选工业项目通用LabelImg优点免费、轻量、支持YOLO txt格式、上手简单。标注输出格式选择YOLO (.txt)五、标准标注规范决定模型精度新手90%标错的地方框不要留太大空白不要框不全、不要只框一半身体遮挡目标能看见主体就标小目标尽量精细标注标注越精细mAP、召回率越高你的模型能达到0.99就是标注规范。六、自动划分训练集/验证集代码一键完成手动分文件夹太慢我给你新手万能划分代码自动按 8:2 划分 train/val图片标签自动对应、不乱序。import os import random import shutil # 配置路径 img_path ./all_images label_path ./all_labels train_img ./dataset/images/train val_img ./dataset/images/val train_label ./dataset/labels/train val_label ./dataset/labels/val # 创建文件夹 os.makedirs(train_img, exist_okTrue) os.makedirs(val_img, exist_okTrue) os.makedirs(train_label, exist_okTrue) os.makedirs(val_label, exist_okTrue) # 获取所有图片 imgs [f for f in os.listdir(img_path) if f.endswith((.jpg,.png))] random.shuffle(imgs) # 8:2划分 split int(len(imgs)*0.8) train_set imgs[:split] val_set imgs[split:] # 复制文件 for img in train_set: shutil.copy(os.path.join(img_path,img), os.path.join(train_img,img)) txt img.replace(.jpg,.txt).replace(.png,.txt) shutil.copy(os.path.join(label_path,txt), os.path.join(train_label,txt)) for img in val_set: shutil.copy(os.path.join(img_path,img), os.path.join(val_img,img)) txt img.replace(.jpg,.txt).replace(.png,.txt) shutil.copy(os.path.join(label_path,txt), os.path.join(val_label,txt)) print(数据集划分完成)七、生成标准 data.yaml训练核心文件yaml 是 YOLO 读取类别、路径的唯一配置文件。直接复制修改即可path: ./dataset train: images/train val: images/val nc: 2 names: [person,hydrogen_suit]nc代表类别数量names对应你的标签名称八、数据集最终自检清单训练前必看满足以下条件训练必稳、精度必高图片、标签数量完全对应无缺失无中文、无乱码、无重名文件训练集80%、验证集20%yaml路径、类别数完全正确图片分辨率统一 1280/960 高清格式九、结尾到这里你已经掌握了工业级YOLO数据集完整制作流程图片采集 → 数据清洗 → 规范标注 → 自动划分 → 生成yaml配置数据集是模型的底子底子打好后面训练出来的模型精度高、不翻车、可落地。下一篇YOLO高清数据集专属训练教程1280/960分辨率最优参数、防过拟合、收敛稳、精度拉满