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

실제 작업 내내 데이터가 버티나? 머리 착용 작업 2시간 25분의 녹화 무결성과 캘리브레이션

기술노트 #16 · 머리 착용 스테레오+IMU 리그의 장시간 무결성과 캘리브레이션 안정성 (ODL-EGO S1)

짧은 시험 녹화로는 실제 생산에서 중요한 문제가 잘 드러나지 않습니다. 세션 후반의 프레임 누락, 파일이 나뉘는 지점의 공백, IMU 버퍼 넘침, 리그가 데워지고 움직이는 머리에 쓰인 뒤의 캘리브레이션 틀어짐 같은 것들입니다. 이 모두를 실제 농산물 소분 작업 2.4시간, 세션 6개, 5분 영상 파일 32개에서 확인했습니다. 좌우 프레임 쌍 261,390개가 하나도 빠짐없이 있었고, 스트로브 카운터는 연속이었으며, 좌우 노출 차이는 최대 64µs, 파일 경계 26곳 모두 끊김이 없었습니다. 500Hz IMU는 자이로 샘플 4,370,281개를 순번 끊김 없이 기록했고 최대 공백은 2.2ms였습니다. 특징점 매칭 138,940개로 한 타깃 없는 에피폴라 검사에서도 틀어짐이 없었습니다. 중앙 시야 중앙값이 모든 파일에서 0.41–0.72px였습니다. 미터 스케일은 다시 확인하지 않았습니다.

게시 2026년 11월⏱ 9 분 분량상태 예비 결과 · 자동 분석공개 데이터 GitHub · Hugging Face · Kaggle
261,390개 중 0누락 프레임세션 6개, 145분, 좌우 모두검증됨 (자동)
64µs좌우 노출 차이 최대중앙값 21µs검증됨 (자동)
2.19msIMU 최대 공백자이로 샘플 4,370,281개, 순번 끊김 없음검증됨 (자동)
0.41–0.72px5분 파일별 에피폴라 오차, 중앙 시야파일 32개, 증가 추세 없음검증됨 (자동)

왜 중요한가

구매자는 분이 아니라 시간 단위로 받는다

데이터셋은 연속 작업 여러 시간 단위로 납품됩니다. 저장 카드가 찰 때의 프레임 누락, 녹화기가 파일을 나누는 지점의 공백, IMU 버퍼 넘침, 열과 머리 움직임에 따른 캘리브레이션 변화는 5분짜리 시험에서는 안 보이고 실제 장시간 세션에서만 드러납니다.

이 노트는 실제 작업 오전 전체를 처음부터 끝까지, 리그가 이미 기록하는 데이터만으로 검사합니다. 프레임별 노출 타임스탬프, 스트로브 카운터, IMU 스트림, 장비 로그, 그리고 캘리브레이션 검사용 영상 자체입니다.

구성

세션 6개, 영상 파일 32개, 실제 작업 오전 하나

녹화: 2026-11-01 09:48–12:37, 식품 공급업체 작업장의 학교 급식용 농산물 소분, 리그는 머리에 착용. 14–32분 세션 6개이며, 녹화기가 세션을 5분 파일로 나눕니다(한쪽당 32개). IMU 파일은 세션마다 하나입니다.

입력: 영상마다 들어 있는 프레임별 노출 시작·길이와 스트로브 카운터, IMU 스트림, 장비 녹화 로그, 캘리브레이션 검사용으로 5분 파일마다 뽑은 좌우 프레임 8쌍.

프레임과 동기

좌우 프레임 쌍 261,390개 전부 있음, 좌우 차이 64µs 이내

양쪽 모두 빠진 프레임이 없었습니다. 간격으로 센 누락은 0이었고, 스트로브 카운터는 모든 프레임에서 정확히 1씩 늘었으며, 모든 파일에서 좌우 프레임 수가 같았습니다. 장비 로그도 모든 프레임 기록, 스트로브 누락 0을 보고했습니다(6개 중 5개 세션, 한계 참고).

