深度学习数据集获取与标注工具全攻略:从下载到标注的完整工作流
·
深度学习数据集获取与标注工具全攻略:从下载到标注的完整工作流
摘要: 本文介绍深度学习中数据集的获取方法(Kaggle、Roboflow 等平台)和主流标注工具(LabelImg、X-AnyLabeling)的使用方法,包括 AI 辅助预标注的高效工作流,帮助你快速完成数据准备工作。
适用读者:深度学习入门者、数据标注人员 | 难度:入门 | 预计阅读时间:25 分钟
文章目录
一、前言
在深度学习项目中,数据是最重要的基础。“Garbage in, garbage out”——没有好的数据,再好的模型也无法发挥作用。本文将介绍:
- 数据集获取:从哪里找到高质量的公开数据集
- 数据标注工具:LabelImg 和 X-AnyLabeling 的使用方法
- AI 辅助预标注:使用 YOLO 小模型自动预标注,大幅提升标注效率
二、数据集获取平台
2.1 Kaggle
Kaggle 是全球最大的数据科学竞赛平台,拥有海量公开数据集。
注册方法:
- 访问 https://www.kaggle.com/
- 使用 Google 账号或邮箱注册
- 需要手机验证(国内手机号可用)
使用技巧:
- 搜索关键词找到目标数据集
- 点击 “Download” 下载(部分大数据集需要 Kaggle API)
- 使用
kaggleCLI 工具可以批量下载:
pip install kaggle
kaggle datasets download -d dataset-name
2.2 Roboflow
Roboflow 是一个专注于计算机视觉的平台,提供:
- 公开数据集搜索与下载
- 在线标注工具
- 数据增强与格式转换
- 支持导出 YOLO、COCO、VOC 等多种格式
2.3 其他平台
| 平台 | 特点 | 网址 |
|---|---|---|
| Google Dataset Search | 学术数据集搜索引擎 | https://datasetsearch.research.google.com/ |
| Papers with Code | 论文附带数据集 | https://paperswithcode.com/datasets |
| Hugging Face | NLP/CV 数据集 | https://huggingface.co/datasets |
| COCO | 目标检测标准数据集 | https://cocodataset.org/ |
| ImageNet | 图像分类标准数据集 | https://www.image-net.org/ |
提示: 国内访问部分平台可能需要特殊网络环境。Kaggle 国内可以直接访问。
三、LabelImg 标注工具
3.1 安装
pip install labelImg
3.2 基本使用
启动:
labelImg
操作步骤:
- 点击 Open Dir → 选择图片文件夹
- 点击 Change Save Dir → 选择标签保存文件夹
- 右上角选择 YOLO 格式
- 按 W 键画框,输入类别名称
- 按 Ctrl+S 保存
- 按 D 下一张 / A 上一张
3.3 常用快捷键
| 快捷键 | 功能 |
|---|---|
| W | 创建矩形标注框 |
| Del | 删除选中的标注框 |
| Ctrl+S | 保存当前标注 |
| D | 下一张图片 |
| A | 上一张图片 |
| Ctrl+U | 选择图片目录 |
| Ctrl+R | 选择标注保存目录 |
3.4 注意事项
- LabelImg 在 Windows 上体验最好,Linux 上可能有兼容性问题
- 图片名和标签名必须一一对应(同名不同后缀)
- 标注完成后检查标签文件,确保格式正确
四、X-AnyLabeling:AI 辅助标注工具
X-AnyLabeling 是一款支持 AI 自动标注的开源标注工具,内置多种预训练模型,可以大幅提升标注效率。
4.1 安装
方式一:pip 安装(推荐)
# CPU 版本
pip install x-anylabeling-cvhub
# GPU 加速版本(需要 CUDA 环境)
pip install x-anylabeling-gpu
方式二:源码安装
git clone https://github.com/CVHub520/X-AnyLabeling.git
cd X-AnyLabeling
# CPU 版本
pip install -r requirements.txt
# GPU 版本
pip install -r requirements-gpu.txt
# 启动
python anylabeling/app.py
方式三:下载 GUI 可执行文件
从 GitHub Releases 页面下载对应系统的预编译版本,开箱即用。
4.2 启动
# pip 安装后直接运行
xanylabeling
4.3 使用流程
- 创建项目:启动后创建新项目(New Project)
- 导入数据:将图片文件夹拖入软件界面
- 设置标签:在右侧标签管理区创建物体类别(如 “person”, “car”)
- 选择 AI 模型:在顶部菜单栏选择 “AI” 或 “Auto Labeling”,选择模型(如 YOLOv8s)
- 自动标注:点击 “Run” 或 “Auto” 按钮,AI 自动识别并标注
- 批量处理:按
Ctrl + M一键处理当前文件夹所有图片 - 人工修正:手动拖拽、缩放、移动标注框,修正不准确的地方
- 导出数据:
File -> Export As...→ 选择YOLO TXT格式
4.4 加载自定义 YOLO 模型
如果你想用自己训练的模型来辅助标注:
# 1. 将 .pt 模型导出为 ONNX
yolo export model=your_model.pt format=onnx
然后:
- 复制
X-AnyLabeling/anylabeling/configs/auto_labeling/目录下的 YOLO 配置文件作为模板 - 修改 YAML 文件中的
model_path为你的 ONNX 文件路径 - 更新
classes为你的类别名称(顺序与训练时一致) - 在 X-AnyLabeling 中选择 “Load Custom Model” 加载你的配置文件
4.5 GPU 加速配置
确保以下环境:
- Python 3.10 ~ 3.12
- NVIDIA 驱动 + CUDA Toolkit + cuDNN
- CUDA 11.x 搭配
onnxruntime-gpu1.15.x - CUDA 12.x 搭配
onnxruntime-gpu1.18.1+
五、高效工作流:YOLO 预标注 + LabelImg 人工核查
这是一个纯本地、零网络的高效标注方案:
5.1 核心思路
- 用 YOLOv8n 超小模型自动给图片生成标注
- 把标注放到 LabelImg 能读的目录结构
- 打开 LabelImg 人工检查、修正标注
- 保存即为最终训练用的标注
5.2 步骤一:自动预标注
yolo predict model=yolov8n.pt source=你的图片文件夹路径 save_txt=True save_conf=False imgsz=640
运行完成后,标注文件在 runs/detect/predict/exp/labels/ 目录下,每张图片对应一个 .txt 文件。
5.3 步骤二:搭建目录结构
my_dataset/
├── images/ → 放所有图片
└── labels/ → 放生成的 .txt 标注文件
图片名和 txt 名必须一致:
images/001.jpg
labels/001.txt
5.4 步骤三:LabelImg 人工核查
- 启动
labelImg - Open Dir → 选择
images文件夹 - Change Save Dir → 选择
labels文件夹 - 格式选择 YOLO
- 开始核查:
- 错框 → 选中按 Delete 删除
- 漏检 → 按 W 自己画框
- 类别错 → 右边改类别
- 每改完一张按 Ctrl+S 保存
5.5 步骤四:直接训练
核查完的数据集可以直接用于训练:
yolo train model=yolov8s.pt data=data.yaml epochs=100 imgsz=640
六、数据集划分建议
在开始标注之前,建议先规划好训练集、验证集、测试集的比例:
| 数据集 | 比例 | 用途 |
|---|---|---|
| 训练集 | 70~80% | 模型训练 |
| 验证集 | 10~15% | 训练过程中评估 |
| 测试集 | 10~15% | 最终性能评估 |
划分时注意:
- 三个集合不能有重叠
- 类别分布应尽量均匀
- 测试集应包含各种场景(光照、角度、遮挡等)
七、总结
本文要点回顾:
- 数据集获取:Kaggle、Roboflow、COCO 等平台提供大量公开数据集
- LabelImg:经典标注工具,简单易用,Windows 上体验最佳
- X-AnyLabeling:支持 AI 自动标注的现代标注工具,大幅提升效率
- 预标注工作流:YOLO 小模型自动预标注 + LabelImg 人工核查,是最高效的标注方案
- 数据集规划:提前规划训练/验证/测试集的划分比例
数据准备是深度学习项目中最耗时的环节,善用 AI 辅助标注工具可以将标注效率提升数倍。
参考资料
更多推荐
所有评论(0)