尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【YOLO实战系列 5/17】从0到1制作YOLO数据集:LabelImg标注→格式转换→增强
# 从0到1制作YOLO数据集LabelImg标注→格式转换→增强附脚本训练一个自定义YOLO模型80%的时间都花在数据上。今天手把手带你走完完整流程标注 → 格式转换 → 数据增强 → 一键划分。跟着做你也能做出“喂给YOLO吃”的高质量数据集哈喽这里是【YOLO模型仓库】。这周开始真正动手做一个属于你自己的数据集。不管你是想做安全帽检测、车辆识别还是水果分类流程都一样。我直接把标注工具 转换脚本 增强脚本全打包给你文末免费领 今天你将学会1️⃣ 用LabelImg打标签附操作动图2️⃣ YOLO标签格式长什么样一看就懂3️⃣ 数据集目录结构 自动划分脚本4️⃣ 数据增强让模型更鲁棒附代码5️⃣ 生成data.yaml直接喂给YOLO训练️ 一、LabelImg图形化标注工具安装一行命令pipinstalllabelimg启动labelimg界面操作超简单点击Open Dir打开你的图片文件夹点击Change Save Dir选择标签保存位置重要在菜单栏选择YOLO格式默认是PascalVOC按W开始画框 → 框住物体 → 输入类别 → 按CtrlS保存按D下一张重复以上步骤️此处插入LabelImg界面截图标注一个安全帽 小技巧按A上一张CtrlZ撤销效率翻倍。YOLO标签长这样.txt文件0 0.523 0.412 0.156 0.0830 类别ID从0开始0.523 框中心x坐标归一化0~10.412 框中心y坐标0.156 框宽度相对原图比例0.083 框高度别怕LabelImg自动帮你算好了你只管画框。 二、标准数据集目录结构YOLO要求固定的文件夹组织my_dataset/ ├── images/ │ ├── train/ │ │ ├── img1.jpg │ │ └── img2.jpg │ └── val/ │ ├── img3.jpg │ └── img4.jpg └── labels/ ├── train/ │ ├── img1.txt │ └── img2.txt └── val/ ├── img3.txt └── img4.txt⚠️ 注意图片和标签一一对应文件名相同后缀不同。一键划分训练/验证集Python脚本把下面脚本保存为split_dataset.py放在图片和标签同级目录运行importosimportrandomimportshutil# 设置路径img_dirimages# 所有原始图片label_dirlabels# 所有原始标签train_ratio0.8# 80%训练20%验证# 获取所有图片名无后缀names[f.split(.)[0]forfinos.listdir(img_dir)iff.endswith(.jpg)]random.shuffle(names)split_idxint(len(names)*train_ratio)train_namesnames[:split_idx]val_namesnames[split_idx:]# 创建目标文件夹fordin[images/train,images/val,labels/train,labels/val]:os.makedirs(d,exist_okTrue)# 拷贝文件fornameintrain_names:shutil.copy(f{img_dir}/{name}.jpg,fimages/train/{name}.jpg)shutil.copy(f{label_dir}/{name}.txt,flabels/train/{name}.txt)fornameinval_names:shutil.copy(f{img_dir}/{name}.jpg,fimages/val/{name}.jpg)shutil.copy(f{label_dir}/{name}.txt,flabels/val/{name}.txt)print(fDone! Train:{len(train_names)}, Val:{len(val_names)})运行后自动划分好省时省力。 三、数据增强让模型见过更多“世面”为什么要增强因为真实世界光线、角度千变万化增强后的模型更鲁棒mAP能涨2~5个点。安装albumentations库pipinstallalbumentations增强脚本对图片和标签同步处理importalbumentationsasAimportcv2# 定义增强流水线transformA.Compose([A.HorizontalFlip(p0.5),# 水平翻转A.RandomBrightnessContrast(p0.2),# 随机亮度对比度A.Rotate(limit10,p0.3),# 小角度旋转A.Blur(blur_limit3,p0.1),# 轻微模糊],bbox_paramsA.BboxParams(formatyolo))# 读取图片和对应标签yolo格式imagecv2.imread(img1.jpg)withopen(img1.txt)asf:bboxes[list(map(float,line.strip().split()))forlineinf]# 应用增强augmentedtransform(imageimage,bboxesbboxes)aug_imgaugmented[image]aug_bboxesaugmented[bboxes]# 保存增强后的图片和标签cv2.imwrite(img1_aug.jpg,aug_img)withopen(img1_aug.txt,w)asf:forbinaug_bboxes:f.write(f{int(b[4])}{b[0]:.6f}{b[1]:.6f}{b[2]:.6f}{b[3]:.6f}\n)️此处插入原图 vs 增强后对比图你可以运行多次把数据集扩大2~3倍。 四、生成data.yamlYOLO训练配置文件在数据集根目录创建data.yaml# 训练集和验证集路径相对于data.yaml的位置train:images/trainval:images/val# 类别数nc:2# 类别名称顺序必须与标注时的ID一致names:[helmet,head]搞定现在这个文件夹可以直接丢给YOLO训练了。配套资源本文涉及的完整代码、数据集和配置文件已整理归档感兴趣的朋友可以在我的 CSDN 主页简介中找到获取方式。如果觉得有帮助欢迎点赞收藏有问题欢迎评论区交流
RELATED

