기술 필드 노트 #05 · 2026년 10월

에고센트릭 로봇 학습 데이터의 키스텝 어노테이션

어노테이션 스키마와 자동 QA 규칙, 그리고 신체 착용 IMU가 사람이 지정한 동작 경계에 대해 확인할 수 있는 것과 확인할 수 없는 것

실제 요리 작업 두 가지(칼을 이용한 재료 손질, 액상 양념 붓기와 젓기)를 각각 66초씩 신체 착용형 안드로이드 스마트폰으로 촬영했습니다. 해상도 1920×1080, 30 fps, IMU 원본 샘플링 410.6 Hz입니다. 사람이 영상을 보고 키스텝 25개를 지정한 뒤, 구조적 규칙과 착용자의 실제 회전 측정값으로 모든 라벨을 확인했습니다. 작업자 1명의 방법론 시연이며 벤치마크는 아닙니다.

25 / 0키스텝 / 구조적 오류(누락 구간·중복 구간·필수 필드 누락·허용 외 동사)
7.5×비작업 구간과 작업 구간의 착용자 회전 중앙값 비교(61 대 8 °/s)
p = 0.005 / 0.002표시된 경계와 무작위 경계 집합 2,000개의 비교, 샘플 A / B
p = 0.67칼 손질의 작업→작업 경계: IMU로 구별 불가

문제

실제 작업에서 키스텝 라벨이 실패하는 이유

언어 조건부 정책, 시각-언어-행동(VLA) 모델, 작업 분할 모델은 모두 사람의 시연 영상에서 행동·대상·설명과 연결된 시간 구간을 사용합니다. 흔한 어노테이션 문제는 구간 누락과 중복, 화면상의 좌우를 작업자 손의 좌우로 착각하는 일, 보이지 않는 의도나 물체 정체를 추측하는 일입니다. 영상에 없는 로봇 명령을 설명에 덧붙이거나 경계 정밀도를 밝히지 않는 문제도 있습니다. 구매자는 0.5초 수준의 의미적 경계와 프레임 단위의 정확한 경계를 구분할 수 있어야 합니다.

샘플 A
칼 손질 — 양파 2개와 고구마 1개 · 66.0초 · 1,979프레임 · 3단계의 키스텝 13개
샘플 B
액상 양념 2종 붓기와 젓기 · 65.97초 · 1,978프레임 · 3단계의 키스텝 12개
작업자
1명, 왼손잡이(작업자 직접 확인)
어노테이션
영상 기반 수동 라벨링 후 2차 시각 검토, 의미적 경계 정밀도 약 0.5~1.0초
IMU
스마트폰 가속도계·자이로스코프, 410.6 Hz, 데이터 누락 0회. 손 관절이 아닌 카메라/착용자 움직임 측정

스키마

작업 → 단계 → 키스텝

01 / OBSERVE보이는 변화만

영상에서 확인 가능한 접근·접촉·도구 사용·놓기·배치 시점으로 시작과 끝을 정합니다.

02 / CONSERVE추측보다 null

가려지거나 흐리거나 화면 밖인 정보는 일반 명칭, unknown 또는 null로 기록하며 정체나 의도를 추론하지 않습니다.

03 / COVER누락과 중복 없음

키스텝이 영상 전체 시간을 덮습니다. 작업과 관계없는 구간도 비워두지 않고 non_task로 표시합니다.

04 / BOUND정밀도 명시

경계 정밀도를 파일에 기록해 후속 사용자가 타임스탬프의 활용 한계를 알 수 있게 합니다.

키스텝 예시(샘플 A, 납품 파일의 원본 구조 유지)
{ "id": "ks_A_01", "t_start": 0.0, "t_end": 7.5, "phase": "onion_A_preparation", "verb": "peel", "object": "onion_A", "tool": "knife", "active_hand": "left", "support_hand": "right", "instruction": "Hold and rotate onion_A with the right hand while removing outer material with a knife in the left hand.", "state_before": "onion_A with outer material", "state_after": "onion_A partially peeled", "outcome": "success" }
HANDSactive_hand / support_hand는 영상 좌우가 아니라 착용자의 해부학적 왼손·오른손을 사용합니다. 주로 쓰는 손은 파일마다 한 번 기록합니다.
TEXTinstruction은 관찰한 행동을 기술하며 로봇 명령이 아닙니다. 파지 자세나 힘을 암시하지 않습니다.
OUTCOME완료가 보일 때만 success, 그 외에는 unknown입니다. non_task 구간의 outcome은 null입니다.
NOTESreview_note에는 검수자가 구간을 합치거나 나눈 이유를 기록합니다(샘플 B에 4개, 예: 붓는 도중 동시에 젓는 행동).

