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

실제 작업 4일, 8.9시간, 스테레오 957,336프레임: 머리 착용 스테레오+IMU 리그는 매일 똑같이 동작하나?

기술노트 #19 · 실제 작업 4일 동안 머리 착용 스테레오+IMU 리그의 일간 일관성 (ODL-EGO S1)

기술노트 #16은 실제 작업 오전 하나가 온전히 기록됐음을 보였습니다. 수백 시간을 사는 구매자에게는 그 이상이 필요합니다. 충전하고, 들고 다니고, 썼다 벗고, 다시 켠 뒤에도 매일 똑같이 동작해야 합니다. 같은 농산물 소분 작업을 4일 연속(2026-11-01~11-04) 녹화하고 전체에 같은 검사를 돌렸습니다. 작업 세션 17개, 8.9시간, 눈당 957,336프레임입니다. 매일 누락 프레임 0, 좌우 노출 차이 중앙값 15µs(일별 최대 61~70µs), IMU 501.4~501.7Hz에 순서 끊김 없이 최대 공백 2.2ms, 5분 파일 경계 끊김 없음, 노출 중앙값 10.04ms였습니다. IMU로 본 머리 움직임 통계도 날마다 거의 같았습니다. 문제는 운영상의 것뿐이었습니다. 2초 미만의 실수 녹화 3개와, 데이터는 온전하지만 장치 로그에 종료 기록이 없는 세션 1개입니다.

게시 2026년 11월⏱ 9 분 분량상태 예비 결과 · 자동 분석공개 데이터 GitHub · Hugging Face · Kaggle
957,336개 중 0누락 프레임눈당, 4일 세션 17개검증됨 (자동)
매일 중앙값 15µs좌우 노출 차이일별 최대 61~70µs검증됨 (자동)
501.4~501.7Hz · 2.2msIMU 주기와 최대 공백5ms 넘는 공백 없음, 순서 끊김 없음검증됨 (자동)
27.5~29.7°/s머리 회전 일별 중앙값초당 평균 자이로 속도, 95분위 91~95°/s검증됨 (자동)

왜 중요한가

좋은 오전 하나로는 생산 장비라고 할 수 없다

대부분의 촬영 장비 검증은 녹화 한 번에서 끝납니다. 실제 데이터는 매일 수집됩니다. 배터리를 충전하고, 장비를 들고 다니고, 썼다 벗고, 다시 켜고, 저장 카드가 찼다 비워집니다. 이 모든 것이 동작을 바꿀 수 있습니다.

이 노트는 기술노트 #16의 무결성 검사를 같은 실제 작업 4일 연속에 다시 적용하고, 하나를 묻습니다. 4일차는 1일차와 구별할 수 없는가?

측정 조건

같은 작업, 같은 작업자, 오전 4회

식자재 공급업체 작업장에서 학교 급식용 농산물 소분: 채소 계량, 손질, 분류, 포장. 리그는 머리에 착용했고 녹화 시작과 정지는 작업자가 했습니다. 아래 사진의 현장·사람·라벨은 블러 또는 잘라냈습니다.

양배추 계량, 파프리카 분류, 대파 손질, 감자 소분, 당근 포장을 하는 손을 머리 착용 카메라로 찍은 6장
그림 1. 날짜별 왼쪽 눈 프레임(1600×1200, 어안). 상자와 문서의 글자는 블러 처리했습니다.
4일 각각의 녹화 시간, 눈당 프레임, 세션 수 막대그래프 3개
그림 2. 일별 분량: 1.9~2.4시간, 세션 3~6개, 눈당 209,455~261,390프레임.
표 1. 같은 작업, 같은 작업자, 오전 4회
날짜세션시간눈당 프레임누락좌우 중앙값(µs)좌우 최대(µs)자이로(Hz)IMU 최대 공백(ms)노출 중앙값(ms)머리 회전 중앙값(°/s)95분위(°/s)
2026-11-0162.42261,39001570501.571–501.6442.1910.0427.595.1
2026-11-0241.94209,45501564501.582–501.6232.1110.0428.191.4
2026-11-0332.33250,93501565501.357–501.6372.210.0428.592.2
2026-11-0442.18235,51501561501.598–501.6882.1110.0429.794.3

