Skip to content

如何標註機器人回合

把一次機器人演示切分為若干階段、判定結果,並繪製稠密獎勵曲線。為什麼'部分成功'是一種真實結果,以及為什麼時序軌道比影片更重要。

一次機器人演示,是若干路同步的相機影片流加上若干條數值時序,而關於它值得問的每一個問題都與時間有關。 抓取何時開始、何時失敗、每一時刻距離完成還有多遠。因此介面必須是一條時間軸,而不是一張表單。

把訊號放在影片旁邊

相機檢視在上,機械臂自身的訊號作為軌道在下,共用一條時間軸,所有標註圖層都繪製其上。

這不是排版偏好。一次失敗的抓取,通常在夾爪與腕部力的曲線上會比在畫面上早若干幀顯現。已發表的研究支援這一點:ATLAS(維也納工業大學)報告稱,在影片旁並列顯示本體感知時序,可降低邊界誤差,優於純視覺工具。

由此帶來兩個實際後果:

  • 不要把這些軌道藏在標籤頁後面。 如果標註者得主動去找,他們就不會去看。
  • 降取樣要保留極值。 一次只持續一幀的力峰值,被繪製到 300 畫素寬的軌道時,在均值降取樣下會徹底消失,而那個峰值往往正是事件本身。

按子目標切分

階段邊界位於機器人目標發生變化之處——接近、抓取、搬運、放置、收回——而不是影片切換之處,也不是機械臂恰好停頓之處。

階段分類體系是按任務族而定的。操作類與導航類需要完全不同的集合,因此這屬於你的配置,而不屬於工具本身:

yaml
    phases:
      - {name: reach,     color: "#4ECDC4", key_value: "1"}
      - {name: grasp,     color: "#FFD93D", key_value: "2"}
      - {name: transport, color: "#6C8AE4", key_value: "3"}
      - {name: place,     color: "#95E1A3", key_value: "4"}
      - {name: retract,   color: "#C9A0DC", key_value: "5"}

三種結果,而非兩種

successpartialfailure

在真實機器人資料中,"部分成功"是出現頻率最高的結果。 把它強行壓成二元,會摧毀那個讓這份資料集值得標註的訊號:一個把物體從桌上拿起來卻掉了的回合,與一個根本沒動過的回合並不相同,而按同一類訓練出來的策略會學錯東西。

請為其配上一套失敗原因分類——抓空、物體滑落、碰撞、拿錯物體、放錯位置、超時——這樣失敗才是可分析的,而不只是被計數。

事後重新標註

一個在原定任務上失敗的回合,常常是另一項任務的成功演示。把這個回合實際展示了什麼記錄下來,一段本要丟棄的錄影就變成了可用的訓練資料。

這在標註時採集成本很低,事後卻無從補救,所以哪怕你還不確定會不會用上,也值得一併採集。

獎勵圖層代價高昂

一條稠密的進度獎勵曲線,每個回合要花幾分鐘,而階段標註只要幾秒。只在確有需要時才啟用它,並預期它會佔據你標註預算的大頭。

衡量一致性

三個圖層,三種度量:

圖層度量
階段邊界時間 IoU
結果標籤Krippendorff's α
獎勵曲線ICC 加 Pearson

每一項都要同時說明覆蓋率。 在時間軸 5% 的範圍上算出的相關係數,對其餘 95% 什麼也沒說,而一個不附帶覆蓋率的係數,會被當作覆蓋了全部來解讀。

具體到邊界,請報告容差掃描,而不是單一閾值。

格式

LeRobot v2、RLDS/TFDS、HDF5(RoboMimic 與 ALOHA)以及 ROS bag 均可匯入。請匯出逐幀的 JSONL 附屬檔案,而不是改寫資料集,這樣一份只讀的公開發布版無需重新發布就能攜帶你的標註。

配置

yaml
annotation_schemes:
  - annotation_type: episode_annotation
    name: episode_review
    description: "Mark the phases, judge the outcome, and draw the progress."
    source_field: episode
    layers: [phases, outcome, reward]
    outcomes: [success, partial, failure]
    failure_causes: [missed grasp, object slipped, collision, timeout]
    reward_range: [0.0, 1.0]
    series_shown: [gripper, wrist_force]

可用示例:LeRobot 展示設計

相關工具

ATLAS 是為單標註者邊界精度與 ROS bag 專門打造的。ELAN 與 BORIS 仍是行為編碼領域的標準工具。RerunFoxglove 是最好的機器人視覺化工具,如今也能承載結構化標註。

Potato 在這裡獨特的貢獻,是支援多標註者、以網頁方式部署,並帶有一致性統計。

延伸閱讀