과학기술정보통신부는 지난 6월 피지컬 AI 학습용 행동 데이터를 수집하고 가공하는 거점 시설을 준비 중이라고 밝혔습니다. 중앙 거점에서 기본 행동 데이터와 합성데이터를 만들고, 지역 거점에서 제조·농업·물류 현장 데이터를 모으는 구상입니다(한국경제 보도). 손을 뻗고, 물건을 집고, 도구를 쥐고, 나사를 돌리는 동작을 로봇이 따로 배워야 한다는 전제가 이 계획에 깔려 있습니다.
그런데 영상을 확보한 다음 질문을 받는 쪽은 데이터를 만드는 회사입니다. 찍어 온 영상을 어떤 단위로 끊고, 무엇을 정답으로 적어야 로봇이 배울 수 있는 형태가 되는가. 로봇 조작 데이터 어노테이션이라고 부르는 이 공정에서 결과물의 쓸모가 갈립니다. 이 글은 공구 작업 영상을 로봇 조작 정책 학습용으로 가공하면서 저희가 실제로 다시 만들어 본 뒤에 확정한 기준을 정리한 것입니다.
촬영이 끝난 순간에 진짜 문제가 시작됩니다
앞서 멀티뷰 행동 데이터 수집 파일럿에서 헤드캠과 손목캠을 어떻게 묶었고 어떤 조건에서 유효 구간이 확보되는지를 정리해 드린 바 있습니다. 그 글은 촬영까지의 이야기였습니다.
촬영본이 손에 들어오면 일이 끝난 것처럼 보입니다. 실제로는 반대입니다. 로봇 정책을 학습시키는 쪽이 넣는 것은 영상 파일이 아니기 때문입니다. 학습기에 들어가는 것은 시작과 끝이 정의된 하나의 시도이고, 그 안에 시점별 화면과 그 시점에서 일어난 동작이 순서대로 들어 있어야 합니다. 세 시간짜리 mp4 파일은 그 조건을 하나도 만족하지 않습니다.
그래서 가공 단계에서 세 가지 질문이 동시에 들어옵니다.
- 어디서 끊을 것인가 — 한 번의 시도는 언제 시작해서 언제 끝납니까. 톱질 스무 번은 시도 하나입니까, 스무 개입니까.
- 무엇을 정답으로 적을 것인가 — 이 구간에 붙는 문장은 무엇이어야 합니까. “나무를 자릅니다”입니까, “톱을 절단선에 맞추고 앞뒤로 밉니다”입니까.
- 실패한 장면은 어떻게 할 것인가 — 나사가 헛돌고 다시 잡는 구간은 불량입니까, 자산입니까.
세 질문 모두 촬영 사양서에는 답이 없었습니다. 영상의 화질이나 프레임레이트로는 결정되지 않는 항목이기 때문입니다.
어노테이션은 라벨을 붙이는 일이 아니라 단위를 정의하는 일입니다
로봇 조작 데이터 어노테이션이라고 하면 대개 화면에 박스를 치거나 구간에 태그를 다는 작업을 떠올리게 됩니다. 비전 모델용 데이터 라벨링에서는 그 이해가 대체로 맞습니다. 대상이 이미 화면 안에 있고, 사람이 그것을 지목해 주면 되기 때문입니다.
로봇 조작 데이터는 성격이 다릅니다. 여기서 정답은 화면 어딘가에 있는 물체가 아니라, 시간 위에 놓인 하나의 시도 전체입니다. 로봇 학습 데이터셋의 사실상 표준으로 자리 잡은 Open X-Embodiment를 보면 이 구조가 분명히 드러납니다. 21개 기관이 22종의 로봇에서 모은 데이터를 하나로 묶은 이 데이터셋은 527개 스킬을 다루는데, 저장 형식의 기본 단위는 프레임이 아니라 에피소드입니다. 에피소드 안의 각 스텝은 RLDS 형식에 따라 첫 스텝인지 마지막 스텝인지를 표시하는 플래그와 함께 관찰값과 행동을 담습니다.
즉 가공팀이 내놓아야 하는 산출물은 태그가 달린 영상이 아니라, 경계가 명확한 에피소드의 묶음입니다. 관점을 이렇게 바꾸고 나서야 앞의 세 질문에 일관된 답을 낼 수 있었습니다.
[원본 세션 영상] ➔ [접촉 기준 분절] ➔ [에피소드 경계 확정] ➔ [동작 지시문 부여] ➔ [결과 태깅] ➔ [에피소드 단위 검수]
로봇 조작 데이터 어노테이션에서 확정한 4가지 기준
아래 네 가지는 처음부터 알고 있던 것이 아닙니다. 로봇 조작 데이터 어노테이션의 첫 배치를 시간 균등 분할로 끊어서 넘겼다가 고객사 검토에서 되돌려받은 뒤, 기준을 다시 세우면서 남은 규칙입니다.
구간은 시간이 아니라 접촉으로 끊습니다
가장 먼저 버린 방식이 고정 길이 분할이었습니다. 5초씩 잘라 두면 관리가 편하고 통계도 깔끔하게 나옵니다. 문제는 그렇게 만든 구간의 절반가량이 동작의 한가운데에서 시작하고 한가운데에서 끝난다는 점입니다. 로봇이 배워야 하는 것은 “이미 톱을 쥔 채 밀고 있는 상태”가 아니라 “톱에 손을 뻗어 쥐고 밀기 시작하는 과정”입니다.
그래서 경계를 접촉 사건에 맞췄습니다. 손이 대상물이나 공구에 처음 닿는 프레임이 시작이고, 손이 대상물에서 떨어져 다음 목적지로 이동을 시작하는 프레임이 끝입니다. 판정 기준이 되는 시점 영상도 미리 정해 둡니다. 접촉 개시와 종료는 손목캠을 기준으로 하고, 대상물의 위치 변화는 헤드캠으로 확인합니다. 이 순서를 문서에 못 박아 두지 않으면 작업자마다 다른 프레임을 고르고, 같은 데이터셋 안에서 경계의 의미가 달라집니다.
한 가지 예외를 둡니다. 톱질이나 사포질처럼 같은 동작이 반복되는 구간은 왕복 한 번마다 끊지 않고 반복 전체를 하나로 묶습니다. 반복 자체가 하나의 스킬이기 때문입니다. 어디까지를 하나의 반복 묶음으로 볼지는 작업 대상이 바뀌는 시점, 즉 자재를 다시 잡거나 위치를 옮기는 순간을 경계로 삼습니다.
지시문은 결과가 아니라 동작으로 씁니다
에피소드마다 자연어 지시문이 붙습니다. 여기서 초기에 크게 어긋났습니다. 처음에는 작업의 목적을 그대로 적었습니다. “목재를 절단합니다”, “기판에 부품을 고정합니다” 같은 문장입니다.
읽기에는 자연스럽지만 학습에는 쓰기 어려운 문장입니다. 같은 “목재를 절단합니다” 아래에 톱을 집는 구간, 절단선에 맞추는 구간, 미는 구간이 전부 섞여 들어가기 때문입니다. 모델 입장에서는 서로 다른 동작에 같은 이름표가 붙은 셈입니다.
기준을 바꿔 관찰 가능한 동작만 적기로 했습니다.
- 동사는 신체 동작이어야 합니다. 자르다·고정하다 같은 결과 동사 대신 쥐다·밀다·돌리다·놓다를 씁니다.
- 대상물과 도구를 각각 명시합니다. “그것을 잡습니다”는 다시 씁니다.
- 어느 손인지 적습니다. 양손 협응 작업에서는 왼손과 오른손의 역할이 다르고, 양팔 제어를 염두에 둔 학습에서는 그 구분이 그대로 값이 됩니다.
- 형용사와 부사를 넣지 않습니다. “조심스럽게”, “천천히”는 사람마다 다르게 판단하고 검증도 불가능합니다.
문장 하나가 길어지면 잘못 끊긴 신호입니다. 한 문장으로 깔끔하게 적히지 않는 구간은 지시문을 고칠 것이 아니라 경계를 다시 봐야 합니다. 실제로 저희는 지시문 작성을 경계 검수의 도구로도 씁니다.
실패한 시도를 지우지 않습니다
촬영 중 나사가 헛돌거나 부품이 미끄러져 다시 잡는 장면이 나옵니다. 초기에는 이런 구간을 촬영 사고로 보고 걷어냈습니다. 지금은 정반대로 다룹니다. 실패와 재시도는 로봇이 가장 배우기 어려운 구간이고, 계획해서 찍기도 어려운 장면이기 때문입니다.
대신 성공한 시도와 섞이지 않도록 분리합니다. 에피소드마다 결과 태그를 붙이고, 실패한 에피소드에는 실패 유형을 함께 적습니다. 파지 실패, 정렬 실패, 도구 이탈처럼 유형을 나눠 두면 학습 쪽에서 필요한 만큼만 골라 쓸 수 있습니다.
여기에 한 가지를 더합니다. 실패 직후의 복구 동작을 별도 에피소드로 끊어 둡니다. 미끄러진 부품을 다시 집어 정렬하는 구간은 그 자체로 완결된 시도이고, 로봇에게는 실패를 감지한 뒤에 무엇을 해야 하는지를 가르치는 몇 안 되는 자료입니다. 이 판단은 이론에서 나온 것이 아니라, 실패 구간을 통째로 버린 배치를 다시 만들면서 얻은 것입니다.
검수는 프레임이 아니라 에피소드 단위로 합니다
이미지 데이터 가공 공정에서는 샘플링 검수가 통합니다. 1만 장 가운데 300장을 뽑아 오류율을 재면 전체 품질을 대체로 가늠할 수 있습니다.
에피소드 데이터에서는 이 방식이 잘 작동하지 않습니다. 한 에피소드 안의 프레임은 서로 독립적이지 않기 때문입니다. 경계가 두 프레임 밀리면 그 에피소드는 프레임 하나가 아니라 통째로 잘못된 자료가 됩니다. 프레임 단위 오류율은 0.1%인데 쓸 수 없는 에피소드는 10%인 상황이 실제로 벌어집니다.
그래서 검수 단위를 에피소드로 올렸습니다. 체크 항목은 네 가지로 고정되어 있습니다. 시작 프레임에 접촉 개시가 실제로 보이는가, 종료 프레임에서 손이 대상물을 떠났는가, 지시문의 동작이 화면에서 그대로 확인되는가, 세 시점 영상의 타임라인이 같은 구간을 가리키는가입니다. 네 항목 중 하나라도 걸리면 그 에피소드는 수정 대상이 되고, 부분 보정이 아니라 경계부터 다시 잡습니다.
자동화를 기대하기 전에 짚어야 할 것
로봇 조작 데이터 어노테이션 공정을 설명드리면 자동 분절 도구를 쓰면 되지 않겠느냐는 질문을 자주 받습니다. 손 검출과 물체 추적으로 접촉 시점을 잡아내는 접근은 실제로 존재하고, 저희도 1차 후보 구간을 뽑는 데 활용합니다.
다만 그 결과를 그대로 납품할 수는 없습니다. 접촉은 픽셀이 겹치는 사건이 아니라 힘이 전달되기 시작하는 사건인데, 화면상으로는 손이 공구 옆을 스쳐 지나가는 장면과 쥐기 시작하는 장면이 거의 같아 보입니다. 도구가 뽑아낸 후보를 사람이 확인하고 경계를 옮기는 공정은 지금도 줄지 않았습니다. 자동화가 줄여 준 것은 훑어보는 시간이지 판정하는 시간이 아닙니다.
에피소드를 잘게 쪼갤수록 좋다는 생각도 자주 보입니다. 잘게 나누면 데이터 건수는 늘어나지만, 동작 하나가 앞뒤 맥락에서 잘려 나가면 로봇은 그 동작을 언제 꺼내 써야 하는지를 배우지 못합니다. 에피소드 수가 늘어나는 것이 아니라, 오히려 학습 가능한 시도가 줄어드는 결과가 나옵니다. 기준은 개수가 아니라 하나의 시도가 그 자체로 완결되는가입니다.
마지막으로 솔직하게 적어 둘 것이 있습니다. 이 네 가지 기준은 공구를 다루는 양손 작업이라는 조건에서 확정된 것입니다. 대상물이 고정되어 있고 한 손만 움직이는 조립 작업이나, 접촉 자체가 없는 운반 작업에서는 경계 정의부터 다시 설계해야 합니다. 도메인이 바뀌면 기준도 다시 세워야 한다는 점은 AI 학습 데이터 구축에서 예외가 없었습니다.
결론
로봇 조작 데이터 어노테이션의 산출물은 태그가 달린 영상이 아니라 경계가 명확한 에피소드의 묶음입니다. 이 전제를 바꾸면 나머지 결정이 따라옵니다.
정리하면 네 가지입니다. 구간은 시간이 아니라 접촉으로 끊을 것, 지시문은 결과가 아니라 관찰 가능한 동작으로 쓸 것, 실패한 시도는 유형을 붙여 남길 것, 검수는 프레임이 아니라 에피소드 단위로 할 것. 네 가지 모두 한 번 잘못 만들어 다시 작업한 뒤에 남은 규칙입니다.
지금 확보한 행동 영상이 학습에 잘 들어가지 않는다면, 모델 구조나 촬영 장비를 손보기 전에 에피소드의 경계가 무엇을 기준으로 정해졌는지부터 확인해 보시기를 권해 드립니다. 그 기준이 문서에 적혀 있지 않다면 문제는 영상에 있지 않습니다.
수집하신 영상의 작업 유형과 시점 구성을 알려주시면, 해당 조건에 맞춘 에피소드 분절 기준안을 먼저 정리해 검토용으로 전달해 드립니다. 가장 효율적인 데이터 구축 방법을 함께 찾겠습니다.