타이밍과 IMU

매일이 첫날과 같았다

프레임: 간격 기반 계산으로 어느 날도 누락이 없었고, 종료 기록이 있는 모든 세션에서 장치 로그의 프레임 수가 파일의 프레임 수와 일치했고(마지막 1프레임 이내), 스트로브 누락은 0이었습니다. 5분 파일 경계는 모두 정확히 한 프레임 주기(33.3ms) 뒤에 이어졌습니다.

스테레오 동기(프레임 순서로 짝짓기, 기술노트 #18 참고): 노출 시작 차이는 매일 중앙값 15µs, 일별 최대 61~70µs였습니다. 노출: 매일 중앙값 10.04ms, 95분위 10.54~10.56ms.

IMU: 모든 세션에서 501.4~501.7Hz(장치 명목값 500Hz), 샘플 간 최대 공백 2.2ms, 순서 끊김 0, 모든 파일에서 자이로와 가속도 샘플 수가 같았습니다.

날짜별 좌우 동기, 노출 시간, 머리 회전 상자그림 3개가 거의 같음
그림 3. 날짜별 분포. 상자는 25~75분위입니다.
세션별 IMU 샘플 주기 산점도, 501.3~501.7Hz
그림 4. 작업 세션별 IMU 샘플 주기.
표 2. 매일이 첫날과 같았다
날짜시작분파일눈당 프레임누락좌우 최대(µs)자이로(Hz)IMU 최대 공백(ms)파일 경계 간격(ms)장치 로그 종료
11-0109:4827.5649,473057501.6442.1133.3-33.3user_stop
11-0110:2017.9432,225052501.5822.1133.3-33.3user_stop
11-0110:4221.7538,998055501.5822.1133.3-33.3user_stop
11-0111:1114.1325,334070501.5792.1933.3-33.3user_stop
11-0111:2832.2758,015067501.5722.1133.3-33.3user_stop
11-0112:0531.9757,345056501.5712.1133.3-33.3missing
11-0209:0627.8650,105064501.6232.1133.3-33.3user_stop
11-0209:3622.2539,957051501.5842.1133.3-33.3user_stop
11-0210:0417.6431,605059501.6092.1133.3-33.3user_stop
11-0210:4248.81087,788057501.5822.1133.3-33.3user_stop
11-0310:3735.8864,380059501.6372.1133.3-33.3user_stop
11-0311:1630.1754,130059501.3572.233.3-33.3user_stop
11-0311:5273.615132,425065501.5722.1133.3-33.3user_stop
11-0409:3840.0972,024057501.6262.1133.3-33.3user_stop
11-0410:2223.0541,431057501.6882.1133.3-33.3user_stop
11-0410:4940.4972,802061501.5982.1133.3-33.3user_stop
11-0411:5527.4649,258056501.6182.1133.3-33.3user_stop

작업 리듬

같은 작업은 같은 움직임 지문을 남긴다

자이로로 녹화 1초마다 평균 머리 회전 속도를 계산했습니다. 일별 중앙값은 27.5~29.7°/s, 95분위는 91~95°/s였고, 5.6~7.4%의 초는 거의 정지(5°/s 미만) 상태였습니다. 집고, 달고, 담는 리듬이 일정한 띠로 보이고, 세션 사이 휴식에서 끊깁니다.

방법 참고: 초 단위 평균이라, 정지 프레임에 더 큰 비중을 두는 기술노트 #15의 프레임 단위 중앙값(1일차 22°/s)보다 높게 나옵니다. 같은 방법을 쓰면 두 노트는 일치합니다.

날짜별 시각에 따른 머리 회전 속도 시계열 4개
그림 5. 시각별 머리 회전 속도(10초 평활), 날짜별 패널.

이상 사항

무엇이 잘못됐고, 왜 데이터 손실이 없었나

  • 0.2~1.2초짜리 실수 녹화 3개(2일차 1개, 4일차 2개). 녹화 버튼을 두 번 누른 것으로 보이며 0~24프레임만 담겨 있고, 60초 최소 길이 규칙으로 자동 제외됩니다.
  • 세션 1개(1일차 12:05)는 장치 로그에 종료 기록이 없습니다. 정지 전에 전원을 끈 경우와 같습니다. 눈당 57,345프레임과 IMU는 온전하고 로그 한 줄만 없습니다.
  • 118개 파일 중 8개는 좌우 프레임 수가 1 차이 납니다. 모두 세션의 마지막 파일입니다(기술노트 #18 참고).

이 노트에서는 캘리브레이션을 다시 확인하지 않았습니다. 녹화 폴더마다 저장되는 캘리브레이션 파일은 다른 해상도용입니다(기술노트 #20). 올바른 모드의 파일로 한 작업 시간 전체를 확인한 결과는 기술노트 #16에 있습니다.

바뀐 점

일회성 검증이 아니라 매일 QA

검증 결과: 실제 작업 4일 동안 리그의 프레임, 동기, IMU, 노출 동작은 측정 가능한 수준으로 변하지 않았습니다.

절차: 이제 녹화는 매일 밤 SHA-256 검증과 함께 자동 업로드되고, 같은 분석이 잠깐 켜지는 클라우드 서버에서 돌아갑니다. 이 숫자들이 한 번이 아니라 촬영일마다 나옵니다.

범위와 한계

연구의 한계

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

  • 리그 1대, 작업자 1명, 작업장 1곳, 오전 4회의 결과이며 전체를 대표하지 않습니다.
  • 머리 회전 통계는 초당 평균 자이로 속도이며 프레임 단위 통계와 직접 비교할 수 없습니다.
  • 이 노트에서는 캘리브레이션과 미터 스케일을 다시 확인하지 않았습니다.
  • 모든 검사는 자동 처리입니다. 알고리즘 기반 예비 분석(AI-only preliminary analysis)이며 사람이 다시 검증하지 않았습니다.

FAQ

데이터 구매자가 묻는 질문

Q01스테레오+IMU 리그가 날마다 똑같이 동작하나요?
실제 작업 4일 연속에서는 그렇습니다. 누락 프레임 0, 매일 좌우 노출 차이 중앙값 15µs, IMU 501.4~501.7Hz에 2.2ms 넘는 공백 없음, 매일 노출 중앙값 10.04ms.
Q02얼마나 녹화했나요?
작업 세션 17개, 8.9시간, 1600×1200 30fps 눈당 957,336프레임과 500Hz IMU입니다.
Q03문제는 없었나요?
2초 미만 실수 녹화 3개와 장치 로그 종료 기록이 없는 세션 1개가 있었지만, 데이터 손실은 없었습니다.
Q04날마다 머리 움직임이 다른가요?
거의 같습니다. 일별 머리 회전 중앙값은 27.5~29.7°/s, 95분위는 91~95°/s였습니다.
Q054일 동안 캘리브레이션도 확인했나요?
이 노트에서는 아닙니다. 올바른 모드의 캘리브레이션은 기술노트 #16에서 한 작업 시간 전체로 확인했고, 녹화 폴더의 파일을 쓰면 안 되는 이유는 기술노트 #20에 있습니다.

공개 데이터와 코드

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

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

Kaggle에서 노트북 실행

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

이 노트 인용하기

Origin Data Lab (2026). 기술노트 #19: 머리 착용 스테레오+IMU 리그로 실제 작업 4일. https://origindatalab.io/ko/technical-field-notes/four-day-real-work-stereo-imu-consistency.html

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

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