기술 필드 노트 #24 · 2026년 11월

실제 작업 중 머리 착용 스테레오로 구한 3D 손 스켈레톤: 손은 28–42cm 거리, 손바닥 구간은 프레임마다 4–10% 안

기술노트 #24 · 머리 착용 스테레오+IMU 리그(ODL-EGO S1)로 실제 작업 중 미터 단위 3D 손 자세 구하기, 강체 구간 길이 일관성으로 검증

카메라 하나로는 손 랜드마크는 찾아도 실제 크기와 거리는 알 수 없는데, 로봇 학습에는 둘 다 필요합니다. 머리 착용 어안 스테레오 리그의 왼쪽·오른쪽 눈에서 MediaPipe Hands를 따로 돌리고, 손을 짝지은 뒤 21개 랜드마크를 공장 캘리브레이션으로 삼각측량했습니다. 실제 농산물 소분 작업 30초 클립 3개(15fps, 손-프레임 2,252개)입니다. 손은 프레임의 67–96%에서 양쪽 눈 모두에서 잡혔고, 손목은 카메라에서 28–42cm(클립별 중앙값)였습니다. 이 거리에서 시차 1픽셀은 깊이 약 0.6cm입니다. 정답 데이터가 없어서 물리 법칙으로 확인했습니다. 뼈 길이는 변하지 않습니다. 손바닥의 강체 구간은 프레임마다 중앙값 4–10% 안에서 같았고, 세 클립 사이에서도 1cm 안이었습니다(손목–검지 너클 7.7–8.7cm). 손가락 구간은 잡음이 더 컸고(8–20%), 시선 방향과 거의 나란한 손바닥 폭은 믿기 어려웠습니다(20–35%). MediaPipe가 자체로 내는 모델 손은 비율이 달라서(예: 스테레오로 4.0–4.2cm인 손가락 구간이 2.1–2.9cm), 스테레오가 착용자의 실제 손 크기와 거리를 더해 줍니다.

게시 2026년 11월⏱ 9 분 분량상태 예비 결과 · 자동 분석공개 데이터 GitHub · Hugging Face · Kaggle
67–96%양쪽 눈에서 모두 손을 찾은 프레임손·클립별, 30초×3에서 손-프레임 2,252개검증됨 (자동)
28–42cm카메라에서 손목까지 거리클립별 중앙값, 5–95% 범위 18–49cm검증됨 (자동)
4–10% (MAD)손바닥 강체 구간, 프레임 간 흩어짐손목–검지 너클 클립 간 7.7–8.7cm검증됨 (자동)
중앙값 2.6px좌우 눈 랜드마크 차이정렬 후 수직 차이, 캘리브레이션 자체는 1px 미만검증됨 (자동)

왜 중요한가

로봇에게 2D 랜드마크로는 부족하다

사람 시연으로 배우는 로봇은 손이 화면 어디에 보이는지가 아니라 공간에서 어디에 있고 얼마나 큰지를 알아야 합니다. 단안 손 자세 모델은 표준 크기의 3D 모양을 돌려줄 뿐, 착용자의 실제 손 크기나 카메라와의 거리는 주지 않습니다.

캘리브레이션된 스테레오 쌍은 둘 다 줄 수 있습니다. 이 노트는 실제 작업 영상에서 그것이 어떻게 나오는지, 그리고 모션캡처 없이 어떻게 확인하는지를 보여 줍니다.

구성

실제 작업 30초 클립 3개, 양쪽 눈

녹화: 2026-11-08, 학교 급식용 농산물 소분, R8 스테레오+IMU 리그(ODL-EGO S1) 머리 착용, 눈당 1600×1200, 30fps, 기선 6.5cm. 클립: 11:48 세션(봉지 담기), 10:49 세션(서류와 농산물 분류), 10:00 세션(포장)에서 양손 활동이 가장 많은 30초씩, 두 프레임마다 하나(클립당 450쌍)를 분석했습니다.