좌우 노출 차이는 중앙값 21µs, 최대 64µs로 프레임 주기의 0.2% 미만입니다. 노출 중심 간격은 31.4–35.2ms였는데, 33.3ms 주변의 퍼짐은 프레임마다 노출 길이가 바뀌어서 생긴 것이지 누락이나 지연 때문이 아닙니다.

파일 경계도 끊김이 없었습니다. 26곳 모두 다음 프레임이 32.6–34.1ms 뒤에 왔고 스트로브 카운터는 1 늘었습니다.

31–35ms 프레임 간격과 0–64µs 좌우 차이의 로그 히스토그램 두 개
그림 1. 세션 6개 전체 프레임의 프레임 간격과 좌우 노출 차이.
표 1. 좌우 프레임 쌍 261,390개 전부 있음, 좌우 차이 64µs 이내
세션 시작분영상 파일프레임 (좌 = 우)누락 프레임좌우 차이 최대 (µs)IMU 샘플IMU 최대 공백 (ms)
09:4827.5649,473052827,2412.11
10:2017.9432,225055538,7822.11
10:4221.7538,998064652,0052.11
11:1114.1325,334049423,5512.19
11:2832.2758,015049969,9532.11
12:0531.9757,345051958,7492.11
합계145.232261,3900644,370,2812.19

IMU

공백도, 순번 끊김도 없다

IMU는 501.5–501.8Hz로 자이로 4,370,281개, 가속도계도 같은 수의 샘플을 냈습니다. 샘플 사이 최대 공백은 2.19ms(약 한 샘플 주기)였고, 5ms 넘는 공백과 순번 카운터 끊김은 없었습니다. 모든 영상은 IMU 스트림보다 2.8–3.6ms 늦게 시작해 먼저 끝났습니다.

캘리브레이션

작업하는 동안 공장 캘리브레이션은 틀어지지 않았다

