기술 필드 노트 #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였습니다. 미터 스케일은 다시 확인하지 않았습니다.
왜 중요한가
구매자는 분이 아니라 시간 단위로 받는다
데이터셋은 연속 작업 여러 시간 단위로 납품됩니다. 저장 카드가 찰 때의 프레임 누락, 녹화기가 파일을 나누는 지점의 공백, 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 늘었습니다.

| 세션 시작 | 분 | 영상 파일 | 프레임 (좌 = 우) | 누락 프레임 | 좌우 차이 최대 (µs) | IMU 샘플 | IMU 최대 공백 (ms) |
|---|---|---|---|---|---|---|---|
| 09:48 | 27.5 | 6 | 49,473 | 0 | 52 | 827,241 | 2.11 |
| 10:20 | 17.9 | 4 | 32,225 | 0 | 55 | 538,782 | 2.11 |
| 10:42 | 21.7 | 5 | 38,998 | 0 | 64 | 652,005 | 2.11 |
| 11:11 | 14.1 | 3 | 25,334 | 0 | 49 | 423,551 | 2.19 |
| 11:28 | 32.2 | 7 | 58,015 | 0 | 49 | 969,953 | 2.11 |
| 12:05 | 31.9 | 7 | 57,345 | 0 | 51 | 958,749 | 2.11 |
| 합계 | 145.2 | 32 | 261,390 | 0 | 64 | 4,370,281 | 2.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 보드는 뽑은 프레임 중 하나에만 찍혀 스케일 검사에는 부족했습니다.

| 세션 시작 | 매칭 | 중앙값, 전체 화면 (px) | 중앙값, 중앙 시야 (px) | 1px 미만 매칭 |
|---|---|---|---|---|
| 09:48 | 22,184 | 0.91 | 0.60 | 53% |
| 10:20 | 17,177 | 0.79 | 0.54 | 57% |
| 10:42 | 20,991 | 0.81 | 0.55 | 56% |
| 11:11 | 13,707 | 0.82 | 0.50 | 55% |
| 11:28 | 32,617 | 0.83 | 0.51 | 55% |
| 12:05 | 32,264 | 0.86 | 0.53 | 54% |
| 전체 | 138,940 | 0.84 | 0.54 | 55% |
바꾼 것
모든 납품에서 돌리는 검사
검증됨: 이번 실제 작업 오전의 프레임 완전성, 스테레오 동기, 파일 경계 연속성, 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 리그가 장시간 녹화에서 프레임을 빠뜨리나요?
Q02좌우 카메라는 얼마나 잘 동기화되나요?
Q03작업 중에 착용하면 캘리브레이션이 틀어지나요?
Q04IMU 스트림은 끊김이 없나요?
Q05캘리브레이션 타깃 없이 어떻게 확인했나요?
공개 데이터와 코드
근거 자료를 직접 확인하세요
이 노트의 모든 수치는 검증할 수 있습니다. 가공 데이터, 분석 코드, 그림, 실행 가능한 노트북을 공개합니다.
origin-data-lab/real-work-session-recording-integrity-calibration-holdup저장소 보기 origin-data-lab/real-work-session-recording-integrity-calibration-holdup데이터셋 열기 origindatalab/odl-long-session-stereo-integrityKaggle에서 보기 라이선스: 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