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

스테레오 프레임은 카운터로 짝짓지 마라: 세션마다 최대 3,009프레임 어긋나는 카운터, 실제 동기는 15µs

기술노트 #18 · 머리 착용 스테레오+IMU 리그의 프레임 짝짓기와 스트로브 카운터 오프셋 (ODL-EGO S1)

우리 스테레오 리그는 프레임마다 스트로브 카운터를 함께 기록하고, 이 카운터는 좌우 영상을 짝짓는 자연스러운 키처럼 보입니다. 실제 농산물 소분 작업 4일(세션 17개, 눈당 5분 파일 116개, 좌우 프레임 쌍 957,332개)을 분석한 결과, 좌우 카운터는 출발점이 같은 적이 한 번도 없었습니다. 한 세션 안에서는 일정한 상수만큼 차이가 나지만, 그 상수는 세션마다 −1,243에서 +3,009프레임까지 달라졌습니다. 카운터로 짝지었다면 17개 세션 중 16개에서 왼쪽 영상이 0.07~100.3초 뒤에 찍힌 오른쪽 영상과 짝지어졌을 것입니다. 파일 안에서 프레임 순서로 짝지으면(노출 타임스탬프로 검증) 노출 시작 차이는 중앙값 15µs(99분위 29µs, 최대 70µs)입니다. 이제 납품 QA는 순서로 짝짓고, 모든 쌍을 노출 타임스탬프로 확인하며, 짝짓기 표를 함께 제공합니다.

게시 2026년 11월⏱ 8 분 분량상태 예비 결과 · 자동 분석공개 데이터 GitHub · Hugging Face · Kaggle
−1,243 ~ +3,009프레임좌−우 카운터 오프셋17개 세션 각각 안에서는 일정, 세션마다 다름검증됨 (자동)
최대 100.3초카운터로 짝지을 때의 오차중앙값 1.8초, 17개 세션 중 1개만 정확검증됨 (자동)
중앙값 15µs순서로 짝지을 때 노출 시작 차이99분위 29µs, 최대 70µs, 957,332쌍검증됨 (자동)
118개 중 110개좌우 프레임 수가 같은 파일나머지 8개는 세션 끝에서 1프레임 차이검증됨 (자동)

왜 중요한가

가장 그럴듯한 키가 틀린 키다

스테레오 깊이, 스테레오 SLAM, 손 자세 삼각측량은 모두 한 쌍의 좌우 영상이 같은 순간에 노출되었다고 가정합니다. 그래서 어떤 왼쪽 프레임이 어떤 오른쪽 프레임과 짝인지 정하는 확실한 규칙이 필요합니다.

우리 리그는 프레임마다 스트로브 카운터를 영상 스트림(H.264 SEI)에 노출 시작, 노출 시간, 표시 타임스탬프와 함께 기록합니다. 카운터가 각 눈에서 프레임마다 정확히 1씩 늘기 때문에 짝짓기 키로 쓰고 싶어집니다. 이 노트는 실제 녹화에서 그 방법이 왜 실패하는지, 대신 무엇을 써야 하는지 보여 줍니다.

측정 조건

4일, 작업 세션 17개, 프레임 쌍 957,332개

녹화: 2026-11-01~11-04, 식자재 공급업체 작업장에서 학교 급식용 농산물 소분 작업, 같은 작업자가 머리에 착용. 14~74분 작업 세션 17개와 2초 미만의 실수 녹화 3개. 녹화기는 세션을 5분 파일로 나눕니다(눈당 총 118개).

입력(눈·프레임별): 표시 타임스탬프, 노출 시작(µs), 노출 시간(µs), 스트로브 카운터, 플래그. 영상 디코딩 없이 스트림에서 추출했습니다. 좌우 각 957,336프레임, 약 8.9시간입니다.

왼쪽 1048~1053번 프레임과 오른쪽 1000~1005번 프레임이 짝지어진 도식
그림 1. 같은 노출이라도 두 눈의 카운터 값이 다릅니다. 이 세션에서는 왼쪽 카운터가 항상 오른쪽보다 48 큽니다.

발견 1

두 카운터는 세션마다 다른 상수만큼 어긋난다

118개 파일 모두에서 좌우 카운터 차이는 모든 프레임에서 같았고, 두 카운터 모두 프레임마다 정확히 1씩 늘었습니다. 하지만 그 차이는 세션마다 달랐습니다. 1일차 48, 53, 61, 68, 32, 35프레임, 2일차 2,998~3,009, 3일차 0, 2, 4, 4일차 −1,243~−1,209입니다.

같은 날 세션 사이에는 조금씩 늘고(48 → 53 → 61 → 68) 날이 바뀌면 크게 뛰는 모습은, 각 센서의 카운터가 녹화 시작 때 초기화되지 않고 계속 돌아간다는 것을 시사합니다. 제조사 확인은 받지 않았으며 작업 가설입니다.

세션별 좌−우 스트로브 카운터 막대그래프, −1243에서 +3009프레임
그림 2. 작업 세션별 좌−우 스트로브 카운터 차이(날짜별 색).
표 1. 두 카운터는 세션마다 다른 상수만큼 어긋난다
날짜시작분눈당 프레임좌−우 카운터카운터 짝짓기 오차(초, 중앙값)노출 시작 차이 중앙값(µs)최대(µs)
11-0109:4827.549,473481.61557
11-0110:2017.932,225531.771552
11-0110:4221.738,998612.031555
11-0111:1114.125,334682.271570
11-0111:2832.258,015321.071567
11-0112:0531.957,345351.171556
11-0209:0627.850,105299899.931564
11-0209:3622.239,9573000100.01551
11-0210:0417.631,6053007100.231559
11-0210:4248.887,7883009100.31557
11-0310:3735.864,38000.01559
11-0311:1630.154,13020.071559
11-0311:5273.6132,42540.131565
11-0409:3840.072,024-124341.431557
11-0410:2223.041,431-124141.371557
11-0410:4940.472,802-123841.271561
11-0411:5527.449,258-120940.31556