구조적 QA

모든 키스텝에 적용하는 자동 검사

규칙샘플 A샘플 B
키스텝 / 단계13 / 312 / 3
첫 시작 / 마지막 끝 = 영상 구간0.0–66.0 s0.0–65.967 s
키스텝 사이 누락 / 중복0 / 00 / 0
모든 키스텝이 해당 단계 안에 있음YesYes
필수 필드 13개 중 누락값00
허용 동사 목록 외 동사00
키스텝 길이 최소~최대(평균)1.2–16.0 s (5.1)1.5–19.0 s (5.5)
사용한 동사peel 3 · place 3 · trim 2 · non_task 2 · cut · grasp · discardpour 3 · open 2 · close 2 · place 2 · non_task 2 · stir
동작 수행 손(작업 키스텝)left 6 · right 5left 3 · right 7
칼 손질 작업의 키스텝 13개 중간 프레임
그림 1. 샘플 A의 키스텝별 중간 프레임. 각 프레임은 표시된 동사와 도구에 대응하며, 두 개의 비작업 프레임에서는 착용자가 도마 밖을 바라봅니다.
구조적 QA로 확인할 수 없는 것

이 규칙은 파일의 구조가 올바르다는 사실만 증명합니다. 동작 경계가 정확한 위치에 있는지는 증명하지 못합니다. 이를 확인하려면 두 번째 어노테이터 또는 독립적인 신호가 필요합니다. 스마트폰 IMU는 에고센트릭 촬영에서 활용할 수 있는 독립 신호입니다.

방법

착용자 움직임으로 라벨 검증하기

01 / ALIGNIMU → 영상 시간

첫 프레임은 앱 기준 시점보다 A에서 188 ms, B에서 200 ms 늦었습니다. 영상 광학 흐름과 자이로스코프를 맞춰 측정한 시간 차이만큼 IMU 시간을 보정했습니다.

02 / SIGNAL|ω| (°/s)

스마트폰이 신체에 어떤 방향으로 부착됐는지와 무관한 자이로스코프 크기입니다.

03 / BOUNDARY중앙값 차이, ±1초

각 경계의 전후 1초에서 회전 중앙값 차이의 절댓값을 구한 뒤 전체 경계에 대해 평균했습니다.

04 / NULL무작위 집합 2,000개

같은 수의 경계를 무작위로 배치해 동일한 점수를 계산했습니다. p는 무작위 점수가 관측 점수 이상인 비율입니다.

66초 요리 작업 2건의 키스텝 라벨과 자이로스코프 회전 크기
그림 2. 사람이 표시한 구간 위에 착용자 회전값을 겹친 결과. 큰 회전 피크는 어노테이터가 IMU를 보지 않고 비작업으로 지정한 구간(빨간색)에 나타납니다.

결과

IMU는 큰 동작 구조는 확인하지만 미세한 손동작은 확인하지 못합니다

25개 키스텝의 자이로스코프 회전 중앙값 및 95백분위 그래프
그림 3. 키스텝별 회전 중앙값과 95백분위값(로그 척도). 비작업 구간 4개는 주변 작업 구간보다 훨씬 높습니다.
실제 라벨 경계와 무작위 경계의 회전 변화 비교 그래프
그림 4. 왼쪽: 전체 경계의 회전 변화는 무작위 위치의 약 3배입니다. 오른쪽: 비작업 경계를 제외하면 칼 손질 경계는 무작위와 구별되지 않지만 양념 작업 경계는 구별됩니다.
경계 집합개수표시 경계(°/s)무작위 평균(°/s)무작위 p95(°/s)p
A · 전체 경계1221.97.214.70.005
B · 전체 경계1129.910.020.10.002
A · 작업→작업만83.34.16.80.67
B · 작업→작업만710.23.97.50.003
수치 해석

