Skip to content
Guides1 min read

「部分成功」是一种真实结果:标注机器人回合

机器人演示大多是部分成功,而二元结果会把这一点丢掉。一个以时间轴为形态的标注界面必须做对哪些事,从保留极值的降采样到事后重新标注。

Potato Team

一次机器人演示,是若干路同步的相机视频流加上若干条数值时序——关节位置、夹爪状态、力矩、奖励——全部按帧索引。关于它值得问的每一个问题都与时间有关:抓取何时开始、何时失败、每一时刻距离完成还有多远。

因此界面必须是一条时间轴,而不是一张表单。以下是这件事实际要求做到的东西。

「部分成功」是出现频率最高的结果

第一个设计决策是结果词表,而显而易见的那个答案是错的。

成功或失败是一种自然的二元划分,而它会摧毁信号。在真实机器人数据中,部分成功是出现频率最高的结果:机械臂把物体从桌上拿起来又掉了;它把方块放进了正确的箱子却放错了格;它在超时两秒之后完成了任务。

把这些强行归入"失败",会让它们与一台根本没动过的机械臂无从区分。归入"成功"则更糟。按任何一种映射训练出来的策略,都会学到关于"实际发生了什么"的不实内容。

三种结果,再配上一套失败原因分类——抓空、物体滑落、碰撞、拿错物体、放错位置、超时——才能让失败是可分析的,而不只是被计数。

把信号放在视频旁边,而不是藏在标签页后面

这一条有已发表的研究支持。ATLAS(维也纳工业大学,2026)报告称,在视频旁并列显示本体感知时序可降低边界误差,优于纯视觉工具。正是这一发现,让 Potato 渲染了这些轨道。

它也与你在真实回合上立刻能看到的现象吻合:一次失败的抓取,在夹爪与腕部力的曲线上会比在画面上早若干帧显现。夹爪合拢了,力却始终没有上升,而画面要更晚才显示出手里空空如也。

如果这些轨道藏在标签页后面,标注者就不会去打开。

降采样要保留极值,而不是取均值

一段 30 秒、30 Hz 的回合,每条时序有 900 个采样点,而要画进大约 300 像素宽的轨道里。总得丢掉一些东西。

均值降采样丢掉的恰恰是最不该丢的。只持续一帧的力峰值本身就是事件,而把它与相邻采样平均,会让它彻底消失。轨道看起来很平滑,接触发生的那一刻却不见了。

保留极值的降采样会在每个分桶中同时保留最大与最小值,因此单帧的峰值能一直保留到像素层面。这是一个很小的实现细节,却决定了这条轨道到底有没有用。

各图层的代价相差极大

三个标注图层,它们的代价并不可比:

图层每个回合的代价
阶段切分几秒
结果加原因几秒
稠密进度奖励几分钟

因此它们是可以逐项配置的,而多数项目只启用其中一部分。若把三者作为一张不可协商的表单一并发布,奖励曲线就会成为没人能做完一项研究的原因。

事后重新标注能把失败变成数据

一个在原定任务上失败的回合,常常是另一项任务的成功演示。机械臂本想把方块放进左边的箱子,却放进了右边:这是被记录指令的失败,同时也是另一项任务干净利落的成功。

采集这个回合实际演示了什么,在标注时只需一个文本字段,事后却无从补救。哪怕你还不确定会不会用上,也请一并采集。

三个问题,三种一致性度量

这些图层是三类不同的答案,因此需要三种度量:

  • 阶段边界——时间 IoU
  • 结果标签——Krippendorff's α
  • 奖励曲线——ICC 加 Pearson

每一项都会同时给出覆盖率。在时间轴 5% 的范围上算出的相关系数,对其余 95% 什么也没说,而一个不附带覆盖率的系数,会被当作覆盖了全部来解读。

具体到边界,容差很重要:0.25 秒下与 2 秒下的一致性是两种不同的断言,因此报告会扫描容差,而不是替你挑一个。

格式

LeRobot v2、RLDS/TFDS、HDF5(RoboMimic 与 ALOHA)以及 ROS bag 都通过同一个字段导入。导出为 LeRobot v2 加上一份逐帧的 JSONL 附属文件,因此一份只读的公开数据集无需重新发布就能携带你的标注。

Potato 不是答案的场合

ATLAS 是为单标注者边界精度与 ROS bag 专门打造的,在这件事上它更强。ELAN 与 BORIS 仍是行为编码领域的标准工具。RerunFoxglove 是最好的机器人可视化工具。

Potato 额外提供的,是支持多标注者、以网页方式部署,并对结果给出一致性统计。如果只有一个人在标注,那就用 ATLAS。

延伸阅读