数据质检
如何在大规模 ROS 录制数据进入训练与导出之前,自动、一致地判断录制是否满足团队或平台的底线要求(帧率、传感器 Topic、时间同步等)?
典型场景:
- 训练前希望批量筛掉帧率过低、关键 Topic 缺失或时间戳异常的数据。
- 需要为不同项目配置不同阈值,同时希望全平台有一条「硬底线」(全局规则)。
- 希望规则变更后,历史数据能自动补跑质检,结论与当前规则对齐。
- 个别数据被规则误杀时,需要人工覆盖结论并保留审计依据。
数据质检模块通过 质检规则 + 自动任务 实现上述目标:由平台扫描每条 ROS 录制的结构化报告,再按你在界面上配置的断言给出通过/不通过,并在数据集上汇总展示。
与「视频质检」的区别
- 数据质检(本文):面向 ROS 轨迹 / ROS 录制数据(如 MCAP、bag、db3 等)的规则化检测(指标阈值、Topic 必需/ 禁止等),与预处理、导出、训练链路衔接。
- 视频质检:面向 多路视频可视化 的 Doctor 诊断(丢帧、花屏、BRISQUE 等),见 视频质检。
核心概念
质检规则
一条规则绑定 一种质检算法(面向 ROS 录制的巡检,当前以 MCAP 报告为主,其它容器与格式会逐步补齐)、作用域 与 若干断言。
| 概念 | 说明 |
|---|---|
| 作用域 | 项目规则:仅对指定项目下的数据集生效。全局规则:对全平台 ROS 录制数据生效(含未归属项目的数据)。有项目的数据集会同时匹配全局规则与本项目规则,各自独立产生执行记录。 |
| 匹配数据名 | 支持对 dataset.name 使用 glob(如 *arm*);留空表示在当前作用域内匹配全部数据名。 |
| 优先级 | 数值越小越优先(展示与执行排序一致);多条规则同时命中时,各自仍独立判定。 |
| 启用 | 停用后不再参与匹配与自动排队;启用后可根据策略对历史数据补跑。 |
断言类型
规则内的「判定条件」称为断言,常见类型包括:
- 数值阈值:对报告中的指标指定比较符与阈值(如
frame_rate >= 20);可按需限定在「全文件」「某类 Topic」等范围(具体可选范围以界面为准)。 - 必需 Topic:报告中必须出现某 Topic,否则不通过。
- 禁止 Topic:报告中不得出现某 Topic,否则不通过。
严重度:error(界面展示为「不通过」)级断言未满足会导致本条运行判定为未通过;warning 用于提示,不单独决定未通过(便于先加观察项再收紧)。
权限说明
| 操作 | 管理员 | 项目经理 | 其他常见角色 |
|---|---|---|---|
| 查看质检结果、日志 | 支持 | 支持(受项目数据权限约束) | 采集等角色通常可查看与自己相关的数据 |
| 维护项目质检规则 | 支持 | 支持(需在项目内或公开项目) | 一般不可 |
| 维护全局质检规则 | 支持 | 不支持 | 不支持 |
全局规则的创建、编辑、删除、复制等写操作仅管理员可执行;非管理员在列表中可能看到全局规则,但无法修改。