칼 작업은 머리와 몸통이 거의 움직이지 않는 동안 손에서 진행됩니다. 따라서 peel → place → trim 경계는 신체 착용 IMU에 흔적을 남기지 않습니다. 반면 양념병을 집고 열고 내려놓는 작업은 상체를 움직여 경계가 드러납니다. 각 집합의 경계가 7~8개뿐이고 작업자도 한 명이므로, 일반적인 성공률이 아니라 방법론의 시연으로 해석해야 합니다.

실제 운영

IMU는 라벨 채점이 아니라 검수 후보 선별에 활용합니다

실제 활용 결과는 검수 후보 목록입니다. 작업 키스텝에서 회전이 비정상적으로 높거나, 큰 회전 이벤트가 라벨 구간 바로 밖에 있는 경계를 검수자에게 보냅니다. 샘플 A에서는 trim(ks_A_05) 한 건이 해당했습니다. 95백분위 회전이 142 °/s였으며, 원인은 직전 머리 회전의 끝부분이 구간 시작 후 0.32초(27.01~27.32초)까지 이어진 것이었습니다. 이는 명시된 0.5~1.0초 경계 정밀도 안이므로 라벨은 유지했습니다.

USE머리/몸통 회전이 큰 작업 구간과 회전이 거의 없는 비작업 구간을 재검토 후보로 표시합니다.
USE손을 뻗거나 몸을 돌리거나 물체를 내려놓는 등 신체 움직임이 수반된 경계를 확인합니다.
DON’T신체 IMU 일치만으로 미세한 조작 동작 경계를 인증하지 않습니다. 손 추적 또는 두 번째 어노테이터가 필요합니다.
DON’T라벨-움직임 일치로 영상-IMU 시간 차이를 측정하지 않습니다. 측정된 정렬값 대비 라벨을 이동해 얻은 최대치는 A +0.08초, B −0.04초였고 라벨 정밀도 이내입니다. 라벨로 밀리초 차이를 판별할 수 없습니다.
양념 붓기 작업 영상 위에 키스텝 라벨을 표시한 프레임
그림 5. 모든 납품물에 라벨 오버레이 영상을 포함하여 검수자가 JSON만 읽는 대신 영상을 보면서 구간을 확인할 수 있습니다.

기술적 한계

이 기술노트에서 주장하지 않는 것

일치도

어노테이터 간 일치도

어노테이터 1명과 검수자 1명으로 진행했습니다. 경계 차이와 라벨 일치도를 보고하는 이중 어노테이션은 실제 생산 단계에서 수행하며 여기에는 제시하지 않습니다.

규모

일반화 가능성

작업 2종, 왼손잡이 작업자 1명, 총 132초입니다. 통계는 방법론을 설명할 뿐 다른 작업이나 사람에 대한 비율이 아닙니다.

손

손 자세와 로봇 동작

손 키포인트, 파지 자세, 힘/토크, 로봇 행동 라벨은 포함하지 않습니다. 키스텝이 사람 동작을 로봇 동작으로 변환하는 성공을 보장하지 않습니다.

데이터

키스텝별 회전 측정값

키스텝동사동작 수행 손길이중앙값 |ω| (°/s)p95 |ω| (°/s)
ks_A_01peelleft7.5 s515
ks_A_02placeleft2.0 s1021
ks_A_03peelright16.0 s514
ks_A_04non-task—1.5 s53119
ks_A_05trimleft4.0 s22142
ks_A_06placeright4.5 s1140
ks_A_07peelleft10.5 s826
ks_A_08placeright2.0 s819
ks_A_09trimleft5.3 s718
ks_A_10non-task—1.2 s75188
ks_A_11discardright2.8 s1431
ks_A_12graspright1.5 s1530
ks_A_13cutleft7.2 s535
ks_B_01openright2.0 s1759
ks_B_02pourleft3.5 s2146
ks_B_03non-task—4.5 s57149
ks_B_04pourleft14.3 s427
ks_B_05non-task—2.4 s66183
ks_B_06closeright2.8 s1238
ks_B_07placeright1.8 s2243
ks_B_08openright1.5 s4456
ks_B_09pourleft9.7 s316
ks_B_10closeright2.0 s628
ks_B_11placeright2.5 s1447
ks_B_12stirright19.0 s613

자주 묻는 질문

자주 묻는 질문

키스텝 어노테이션이란 무엇인가요?

키스텝은 영상에서 관찰 가능한 하나의 행동 단위를 표시한 시간 구간입니다. 동사, 대상 물체, 도구, 행동 손과 보조 손, 자연어 설명, 전후의 보이는 상태를 기록합니다. 키스텝은 하위 목표인 단계 안에, 단계는 전체 작업 목표 안에 포함됩니다.

