4. 数据集构建流程
3D感知数据集的构建不是“先采数据、再想标注”的线性劳动,而是一条从任务定义到版本冻结的工程流水线。任何一个环节的偏差,都会在训练阶段被放大为系统性误差。本节将这条流水线拆解为七个阶段,并说明每个阶段的核心交付物与常见陷阱。
一、核心原理:以终为始的逆向设计
数据集构建的底层逻辑是以终为始:先明确模型要解决什么任务、在什么条件下部署、评测指标是什么,再反推需要什么样的数据。需求分析阶段必须回答三个问题:
- 任务边界:是3D目标检测、语义分割、还是占据栅格预测?不同任务对标注粒度和传感器配置的要求差异巨大。
- 运行域(ODD):城市道路、高速公路、园区、矿区?ODD决定了场景设计的采样范围。
- 评测目标:mAP、NDS、IoU还是推理时延?评测指标决定了数据分布和难例比例。
二、方法流程:七阶段流水线
下图展示了从需求到版本冻结的完整数据流与各阶段交付物,注意质量控制并非末端环节,而是贯穿采集与标注的并行轨道。
三、关键阶段详解
场景设计是决定数据集价值上限的环节。建议采用“场景矩阵”方法:将ODD拆解为道路类型、天气、光照、交通密度、目标行为等维度,每个维度设定采样比例。例如城市道路数据集可按“晴天/雨天/夜间”= 6:2:2,“白天/黄昏/夜晚”= 5:2:3 进行配额采样,避免长尾场景被自然分布淹没。
传感器选型需同时考虑物理参数与数据可用性。以机械式LiDAR与固态LiDAR为例:前者视场角大、点云密度均匀,适合采集全场景;后者体积小、成本低,但FOV受限,需多颗拼接。相机需关注全局快门、曝光同步、镜头畸变模型。所有传感器必须完成联合标定,输出外参矩阵与时间同步偏移。
# 标定文件示例(camera-lidar外参)
extrinsic:
rotation: [0.9998, -0.0121, 0.0153,
-0.0120, 0.9999, 0.0087,
-0.0154, -0.0089, 0.9998]
translation: [0.12, -0.05, 1.85] # 单位:米
time_offset: 0.003 # 秒,LiDAR相对相机延迟
采集规范应覆盖路线规划、车速控制、触发频率、数据落盘格式。建议以10Hz同步采集,每帧保存时间戳、GPS/IMU位姿、传感器健康状态。采集日志需记录异常事件(急刹、遮挡、标定漂移),便于后期筛选。
四、标注体系设计与质量控制
标注体系设计要解决“标什么、怎么标、标到什么程度”。类别定义需互斥且完备,属性字段(遮挡、截断、运动状态)应可量化。3D标注需明确:中心点坐标、尺寸、朝向角、类别、跟踪ID、可见性等级。
| 质检维度 | 检查方法 | 合格阈值 |
|---|---|---|
| 标注一致性 | 双人独立标注,计算IoU与类别一致率 | 3D IoU ≥ 0.85,类别一致率 ≥ 98% |
| 标定精度 | 重投影误差检查 | 平均重投影误差 ≤ 2 像素 |
| 时间同步 | 运动目标跨帧位置连续性 | 相邻帧位移偏差 ≤ 0.1 米 |
| 类别平衡 | 统计各类别实例数与场景覆盖 | 长尾类别占比 ≥ 5% |
| 难例覆盖 | 按遮挡、截断、远距离分层统计 | 重度遮挡样本 ≥ 10% |
五、版本管理与常见误区
数据集版本管理应遵循“不可变、可追溯、可复现”原则。每次发布打标签(如 v1.2.0),记录变更内容、影响范围、标注规范版本、标定文件哈希。训练/验证/测试划分必须在版本冻结时确定,严禁跨版本混用。
综上,数据集构建是一条“需求→设计→采集→标注→质检→版本”的闭环流水线。每个阶段都有明确的交付物和验收标准,质量控制贯穿始终,版本管理保证可复现。只有把流程工程化,数据集才能从“一次性劳动”变成“可持续资产”。