相关推荐

如何7天精通ComfyUI模块化AI绘图:从零到专业工作流终极指南

如何7天精通ComfyUI模块化AI绘图:从零到专业工作流终极指南

如何7天精通ComfyUI模块化AI绘图:从零到专业工作流终极指南 【免费下载链接】ComfyUI The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI Comf…

📅 2026/9/8 5:30:19
从非结构化文本到结构化数据:基于正则表达式与Flask的电竞赛事信息提取与Web应用构建

从非结构化文本到结构化数据:基于正则表达式与Flask的电竞赛事信息提取与Web应用构建

大家好,我是专注于技术实战分享的博主。今天我们来聊一个看似与编程无关,实则蕴含丰富数据处理与自动化潜力的主题:如何从一场电竞赛事(如“【2026使命召唤夏季大师杯】20260724 常规赛 RAG VS DVS”)的标题和信息中&a…

📅 2026/9/13 19:01:34
图像识别数据集工具箱:从获取、标注到格式转换的完整实战指南

图像识别数据集工具箱:从获取、标注到格式转换的完整实战指南

1. 项目概述:为什么你需要一个“图像识别数据集”工具箱 做图像识别,无论是搞学术研究还是做工业应用,第一步也是最关键的一步,永远是数据。没有高质量、对路的数据集,再先进的模型也是“巧妇难为无米之炊”。我见过太…

📅 2026/9/8 7:34:30
MORE NEWS

更多资讯

📰

「请3休13」长假远程挂机谁更靠谱?实测ToDesk、向日葵、RustDesk远程稳定性、断线重连、远程终端

前言五一、国庆这种长假,数字爱好者最纠结的不是去哪玩,而是家里那台电脑怎么安排。游戏挂着自动刷材料、下载任务挂着跑满带宽、AI模型跑个几天几夜——这些场景有个共同点:人不在电脑前,但电脑不能停。远控软件在这个场景里解决…

📰

BenchmarkDotNet 实战:用 NuGet 包多版本对比基准测试(IntroNuGet 示例深度解析)

BenchmarkDotNet 实战:用 NuGet 包多版本对比基准测试(IntroNuGet 示例深度解析) 【免费下载链接】BenchmarkDotNet Powerful .NET library for benchmarking 项目地址: https://gitcode.com/gh_mirrors/be/BenchmarkDotNet 本文基于 B…

📰

下水道缺陷检测YOLO数据集详解与实战避坑指南

简介:面向YOLO系列目标检测下水道缺陷识别任务,这份压缩包提供了2364张图像对应的标注数据,覆盖关节偏移、障碍物、裂纹、带扣、洞、公用设施入侵、碎片等典型缺陷类别,并可适配yolov5、yolov7、yolov8、yolov9、yolov10与yolo11等…

📰

阿里妈妈淘宝客推广3个坑与最佳实践

阿里妈妈淘宝客推广3个坑与最佳实践 面试被问“淘宝客佣金结算原理”,你答不上来?别慌,这不仅是理论盲区,更是实操掉链子的前兆。很多开发者把阿里妈妈淘宝客推广当成简单的接口调用,忽略了风控、缓存与合规细节,导致推广收益归零。真正的 最佳实践…

📰

easy-vibe 编译原理图解指南:从源代码到机器码的完整流水线

easy-vibe 编译原理图解指南:从源代码到机器码的完整流水线 【免费下载链接】easy-vibe 从 0 到 1 学会 vibe coding,项目制学习 项目地址: https://gitcode.com/datawhalechina/easy-vibe 按下"运行"按钮的那一刻,代码是如…

📰

IronClaw 扩展实战:深入解析 google-docs `insert_text` 文本插入能力的参数契约与实现原理

人工智能AI 应用交互助手AI Agent 【免费下载链接】ironclaw IronClaw is an Agent OS focused on privacy, security and extensibility 项目地址: https://gitcode.com/gh_mirrors/iro/ironclaw 点击查看 免费下载 本文以 IronClaw 开源仓库中 google-docs 扩展包…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