발견 2

순서로 짝지으면 정확하고, 카운터로 짝지으면 수 초가 틀린다

같은 프레임에 두 규칙을 적용해 비교했습니다. 카운터로 짝지으면 좌우 노출이 중앙값 1.8초, 최대 100.3초 떨어졌습니다. 오프셋이 우연히 0이었던 세션 하나만 맞았고, 오프셋 2와 4프레임도 이미 67ms, 133ms 오차로 움직이는 머리에서는 스테레오 매칭을 망가뜨리기에 충분합니다.

파일 안에서 순서로 짝지으면 노출 시작 차이는 중앙값 15µs(99분위 29µs, 최대 70µs, 33.3ms 프레임 주기의 0.25% 미만)였습니다. 118개 중 110개 파일은 두 눈의 프레임 수가 같았고, 나머지 8개는 모두 세션 끝에서 한쪽 눈이 마지막 프레임 1개를 더 기록했으며, 그 프레임은 짝 없이 남겨 두면 됩니다.

두 히스토그램: 카운터 짝짓기는 수 초 차이, 순서 짝짓기는 약 15마이크로초 차이
그림 3. 같은 957,332프레임에 두 규칙을 적용한 결과. 카운터 규칙이 맞힌 쌍(오프셋 0)은 왼쪽 그래프 범위 아래에 있습니다.
좌우 노출 시작 차이가 12~18마이크로초에 몰린 히스토그램
그림 4. 순서로 짝지은 모든 쌍의 노출 시작 차이: 리그의 실제 스테레오 동기 성능입니다.

내 데이터 점검법

파일당 몇 초면 끝나는 세 가지 검사

이 검사는 영상이 아니라 프레임별 메타데이터만 쓰므로 하루치 녹화도 몇 초 만에 끝납니다.

  • 파일마다 좌−우 카운터가 일정한지 확인하고, 0이라고 가정하지 말고 세션별 상수를 기록한다.
  • 순서(또는 가장 가까운 노출 시작)로 짝짓고, 모든 쌍의 노출 시작 차이가 1ms 이내인지 확인한다. 실패한 파일은 표시한다.
  • 세션 끝의 1프레임 차이는 허용하고, 그 외의 불일치는 프레임 누락으로 보고 조사한다.

바뀐 점

이제 짝짓기는 가정이 아니라 검증한다

검증 결과: 실제 작업 4일 동안 순서 기반 짝짓기는 모든 프레임 쌍에서 정확했고, 실제 좌우 동기는 중앙값 15µs, 최악 70µs였습니다.

절차: 납품 QA(이 노트와 함께 공개)는 프레임을 순서로 짝짓고, 각 쌍을 노출 타임스탬프로 확인하며, 세션별 카운터 오프셋을 보고하고, 모든 납품에 짝짓기 표를 포함합니다. 고객이 카운터로 짝을 추측할 필요가 없습니다.

범위와 한계

연구의 한계

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

  • 리그 1대, 작업자 1명, 작업장 1곳, 오전 4회(2026-11-01~04)의 결과이며 전체를 대표하지 않습니다.
  • 동기는 리그 자체의 노출 시작 타임스탬프로 측정했으며 외부 광학·전기 기준은 쓰지 않았습니다.
  • 카운터 오프셋의 원인은 가설이며 펌웨어 동작은 제조사에 확인하지 않았습니다.
  • 모든 검사는 자동 처리입니다. 알고리즘 기반 예비 분석(AI-only preliminary analysis)이며 사람이 다시 검증하지 않았습니다.

FAQ

데이터 구매자가 묻는 질문

Q01좌우 프레임을 스트로브 카운터로 짝지어도 되나요?
이 리그에서는 안 됩니다. 두 카운터는 세션마다 다른 상수(우리 데이터에서 −1,243~+3,009프레임)만큼 어긋나서, 카운터로 짝지은 쌍은 최대 100초까지 떨어져 있었습니다.
Q02두 카메라의 실제 동기는 어느 정도인가요?
프레임 순서로 짝지으면 957,332쌍에서 좌우 노출 시작 차이가 중앙값 15µs, 99분위 29µs, 최대 70µs였습니다.
Q03두 눈이 항상 같은 수의 프레임을 기록하나요?
118개 파일 중 110개는 그렇습니다. 나머지 8개는 모두 세션 끝에서 한쪽 눈이 마지막 프레임 1개를 더 기록했습니다.
Q04카운터가 왜 어긋나나요?
각 센서의 카운터가 녹화 시작 때 초기화되지 않고 계속 돌아가기 때문으로 보입니다. 데이터에서 나온 가설이며 제조사 확인은 받지 않았습니다.
Q05구매자는 무엇을 받나요?
프레임별 짝짓기 표, 노출 타임스탬프, 세션별 카운터 오프셋과 최대 좌우 노출 차이가 담긴 QA 보고서를 받습니다.

공개 데이터와 코드

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

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

Kaggle에서 노트북 실행

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

이 노트 인용하기

Origin Data Lab (2026). 기술노트 #18: 스테레오 프레임은 카운터로 짝짓지 마라. https://origindatalab.io/ko/technical-field-notes/stereo-frame-pairing-strobe-counter-offset.html

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

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