방법: 각 눈의 아래쪽 작업 영역에서 MediaPipe Hands 0.10.14 비디오 모드(신뢰도 0.3, 기술노트 #23 설정). 좌우 손을 손 구분(왼손/오른손)으로 짝짓고, 21개 랜드마크 픽셀을 공장 어안 모델로 왜곡 보정한 뒤 공장 스테레오 외부 파라미터로 삼각측량했습니다. 캘리브레이션 파일은 800×600용이라 2배로 환산했습니다(기술노트 #20).

봉지 위에서 일하는 두 손을 찍은 좌우 화면, 손 스켈레톤과 손목 거리 45cm·42cm 표시
그림 1. 같은 순간의 양쪽 눈. 각 눈이 랜드마크를 따로 찾고, 위치 차이로 거리를 구합니다.

결과 1

양손이 양쪽 눈에서 대부분 잡히고, 거리는 18–49cm

오른손은 프레임의 94–96%, 왼손은 67–75%에서 양쪽 눈 모두에 잡혔습니다(왼손은 화면 가장자리에 있거나 봉지를 든 경우가 많았음). 짝지은 손-프레임의 98.6%가 그럴듯한 거리(10–150cm)로 삼각측량됐습니다. 클립별 손목 거리 중앙값은 28–42cm, 5–95% 범위는 18–49cm였습니다.

42cm에서 손의 시차는 약 70px이라, 랜드마크 1px 오차가 깊이 약 0.6cm입니다. 정렬 후 같은 랜드마크는 두 눈 사이에서 수직으로 중앙값 2.6px 어긋났습니다. 캘리브레이션 자체의 에피폴라 오차는 1px 미만(기술노트 #16)이므로, 이것은 검출기의 랜드마크 잡음이고 정밀도를 결정합니다.

카메라 좌표계에서 1초 동안의 두 손 스켈레톤 3D 그림
그림 2. 카메라 좌표계의 양손 1초, 오래된 프레임일수록 흐리게.
왼쪽: 두 손의 30초간 손목 거리. 오른쪽: 좌우 랜드마크 수직 차이 히스토그램
그림 3. 왼쪽: 클립 A의 손목 거리. 오른쪽: 손-프레임별 좌우 랜드마크 수직 차이.

결과 2

뼈는 길이를 지킨다: 정답 없이 하는 검사

손이 움직여도 강체 구간의 길이는 변하면 안 됩니다. 손목–검지 너클은 중앙값 8.2cm(손별 중앙값 6개 7.7–8.7cm), 손목–새끼 너클 7.5cm(7.1–7.7), 엄지 CMC–MCP 3.4cm(3.3–3.7)였고, 프레임 간 중앙절대편차는 4–10%였습니다. 약 4cm인 손가락 첫마디는 8–20%로 잡음이 더 컸습니다.

검지 너클과 새끼 너클 사이의 손바닥 폭은 20–35% 흔들렸습니다. 위에서 내려다본 손에서는 이 구간이 대부분 시선 방향으로 놓여, 스테레오가 가장 약하고 두 너클 위치도 가장 잡기 어렵습니다. 이 시점에서는 믿지 않는 것이 좋습니다.

표 1. 뼈는 길이를 지킨다: 정답 없이 하는 검사
구간스테레오 길이, 전체 프레임 중앙값손별 중앙값 6개의 범위프레임별 흩어짐(MAD)±10% 안 프레임MediaPipe 모델 손
손목 – 검지 너클(MCP)8.2cm7.7–8.7cm4.6–8.9%54–80%9.7cm
손목 – 새끼 너클7.5cm7.1–7.7cm4.3–9.8%51–79%7.4cm
엄지 CMC – MCP3.4cm3.3–3.7cm5.2–7.3%63–77%3.3cm
검지 MCP – PIP4.1cm3.9–4.2cm7.6–13.2%40–62%2.4cm
중지 MCP – PIP4.2cm3.8–4.3cm7.5–17.8%29–61%2.9cm
약지 MCP – PIP4.0cm3.6–4.1cm8.0–20.3%25–61%2.1cm
검지 너클 – 새끼 너클 (손바닥 폭)5.0cm4.1–5.7cm19.7–35.2%16–31%5.0cm
스테레오로 잰 손 구간 7개 길이 상자그림, MediaPipe 모델 값은 마름모
그림 4. 모든 클립의 강체 구간 7개 프레임별 스테레오 길이. 마름모: 같은 프레임에서 MediaPipe가 내는 모델 손.

결과 3

스테레오는 이 손을 재고, 모델은 틀을 돌려준다

MediaPipe는 미터 단위 3D 손도 자체로 냅니다. 같은 프레임에서 그 손목–검지 구간은 9.7cm, 손가락 첫마디는 2.1–2.9cm로, 스테레오의 8.2cm, 4.0–4.2cm와 달랐습니다. 배율만이 아니라 비율이 다릅니다. 모델은 틀이고, 스테레오는 착용자를 잽니다.

직접 확인하는 법

뼈 길이는 공짜 QA 신호다

스테레오나 다시점 손 파이프라인이라면 프레임마다 이 검사를 돌릴 수 있습니다.

  • 양쪽 눈 랜드마크를 삼각측량하고 프레임마다 강체 구간 5–7개 길이를 구합니다.
  • 어떤 구간이 그 손의 중앙값에서 20% 넘게 벗어난 프레임을 표시합니다. 대개 짝이 틀렸거나 위치가 틀린 랜드마크입니다.
  • 시선 방향으로 놓인 구간(여기서는 손바닥 폭)은 믿지 않습니다.
  • 세션끼리 비교합니다. 같은 착용자라면 매일 같은 구간 길이가 나와야 합니다.

의미

같은 데이터에서 미터 단위 3D 손, 검사까지 내장

검증됨: 이 리그의 실제 작업 영상에서 양손의 미터 단위 3D 스켈레톤을 대부분의 시간에 18–49cm 거리로 얻고, 손바닥 강체 구간은 프레임마다 4–10%, 클립 사이 1cm 안에서 일관됩니다.

아직 검증 안 됨: 실측한 손이나 모션캡처와 비교한 절대 정확도. 이 리그의 스테레오 깊이 스케일은 타깃으로 따로 확인했습니다(기술노트 #9).

프로세스: 납품에 프레임별 3D 랜드마크와 뼈 길이 일관성 표시를 넣어, 구매자가 학습 전에 프레임을 거를 수 있게 합니다.

  • 프레임별 3D 랜드마크, 양손, 카메라 좌표계.
  • 프레임별 뼈 길이 표시(20% 넘게 벗어남).
  • 다음: 줄자로 잰 착용자 손과 비교.

범위와 한계

연구의 한계

이 노트가 보여주지 않는 것을 먼저 밝힙니다.

  • 착용자 1명, 작업 1종, 하루의 30초 클립 3개, 리그 1대의 결과입니다.
  • 정답 데이터 없음: 구간의 절대 길이를 실측한 손이나 모션캡처와 비교하지 않았습니다.
  • 랜드마크는 MediaPipe Hands에서 나오므로, 그 오차(특히 손등이 보이거나 일부 가린 손)가 3D로 이어집니다.
  • 두 프레임마다 하나를 처리했고, 한쪽 눈에서만 잡힌 손은 삼각측량하지 않았습니다.
  • 예비 분석: AI 보조 자동 분석이며 제3자 검토는 받지 않았습니다.

FAQ

데이터 구매자가 묻는 질문

Q01머리 착용 스테레오 카메라로 3D 손 자세를 잴 수 있나요?
네. 실제 작업 영상에서 양쪽 눈의 MediaPipe 랜드마크를 삼각측량하니 대부분의 프레임에서 양손을 18–49cm 거리의 3D로 얻었고, 손바닥 강체 구간은 프레임마다 4–10% 안에서 일관됐습니다.
Q02손 랜드마크 깊이는 얼마나 정확한가요?
42cm에서 시차 1px이 약 0.6cm입니다. 두 눈의 랜드마크가 중앙값 2.6px 달랐으므로, 랜드마크별 깊이 잡음은 몇 mm에서 1cm 정도입니다.
Q03모션캡처 없이 3D 손 자세를 어떻게 검증하나요?
뼈 길이를 씁니다. 강체 구간은 모든 프레임과 세션에서 같은 길이여야 하므로, 그 흩어짐이 곧 잡음의 크기이자 프레임별 QA 표시가 됩니다.
Q04MediaPipe의 3D 월드 출력은 미터 단위인가요?
미터 단위 크기이지만 틀 손에서 나옵니다. 비율이 스테레오 측정과 달랐습니다(예: 손가락 구간 2.1–2.9cm 대 4.0–4.2cm).
Q05머리 착용 시점에서 믿기 어려운 손 측정은?
시선 방향으로 놓인 구간입니다. 예를 들어 검지·새끼 너클 사이 손바닥 폭은 20–35% 흔들렸습니다.

공개 데이터와 코드

근거 자료를 직접 확인하세요

이 노트의 모든 수치는 검증할 수 있습니다. 가공 데이터, 분석 코드, 그림, 실행 가능한 노트북을 공개합니다.

Kaggle에서 노트북 실행

라이선스: CC BY 4.0 (데이터·그림) · MIT (코드)

이 노트 인용하기

Origin Data Lab (2026). 기술노트 #24: 실제 작업 중 머리 착용 스테레오로 구한 3D 손 스켈레톤. https://origindatalab.io/ko/technical-field-notes/stereo-3d-hand-skeleton-real-work.html

우리 데이터로도 이렇게 측정해 볼까요?

오리진데이터랩은 피지컬 AI·로봇 팀을 위해 에고센트릭, 스테레오+IMU, 현장 영상 수집을 설계·운영하고 품질 검증을 문서로 제공합니다.