5분 파일마다 좌우 8쌍의 SIFT 매칭을 공장 캘리브레이션으로 검사했습니다(캘리브레이션을 쓰지 않는 느슨한 이상치 제거 후 138,940개). 중앙 시야 중앙값은 0.41–0.72px, 전체 화면 중앙값은 0.68–1.29px로, 11일 전 다른 영상에서 잰 0.73px(기술노트 #13)와 비슷합니다.

오전 내내 증가 추세가 없습니다(파일 순서와 중앙 시야 중앙값의 스피어만 ρ = -0.37, 첫 파일이 가장 높음). 머리 착용 작업, 워밍업, 두 시간 넘는 착용이 스테레오 기하를 측정 가능할 만큼 바꾸지 않았습니다.

한계: 이 검사는 회전과 내부 파라미터 변화는 잡지만 좌우 간격 길이 변화는 잡지 못하므로, 미터 깊이 스케일은 다시 확인하지 않았습니다. ChArUco 보드는 뽑은 프레임 중 하나에만 찍혀 스케일 검사에는 부족했습니다.

09:48부터 12:37까지 5분 파일별 에피폴라 거리 중앙값이 0.4–1.3px에 머무는 선 그래프
그림 2. 5분 파일별 에피폴라 거리 중앙값, 중앙 시야와 전체 화면, 이전 기준값.
표 2. 작업하는 동안 공장 캘리브레이션은 틀어지지 않았다
세션 시작매칭중앙값, 전체 화면 (px)중앙값, 중앙 시야 (px)1px 미만 매칭
09:4822,1840.910.6053%
10:2017,1770.790.5457%
10:4220,9910.810.5556%
11:1113,7070.820.5055%
11:2832,6170.830.5155%
12:0532,2640.860.5354%
전체138,9400.840.5455%

바꾼 것

모든 납품에서 돌리는 검사

검증됨: 이번 실제 작업 오전의 프레임 완전성, 스테레오 동기, 파일 경계 연속성, IMU 연속성, 캘리브레이션 일관성.

절차: 이 검사들을 QA 도구 하나로 묶었습니다(analysis/qa/odl_delivery_qa.py, 이번 녹화로 시험 완료). 다음 납품부터 모든 납품에 누락 프레임, 좌우 차이 최대값, IMU 공백, 파일별 에피폴라 중앙값이 담긴 QA 보고서를 함께 보냅니다. 또 장비가 마지막 로그를 쓰도록 전원을 끄기 전에 녹화를 멈춥니다.

  • 납품마다 누락 프레임, 좌우 차이 최대값, IMU 최대 공백, 파일별 에피폴라 중앙값을 보고합니다.
  • 촬영하는 날 시작이나 끝에 보드로 미터 스케일을 다시 확인합니다.
  • 전원을 끄기 전에 녹화를 멈춥니다.

범위와 한계

연구의 한계

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

  • 리그 1대, 작업자 1명, 오전 하나(2026-11-01), 작업장 1곳의 결과이며 전체를 대표하지 않습니다.
  • 모든 검사는 자동 처리입니다. 알고리즘 기반 예비 분석(AI-only preliminary analysis)이며 사람이 다시 검증하지 않았습니다.
  • 캘리브레이션은 5분 파일마다 8쌍으로 검사했으며, 에피폴라 검사는 좌우 간격 길이(미터 스케일) 변화를 잡지 못합니다.
  • 마지막 세션의 장비 로그에는 종료 기록이 없습니다(녹화를 멈추기 전에 전원이 꺼진 것으로 보임). 영상과 IMU 데이터는 끝까지 온전했습니다.
  • 장비 로그의 IMU 'drop' 카운터가 이전 녹화를 포함해 모든 세션에서 기록 샘플 수와 비슷하게 나옵니다. 의미(내부 속도의 2:1 솎아내기일 가능성)는 공급사가 확인하지 않았으며, 기록된 스트림 자체에는 공백이 없습니다.
  • 원본 영상은 다른 작업자와 작업장 내부가 찍혀 있어 공개하지 않고, 프레임별 수치 데이터만 포함합니다.

FAQ

데이터 구매자가 묻는 질문

Q01스테레오+IMU 리그가 장시간 녹화에서 프레임을 빠뜨리나요?
이번 시험에서는 아닙니다. 실제 작업 2.4시간, 세션 6개에서 좌우 프레임 쌍 261,390개 중 빠진 것이 0이었고, 녹화기가 파일을 나눈 26곳도 포함됩니다.
Q02좌우 카메라는 얼마나 잘 동기화되나요?
모든 프레임에서 노출 중심 차이가 중앙값 21µs, 최대 64µs였습니다.
Q03작업 중에 착용하면 캘리브레이션이 틀어지나요?
측정 가능한 틀어짐은 없었습니다. 약 2시간 반 동안 모든 5분 파일에서 중앙 시야 에피폴라 중앙값이 0.41–0.72px였습니다. 미터 스케일은 다시 확인하지 않았습니다.
Q04IMU 스트림은 끊김이 없나요?
네. 자이로 샘플 4,370,281개에 순번 끊김이 없고 최대 공백은 2.19ms였습니다.
Q05캘리브레이션 타깃 없이 어떻게 확인했나요?
뽑은 프레임의 좌우 특징점 매칭으로 했습니다. 캘리브레이션이 맞으면 짝지어진 점이 에피폴라 선 위에 있으므로, 틀어지면 거리가 커집니다.

공개 데이터와 코드

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

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

Kaggle에서 노트북 실행

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

이 노트 인용하기

Origin Data Lab (2026). 기술노트 #16: 머리 착용 작업 2시간 25분의 녹화 무결성과 캘리브레이션. https://origindatalab.io/ko/technical-field-notes/real-work-session-recording-integrity-calibration-holdup.html

이 수준으로 측정된 실세계 데이터가 필요하신가요?

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