로봇 에피소드에 주석을 다는 방법
로봇 시연을 단계로 나누고, 결과를 판정하고, 조밀한 보상 곡선을 그립니다. 왜 "부분 성공"이 실재하는 결과인지, 그리고 왜 시계열 레인이 영상보다 중요한지.
로봇 시연은 동기화된 여러 카메라 스트림과 여러 수치 시계열이며, 그에 대해 물을 만한 모든 질문은 시간에 관한 것입니다. 파지는 언제 시작되었는가, 언제 실패했는가, 매 순간 완료에 얼마나 가까웠는가. 그러므로 인터페이스는 양식이 아니라 타임라인이어야 합니다.
신호를 영상 옆에 둔다
위에는 카메라 뷰, 그 아래에는 팔 자체의 신호를 레인으로, 시간축 하나를 공유하고, 모든 주석 층을 그 위에 그립니다.
이는 배치 취향의 문제가 아닙니다. 파지 실패는 대개 카메라에서 분명해지기 여러 프레임 전에 그리퍼와 손목 힘 파형에 나타납니다. 출판된 연구도 이를 뒷받침합니다. ATLAS(빈 공과대학교)는 고유수용 시계열을 영상과 나란히 보여주면 영상만 쓰는 도구에 비해 경계 오차가 줄어든다고 보고합니다.
실무적 귀결이 둘 있습니다.
- 레인을 탭 뒤에 숨기지 마십시오. 주석자가 찾아 들어가야 한다면 찾지 않습니다.
- 최솟값·최댓값을 보존하는 방식으로 간축하십시오. 폭 300픽셀 레인에 그려진 한 프레임짜리 힘 스파이크는 평균 간축에서 완전히 사라집니다. 그리고 그 스파이크가 바로 그 사건인 경우가 많습니다.
하위 목표로 나눈다
단계 경계는 로봇의 목표가 바뀌는 자리 — 접근, 파지, 운반, 놓기, 후퇴 — 이지, 영상이 끊기는 자리도 팔이 우연히 멈춘 자리도 아닙니다.
단계 분류 체계는 과제 계열마다 고유합니다. 조작과 주행은 완전히 다른 세트를 필요로 하므로, 이는 도구가 아니라 설정에 속합니다.
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"}결과는 둘이 아니라 셋
success, partial, failure.
실제 로봇 데이터에서는 부분 성공이 가장 흔한 결과입니다. 이를 이진값으로 밀어 넣으면 그 데이터셋에 주석을 달 가치를 만들어 주는 신호가 파괴됩니다. 물체를 테이블에서 들어 올렸다가 떨어뜨린 에피소드는 아예 움직이지 못한 에피소드와 다릅니다. 둘을 같은 것으로 학습한 정책은 잘못된 것을 배웁니다.
실패 원인 분류 체계 — 파지 실패, 물체 미끄러짐, 충돌, 물체 오인, 위치 오인, 시간 초과 — 와 함께 쓰십시오. 그래야 실패를 세는 데 그치지 않고 분석할 수 있습니다.
사후 재라벨링
기록된 과제에서 실패한 에피소드가 다른 과제의 성공 시연인 경우는 자주 있습니다. 그 에피소드가 실제로 보여주는 것을 기록해 두면, 버려질 녹화가 쓸 수 있는 학습 데이터가 됩니다.
이는 주석 시점에는 싸게 모을 수 있고 나중에는 되찾을 수 없습니다. 쓸지 확신이 없더라도 물어 두십시오.
보상 층은 비싸다
조밀한 진행 보상 곡선은 단계가 초 단위인 데 비해 에피소드당 몇 분이 걸립니다. 필요할 때만 켜고, 주석 예산을 지배하리라 예상하십시오.
일치도 측정
세 개의 층, 세 개의 측도입니다.
| 층 | 측도 |
|---|---|
| 단계 경계 | 시간 IoU |
| 결과 라벨 | Krippendorff's α |
| 보상 곡선 | ICC와 Pearson |
각각에 커버리지를 함께 밝히십시오. 타임라인의 5%에서 계산한 상관은 나머지 95%에 대해 아무것도 말해주지 않으며, 커버리지가 붙지 않은 계수는 전체를 다룬 것처럼 읽힙니다.
경계에 대해서는 특히 임계값 하나가 아니라 허용 오차 스윕을 보고하십시오.
형식
LeRobot v2, RLDS/TFDS, HDF5(RoboMimic과 ALOHA), ROS bag 모두 들여올 수 있습니다. 데이터셋을 다시 쓰는 대신 프레임별 JSONL 사이드카로 내보내십시오. 그러면 읽기 전용 공개 릴리스도 다시 공개하지 않고 당신의 주석을 함께 실을 수 있습니다.
설정
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는 여전히 행동 코딩의 표준입니다. Rerun과 Foxglove는 로보틱스 시각화 도구로 가장 뛰어나며 이제 구조화된 주석도 담습니다.
이 영역에서 Potato가 갖는 고유한 기여는 다중 주석자를 지원하고, 웹으로 배포되며, 일치도 통계를 갖췄다는 점입니다.