🚀 如何在 Roboflow 上进行数据标注:一步步打造自己的目标检测数据集
在深度学习中,高质量的标注数据是训练模型的关键。本文将带你通过 Roboflow 平台,完成一次完整的图像数据标注流程。适用于行人检测、车辆检测、人车同框等多类任务,尤其适合用于训练 YOLO 系列模型。
✨ 一、为什么选择 Roboflow?
Roboflow 是一个专为计算机视觉开发者设计的平台,提供:
-
图像上传与管理
-
自动 / 手动标注
-
多种格式导出(YOLO, COCO, VOC 等)
-
与模型训练平台无缝对接(如 Ultralytics YOLOv8)
适合个人开发者、小组项目、科研训练等各种场景。
🛠️ 二、数据标注的完整流程
1. 创建项目
进入 Roboflow 官网 并登录账号。
-
点击
Create Project
-
填写项目名称(如:PedestrianAndVehicleDetect)
-
选择项目类型
Object Detection
-
数据格式建议选择
Public
(公开项目)或Private
(私密项目)
2. 上传图像数据
-
点击左侧菜单栏
Upload Data
-
拖入图像或批量上传
.jpg
/.png
格式图片 -
上传后记得点击
Finish Upload
3. 标注类别设置
在 Annotate
页面:
-
点击左栏
Classes
→+ Add Class
-
添加类别,如:
-
person
(行人) -
car
(小汽车) -
bus
、truck
、bicycle
等(按需添加)
-
建议写上描述性 Prompt,例如:“a human being, standing, walking” 以辅助自动标注。
✏️ 三、两种标注方式详解
✅ 方法一:手动标注
点击每张图片后使用矩形框工具 Draw Bounding Box
,对目标进行手动框选,并选择对应类别。
适用于:
-
标注初期、小样本阶段
-
特殊类别 / 边缘样本
-
人车同框等复杂场景
建议至少手动标注 100~300 张图片,作为高质量样本。
🤖 方法二:自动标注(Auto Label)
在标注页面点击 Auto Label
→ 选择 Grounding DINO
模型,输入 prompt 自动生成框。
注意事项:
-
prompt 不准确会导致错误框或漏检
-
自动标注结果建议人工复核
🧪 四、生成训练集与验证集
完成标注后,点击左侧 Generate Dataset
:
-
设置
Train : Val : Test
比例(常见为 70:20:10) -
选择导出格式:
YOLOv8 (PyTorch)
为主流选择 -
点击
Generate
生成数据集
💡 五、导出数据集(YOLO 格式)
在 Versions
页面:
-
点击
Download Dataset
-
选择格式为
YOLOv8 PyTorch
-
下载后即获得
.jpg
图像与.txt
标注文件
每张图对应一个同名 .txt
,格式如下:
<class_id> <x_center> <y_center> <width> <height>
注:坐标均为归一化(0~1)值。
✅ 实战技巧分享
-
标签不要太多,优先覆盖主目标(如 person、car)。
-
图像多样性重要,尽可能收集不同天气、角度、密度的场景。
-
小样本先手动标注再训练弱模型辅助自动标注,提升效率。
-
验证集要保留代表性,不要全是“好检测”的图。
📦 总结
通过 Roboflow 标注数据,不仅效率高,还可以与 YOLOv8 训练无缝衔接。适合你的行人检测、人车同框等项目场景。下一步就是训练模型,验证标注效果啦!
如果你也在做视觉检测项目,欢迎一起交流 🚀
🚀 我的数据集我做主:使用Roboflow手动标注人车检测数据的全过程
🧠 背景与动机:为什么我要自己标注数据?
作为一名计算机专业的学生,我在训练YOLOv8目标检测模型时,计划同时检测行人与车辆。但在寻找公开数据集时发现:大多数数据集只标注了人或车其中一类,缺乏我需要的“人车同框”场景数据。
因此,我决定亲自上阵,使用 Roboflow 平台进行手动标注,一方面为训练模型准备符合场景的数据集,另一方面也深入体验并学习目标检测中至关重要的数据准备环节。
✍️ 学习过程回顾:一步步掌握 Roboflow 标注流程
1. 创建项目并上传数据
我在 Roboflow 官网 创建了一个新的目标检测项目,并命名为 “pedestrian-vehicle-detect”。项目类型选择 Object Detection
,因为我要标注的是边界框(bounding box)形式的目标。
上传图像后,Roboflow 会自动生成缩略图供你标注使用,支持 jpg/png 等格式,也可从本地拖拽上传。
2. 自动标注功能探索(失败)
我本来打算偷懒一下,使用 Roboflow 的 Auto Label 功能自动生成标注,设置了类名如 person
、car
、bus
等,并尝试用 Grounding DINO 自动生成。
但系统返回提示:Error Generating Test Results
。
💡经验总结:
-
如果没有挂代理或网络不稳,Auto Label 可能失败。
-
自动标注对图片质量与场景要求较高,且提示语(prompt)要尽量清晰,比如
A person standing near a car
可能比单独写person
效果好。
3. 手动标注初体验:从一张图开始学
我手动标注了第一张图:
-
使用工具栏左侧的类名选择(如 person / car)
-
鼠标拖拽框选每个目标,系统会自动记录 class 和坐标
-
标注完后点击保存
🔥 此过程虽然繁琐,但很锻炼你对目标检测标注逻辑的理解:什么是一个对象?是否要标注重叠部分?靠的就是判断力!
4. 遇到的几个坑
-
图片加载慢 / 失败:有时图片无法加载,是因为上传太大或网络不稳,建议先压缩图像尺寸。
-
AI Label按钮误点:图像右侧的篮子图标不是“保存”,而是触发 AI Label 自动补标,误点会报错或者清空手动标注,要注意!
-
保存机制不明确:标注后并没有提示“保存成功”,其实是自动保存的,可以通过 History 栏查看历史标注记录。
🔄 模型训练策略补充:一个识别人,一个识别车
我的导师提出了一个思路启发我:可以分别训练两个模型(行人检测 & 车辆检测),再用代码融合两个模型的检测结果。
这也提醒我——数据集不一定非得一次搞定所有类,可以分阶段、分任务进行训练与整合。
📚 总结:学到了什么?
-
数据标注是目标检测中最关键的第一步;
-
Roboflow 是一个非常友好的平台,适合入门和项目实践;
-
手动标注虽然慢,但有利于深入理解“目标”与“语义”的边界;
-
自动标注并非万能,手动标注不可或缺;
-
标注过程也是数据清洗和预处理的一部分。
📝 下一步计划
-
继续标注 2000 张“人车同框”图像作为基础训练集;
-
使用 Roboflow 的导出功能,导出为 YOLO 格式用于 YOLOv8 训练;
-
编写融合两个检测模型输出的 Python 脚本;
-
将整个数据准备与模型训练流程写成系列博客,帮助更多像我一样的初学者!
如果你也正在为训练一个“同时识别人和车”的模型而苦恼,不妨自己动手,去 Roboflow 上画一画,学一学,你会收获比模型更多的东西。