9.7 数据集构建与标注¶
高质量数据集是算法性能的基础。数据集构建涵盖数据采集规划、清洗、标注、增广和版本管理等环节,每个环节的质量直接影响模型上限。
一、数据集构建流程¶
需求分析(任务类型 / 类别 / 规模)
↓ 数据采集(自采 / 公开数据 / 爬取)
原始数据集
↓ 清洗与去重(哈希去重 / 视觉相似检测)
干净数据
↓ 标注(工具 + 人工 / 自动预标注)
标注数据
↓ 质检(交叉审核 / 指标核查)
可信标注集
↓ 划分(train / val / test)+ 数据增广
最终数据集
二、数据采集¶
2.1 采集来源¶
| 来源 | 优势 | 注意事项 |
|---|---|---|
| 自采(公司相机) | 贴合实际场景,分布一致 | 成本高,需设计采集规程 |
| 公开数据集 | 快速获取,有基线对比 | 版权确认,场景可能不匹配 |
| 网络爬取 | 量大、多样 | 清洗成本高,版权风险 |
| 仿真渲染 | 可控条件,可获分割掩模 | 域间隙(Sim-to-Real Gap) |
2.2 采集规程设计¶
为保证分布均衡,需提前规划:
- 场景覆盖:不同光照(白天/夜间/逆光)、天气、角度
- 类别平衡:各类别样本数量之比建议不超过 5:1
- 负样本:包含"背景"或"正常"类别,防止过拟合到正样本
三、数据清洗与去重¶
- 哈希去重:md5 / perceptual hash(pHash)快速检测完全重复或近重复图像
- 质量过滤:剔除模糊(拉普拉斯方差过低)、严重过曝、截断不完整的样本
- 标注一致性检查:统计标注框尺寸分布,发现异常值人工复核
- 类别倾斜检查:统计各类别占比,决策是否需要过采样或欠采样
四、标注工具与方法¶
4.1 常用标注工具¶
| 工具 | 适用任务 | 特点 |
|---|---|---|
| LabelImg | 目标检测(矩形框) | 轻量,VoC/YOLO 格式 |
| CVAT | 检测/分割/跟踪 | 功能全,支持团队协作 |
| Labelme | 多边形/分割 | 灵活,输出 JSON |
| Roboflow | 全流程(采集→标注→增广) | 云端,快速验证 |
| SAM 辅助标注 | 实例分割 | 点/框提示自动生成掩模 |
4.2 标注格式¶
| 格式 | 典型应用 |
|---|---|
| YOLO txt | 目标检测(归一化坐标) |
| COCO JSON | 检测 + 实例分割,业界通用 |
| Pascal VOC XML | 经典检测格式 |
| Cityscapes PNG | 语义分割(像素级标注) |
4.3 预标注加速¶
利用现有模型(SAM、DINO、CLIP)对图像预标注,人工仅做审核和修正,可将标注效率提升 3–10 倍。
五、数据增广(Data Augmentation)¶
5.1 几何增广¶
| 操作 | 说明 | 注意 |
|---|---|---|
| 随机翻转 | 水平/垂直翻转 | 标注框坐标需同步变换 |
| 随机旋转 | ±15° 以内 | 旋转角大时边角填充引入噪声 |
| 随机裁剪(Crop) | 取图像子区域 | 保证目标不被截断 |
| 透视变换 | 模拟视角偏移 | 适合工业摄像头斜角场景 |
5.2 颜色增广¶
- 亮度/对比度/饱和度随机抖动(ColorJitter)
- 随机灰度化(适合跨模态迁移)
- Cutout / GridMask:随机遮挡部分区域,提升遮挡鲁棒性
5.3 混合增广¶
- Mixup:两张图像线性混合,标签也按比例混合
- CutMix:随机替换图像区域,标签按面积比例分配
- MosaicAug(YOLO):4 张图拼为一张,增大上下文多样性
5.4 增广注意事项¶
- 不是所有增广都适合所有任务:仅亮度细微差的分类任务不需要强颜色抖动
- 高光谱/红外图像需谨慎使用颜色增广,波段物理含义会被破坏
- 测试集不做随机增广(只做确定性 resize/normalize)
六、数据集划分与版本管理¶
6.1 划分比例¶
典型划分:train : val : test = 7 : 1.5 : 1.5(或 8:1:1)
- train:用于梯度更新
- val(dev):超参数调整,Early Stopping 判据
- test:最终报告指标,禁止用于调参
注意:同一场景/同一来源的图像序列不能跨集出现(防止数据泄露)。
6.2 版本管理¶
推荐用 Git + DVC(Data Version Control)或专用数据平台:
参考资料¶
- Lin et al., \"Microsoft COCO: Common Objects in Context\", ECCV, 2014
- DVC 官方文档:https://dvc.org/doc
- Roboflow 文档:https://docs.roboflow.com
更新时间¶
2026-03-03