YOLO 入门实战(一):用 Label Studio 快速构建你的第一个目标检测数据集
你是不是也曾经被“目标检测”这个词吓退过?觉得它高深莫测,需要海量数据、强大算力和复杂的调参过程?其实,入门并没有那么难。
本文的目标很明确:用最少的资源、最短的时间,带你从零开始,完整跑通一次 YOLO 目标检测的全流程。无论你是刚接触深度学习的新手,还是想快速验证一个想法的产品经理或开发者,只要你有几十张图片,就能跟着这篇教程,亲手训练出一个能“看懂”图像的小模型。
我们将使用目前主流的 YOLOv8 框架(来自 Ultralytics),它安装简单、API 友好、文档清晰,非常适合快速验证。整个过程分为五个清晰的步骤:
- 环境搭建:几条命令搞定依赖。
- 数据准备:如何用少量图片构建自己的数据集。
- 模型训练:启动训练,观察指标。
- 验证与测试:看看模型学得怎么样。
- 简单部署:用几行代码实现图片检测。
首先介绍下硬件环境配置:
- CPU:Intel i5-12400F
- GPU:NVIDIA RTX 4060(8GB)
- 内存:32GB
- 系统:Windows 11 专业版
构建数据集
要训练一个目标检测模型,第一步是准备数据。我们不需要海量图片,20~50 张标注好的图像,就足以让 YOLO 学会识别一个简单目标(比如纸巾盒、水杯、键盘等)。
要构建数据集必然需要一个数据标注工具,本来想体验下ultralytics-hub的,但是死活没注册成功。目前改用Label Studio(Open Source Data Labeling | Label Studio)来管理我的数据集。 Label Studio可以使用python快速搭建,比如使用pip install,那么我们首先来创建一个python的虚拟环境,毕竟python依赖之间经常有版本冲突,使用虚拟环境可以避免很多麻烦。这里我使用了miniconda(Installing Miniconda - Anaconda)。具体安装步骤就不多说。 然后我们创建一个专属label的虚拟环境
conda create -n label python=3.11
conda activate label
在激活虚拟环境的前提下,执行下载依赖的命令
pip install label-studio
下载完毕后,可以通过命令来启动label studio.没错就是如此方便!
label-studio start
通过日志可以观察到默认服务是启动在8080的,我们可以通过浏览器访问
August 28, 2025 - 18:16:39
Django version 5.1.11, using settings 'label_studio.core.settings.label_studio'
Starting development server at http://0.0.0.0:8080/
Quit the server with CTRL-BREAK.
现在你可以注册一个账号然后登录进去,我们需要点击“Create Project”来创建一个项目。这次我的数据集就是一个目标检测纸巾盒,大家可以任意取一个名字
别急着保存哦!第二步就是导入数据,我这边就是拍摄的纸巾盒的图片,大家可以把需要检测的数据全部导入进去,如果数据集比较大那么需要稍等一会儿
最后一步,我们可以选择一个模板来提高效率,这里我选择的是“Object Detection with Bounding Boxes”用于将目标检测后使用边框标记。这里我们可以清理掉模板的label然后添加我们自己的tag,最后点击保存即可。
进入到项目的详情也就可以看到我们上传的数据集了,满满一整页的数据,然后点击“label all tasks”开启我们的标注,因为我们数据量比较少所以采用了人工标注。每一个图片上所有出现的纸巾盒都需要通过矩形框来标注,具体的UI操作我们可以参考(Label Studio — Image Object Detection Data Labeling Template)
当所有的数据都完成标注后,就可以进行数据集导出了。我们可以直接选择YOLO8带图片的导出格式(标注数据和原图片会一起导出,很方便)
但是这里有个坑,第一次导出存在权限不足,我们可以通过“API Token Setting”勾选下面的选项来解决
然后就可以正常导出数据集了,我们会得到images、labels的数据,大致结构如下
- dataset
|- images #图片
| |- 1.jpg
| |- 2.jpg
|- labels #标注
| |- 1.txt
| |- 2.txt
|- classes.txt #分类
|- notes.json
本篇我们完成了目标检测项目的第一步:从零构建自己的小规模数据集。我们使用 Conda 创建了独立的 Python 环境,安装并配置了 Label Studio,完成了图片标注,并导出了 YOLO 可直接读取的数据格式。
整个过程无需复杂工具,也不依赖大量数据,适合快速验证想法或入门学习。
数据准备好了,接下来就是让模型“学会看懂”这些图片。在下一篇中,我们将使用 Ultralytics YOLOv8,带你一步步:
- 组织训练数据目录
- 配置模型参数
- 启动训练
- 验证效果
- 导出模型用于推理
敬请期待:《YOLO 入门实战(二):用自定义数据训练你的第一个检测模型》!