多任务机器人数据标注 - NUSNiuMu/insight-capture-dashboard GitHub Wiki

多任务机器人数据标注

数据分段、自动标注、人工审核和数据集验收已从采集产品的职责中拆出,独立项目为 robot-dataset-annotator。采集仓库继续负责可靠录制、回放和原始数据完整性;标注仓库负责 任务语义、候选边界、审核决定、批次恢复与训练数据验收。

30 个 rosbag 的生产复盘

本轮从 insight_record_20260811_150758 起处理 30 个包,共检查 566 个源片段,人工通过 491 条 episode、失败 75 段,最终 95,783 帧、约 53.2 分钟训练数据。

指标 结果
三相机审核页 2,178 页
最终数据集占用 约 17 GB
审核中间产物 约 23 GB
纯导出耗时 约 3.5 小时,平均 7 分钟/包
自动候选正确率 408/409,99.8%
自动候选召回率 408/491,83.1%
自动拒绝误杀 83/157,52.9%

质量门整体可靠,主要成本不在最终 Parquet 写入,而在穷尽视觉审核、三路视频重复编码和任务 中断后的人工恢复。自动门已经适合加速候选确认,但召回率不足,不能直接把自动拒绝当成失败。

本轮还确认旧 schema 的信息损失:一个停顿片段可能包含多次完整操作,而“一片段一个 episode”只能保留其中一次。新 schema 允许一个 source segment 下保存多个按时间排序且互不 重叠的 episode。

独立仓库边界

robot-dataset-annotator/
  src/robot_dataset_annotator/
    core/          决策 schema、产物审计、原子状态推进
    tasks/         任务插件;cup-pick-place 是首个插件
    adapters/      Insight、rosbag、LeRobot 等外部格式边界
    task_specs/    原子动作、最短帧数和插件入口
    cli.py         rda 稳定命令入口
  skills/          可迁移安装的 Codex 生产 Skill
  AGENTS.md        自动化开发、验证、文档和默认推送约束
  CLAUDE.md        与 AGENTS.md 同步提交的兼容说明

依赖方向固定为 CLI → core ← tasks。core 不导入 ROS、OpenCV、PyArrow、LeRobot 或采集 Dashboard;格式依赖留在 adapters,任务语义留在 tasks。以后新增装配、倒水、抽屉、按钮等 任务时,只增加 task spec、插件和标注回归集,不复制整条杯子流水线。

当前项目已包含:

  • 显式路径的 session 配置;
  • 由真实产物推导的可恢复批次状态机;
  • session 注入的 argv 命令模板与默认只读的 rda resume,确认后才用 --execute 续跑;
  • 穷尽审核和多 episode 决策校验;
  • 可插拔的自动边界接口;
  • 纸杯四阶段融合边界插件;
  • Insight 低维 Parquet 适配器;
  • 标准 process-robot-datasets Skill;
  • 跟踪在仓库中的 AGENTS.md / CLAUDE.md,要求代码改动同步文档、测试、提交和推送。

迁移已在 Dashboard 提交 fa53956 完成:采集仓库删除杯子专用脚本、测试、专题文档、 后端分流和 Dataset 页任务选项,只保留通用 bag / auto_pause、LeRobot、UMI 与 ego-hand 导出。旧 process-cup-rosbags Skill 已删除,由独立仓库随附的通用 Skill 取代。 原始 rosbag、审核决定和已生产数据集是生产证据,不作为代码残留删除。

tests/ 只作为本地验证资产保留,被 .gitignore 排除,不上传 GitHub。MANIFEST.in 和 setuptools discovery 同时排除测试路径,wheel 与 sdist 均不包含测试文件。

可迁移路径规则

Skill 和源码禁止写设备绝对路径。执行时如果用户没有给出完整信息,必须先确认:

  1. 标注框架 checkout;
  2. 原始录制根目录;
  3. 审核产物根目录;
  4. 数据集输出根目录;
  5. task spec;
  6. 需要 ROS 或硬件依赖时的容器/运行环境。

确认后由 rda configure 生成本次 session;路径只保存在用户选择的 session 文件中,不写回 Skill。批次恢复一律运行 rda audit,不把终端窗口、PID 或旧 campaign report 当作权威状态。

后续优化顺序

  1. 三相机交互式时间轴:全片段低帧率覆盖,事件附近 30 Hz 精调;
  2. 用 566 段已审核数据把自动候选召回率提升到 95% 以上,同时保持高精度;
  3. 审核代理改为单份低码率 mosaic,减少三视频、mosaic 和页面的重复编码;
  4. 提供固定版本的 LeRobot validator 容器,避免临时安装覆盖 Jetson PyTorch;
  5. 增加磁盘预估、低空间停止领取、临时目录原子提交和 provenance hash。

任何效率优化都不应默认取消源片段和必需相机的穷尽视觉审核。新的接受标准必须另行定义并 经过明确批准。