로봇 학습용 키스텝 경계는 얼마나 정밀해야 하나요?

용도에 따라 다릅니다. 약 0.5~1.0초의 의미적 경계는 작업 분할, 언어 조건부 정책 데이터, 월드 모델 학습에 충분할 수 있습니다. 프레임 단위 분할은 별도의 비용이 더 드는 프로토콜이 필요하며 요구사항과 견적을 구분해야 합니다.

IMU로 사람의 동작 라벨을 검증할 수 있나요?

부분적으로 가능합니다. 이번 측정에서 신체 착용 IMU는 머리/몸통 회전이 있는 비작업 구간과 작업 구간을 뚜렷이 구분했고 신체 움직임이 있는 경계를 확인했습니다. 하지만 손만 움직이고 머리와 몸통이 정지한 peel → place → trim 같은 미세 손동작 경계는 확인하지 못했습니다.

에고센트릭 영상에서 왼손과 오른손은 어떻게 표시해야 하나요?

영상 화면의 좌우가 아니라 착용자의 해부학적 왼손과 오른손을 사용합니다. 주로 쓰는 손은 작업자에게 확인해 기록하며, 동작 수행 손과 보조 손을 별도 필드로 유지합니다.

움직임과 어노테이션을 비교하기 전에 영상과 IMU 시간을 정렬해야 하나요?

그렇습니다. 어노테이션은 영상 시간을 기준으로 합니다. 이번 촬영에서 첫 영상 프레임은 앱 기준 시점보다 188~200 ms 늦었으므로, 비교 전에 측정된 차이만큼 IMU 시간을 보정했습니다.

기계 판독용 요약

핵심 기술 사실

측정 근거 요약

Origin Data Lab은 에고센트릭 요리 시연 2건(각 66초, 1920×1080, 30 fps, 스마트폰 IMU 410.6 Hz, 왼손잡이 작업자 1명)을 작업 → 단계 → 키스텝 스키마로 25개 키스텝으로 라벨링했습니다. 필드는 동사, 물체, 도구, 수행 손과 보조 손(착용자 기준), 자연어 설명, 보이는 전후 상태, 결과를 포함합니다. 자동 QA에서 누락 구간 0건, 중복 0건, 필수 필드 누락 0건, 허용 외 동사 0건이었고 경계 정밀도는 0.5~1.0초로 명시했습니다.

IMU와 영상의 시간 차이를 영상-자이로 피팅으로 측정해 +188 ms와 +200 ms 보정했습니다. 착용자 회전 중앙값은 비작업 구간 61 °/s, 작업 구간 8 °/s였습니다. 표시된 경계의 회전 변화는 21.9 및 29.9 °/s, 무작위 위치는 7.2 및 10.0 °/s(p=0.005 및 0.002)였습니다. 비작업 경계를 제외하면 칼 손질은 무작위와 구별되지 않았고(p=0.67), 양념 작업은 구별됐습니다(p=0.003). 신체 착용 IMU는 신체 수준의 구조는 확인하지만 미세 손동작 경계는 확인하지 못합니다.

인용 방법

Origin Data Lab (2026). Keystep Annotation for Egocentric Robot-Learning Data: Schema, QA and an IMU Cross-Check. Technical Field Note #05. https://origindatalab.io/technical-field-notes/keystep-annotation-egocentric-robot-learning.html @misc{origindatalab2026fieldnote05, author = {{Origin Data Lab}}, title = {Keystep Annotation for Egocentric Robot-Learning Data: Schema, QA and an IMU Cross-Check}, howpublished = {Technical Field Note \#05}, year = {2026}, month = oct, url = {https://origindatalab.io/technical-field-notes/keystep-annotation-egocentric-robot-learning.html} }

관련 기술노트

어노테이션된 시연 데이터

고객의 온톨로지에 맞춘 현장 수집과 QA

실제 생산 프로젝트에서는 Origin Data Lab이 고객의 동사 어휘와 파일 형식에 맞춰 키스텝을 매핑하고, 일치도 보고를 포함한 이중 어노테이션을 수행하며, 매 배치마다 라벨 오버레이 영상과 QA 로그를 제공합니다. 이 기술노트에 사용한 평가용 어노테이션 샘플을 요청하실 수 있습니다.