기술 필드 노트 #12 · 2026년 10월
캘리브레이션 판이 60cm에서 사라지는 이유: 광각 에고센트릭 카메라의 ChArUco 인식 한계 실측
기술노트 #12 · 광각 에고센트릭 카메라용 ChArUco 타깃 설계와 실측 인식 한계 (ODL-EGO S1)
광각 에고센트릭 카메라에서는 캘리브레이션 타깃이 작게 찍힙니다. 캘리브레이션 촬영일에 판을 1–1.5m 떨어뜨려 들고 찍은 녹화 두 개는 프레임 하나도 인식되지 않아 통째로 버렸습니다. 판 검출 14,925건에서 화면 속 마커 픽셀 크기에 따라 코너가 몇 개 잡히는지 쟀습니다. 9×6 A4 판은 마커가 30–40px일 때 검출의 90%에서 40개 코너가 모두 잡혔고, 24–30px에서는 45%, 16px 미만에서는 거의 잡히지 않았습니다. 이 렌즈(초점거리 약 482px)에서는 A4 판의 전체 인식 한계가 약 40cm, 완전한 한계가 약 60cm입니다. 칸 53mm에 더 굵은 4×4 마커를 쓴 5×3 판은 약 66cm까지 코너 8개가 모두 잡혔고 약 90cm까지 일부 인식됐습니다. 두 판 모두 "100%"로 인쇄했는데도 요청 크기보다 약 2.8% 작게 나왔습니다. 이 결과를 앞으로 쓸 타깃 크기를 정하는 규칙으로 정리했습니다.
왜 중요한가
캘리브레이션 품질은 첫 프레임을 찍기 전에 정해진다
기술노트 #09–#11은 모두 필요한 거리와 화면 위치에서 타깃이 안정적으로 인식된다는 전제 위에 있습니다. 광각 에고센트릭 카메라에서는 이게 생각보다 어렵습니다. 렌즈가 넓은 시야를 1600픽셀에 눌러 담기 때문에, 들고 있는 사람에게는 커 보이는 판도 화면에서는 작습니다.
이 노트는 실패한 녹화와 성공한 녹화에서 얻은 현장 교훈을, 설계 규칙으로 바꿀 수 있는 숫자와 함께 정리한 것입니다.
구성
판 두 장, 카메라 하나, 하루
카메라: R8 스테레오+IMU, 한쪽 1600×1200, 어안, 초점거리 약 482px(공장 캘리브레이션). 판: (1) 9×6 ChArUco, OpenCV DICT_5X5_100, A4에 칸 30mm·마커 22mm 요청. (2) 5×3 ChArUco, DICT_4X4_50, A4에 칸 55mm·마커 42mm 요청, 첫 실패 뒤에 설계. 둘 다 벽에 붙이거나 손에 들었습니다. 검출: OpenCV 4.10 ArucoDetector + CharucoDetector 기본 설정.

결과 1
모든 것은 마커의 픽셀 크기가 정한다
검출 14,925건을 모으면, 9×6 판은 마커가 30px 이상일 때 코너 중앙값 40/40, 24–30px에서 38/40, 20–24px에서 27/40, 16px 미만에서는 거의 0이었습니다. 더 굵은 4×4 마커를 쓴 5×3 판은 16–24px에서도 코너 중앙값 6/8을 유지했습니다.
인식은 거리에 따라 서서히 떨어지지 않고, 좁은 마커 크기 구간에서 한꺼번에 무너집니다. 마커가 20px이면 마커 안 칸 하나가 약 3px밖에 안 되고, 영상 압축과 약간의 흔들림이 이를 지워 버립니다.

| 타깃 | 화면 속 마커 한 변(px) | 검출 수 | 코너 수 중앙값 | 전체 코너 검출 비율 |
|---|---|---|---|---|
| A4 | (8, 12] | 57 | 1 / 40 | 0% |
| A4 | (12, 16] | 1,294 | 3 / 40 | 0% |
| A4 | (16, 20] | 2,642 | 12 / 40 | 0% |
| A4 | (20, 24] | 2,018 | 27 / 40 | 8% |
| A4 | (24, 30] | 1,703 | 38 / 40 | 45% |
| A4 | (30, 40] | 1,545 | 40 / 40 | 90% |
| A4 | (40, 60] | 540 | 40 / 40 | 100% |
| A4 | (60, 120] | 55 | 40 / 40 | 100% |
| FAR | (16, 20] | 123 | 6 / 8 | 6% |
| FAR | (20, 24] | 273 | 6 / 8 | 46% |
| FAR | (24, 30] | 566 | 8 / 8 | 88% |
| FAR | (30, 40] | 1,271 | 8 / 8 | 70% |
| FAR | (40, 60] | 2,430 | 8 / 8 | 76% |
| FAR | (60, 120] | 408 | 8 / 8 | 88% |
결과 2
센티미터로 바꾸면
줄자로 거리를 맞춘 세션에서 A4 판은 약 27cm에서 40/40, 약 38cm에서 39, 약 48cm에서 약 23, 약 58cm에서 약 5개였고, 70–90cm 위치에서는 0개였습니다. 원거리 판은 약 66cm까지 8/8, 약 76cm에서 7.9, 약 85cm에서 약 6.6개였습니다.
마커_px ≈ f × 마커_mm ÷ 거리(f ≈ 482px) 관계로 이 한계가 그대로 설명됩니다. A4 판의 인쇄된 마커 21.4mm는 0.5m에서 21px, 0.6m에서 17px이 됩니다.

| 타깃 | 줄자(cm) | 스테레오 거리(cm) | 마커 px(중앙값) | 평균 코너 수 | 전체 코너 검출 프레임 |
|---|---|---|---|---|---|
| A4 (9×6, 29.17 mm) | 30 | 27 | 34 | 40.0 / 40 | 100% |
| A4 (9×6, 29.17 mm) | 40 | 38 | 25 | 39.0 / 40 | 70% |
| A4 (9×6, 29.17 mm) | 50 | 48 | 20 | 22.2 / 40 | 0% |
| A4 (9×6, 29.17 mm) | 60 | 58 | 17 | 5.1 / 40 | 0% |
| A4 (9×6, 29.17 mm) | 70–90 | — | 14 | 0.1 / 40 | 0% |
| 원거리 (5×3, 53.4 mm) | 30 | 27 | 68 | 8.0 / 8 | 99% |
| 원거리 (5×3, 53.4 mm) | 40 | 35 | 53 | 8.0 / 8 | 100% |
| 원거리 (5×3, 53.4 mm) | 50 | 46 | 41 | 8.0 / 8 | 100% |
| 원거리 (5×3, 53.4 mm) | 60 | 57 | 33 | 8.0 / 8 | 100% |
| 원거리 (5×3, 53.4 mm) | 70 | 66 | 28 | 8.0 / 8 | 100% |
| 원거리 (5×3, 53.4 mm) | 80 | 76 | 25 | 7.9 / 8 | 93% |
| 원거리 (5×3, 53.4 mm) | 90 | 85 | 22 | 6.6 / 8 | 44% |
| 거리(m) | A4 마커 px (인쇄 21.4mm) | 원거리 마커 px (인쇄 40.8mm) |
|---|---|---|
| 0.3 | 34 | 66 |
| 0.5 | 21 | 39 |
| 0.6 | 17 | 33 |
| 0.8 | 13 | 25 |
| 0.9 | 11 | 22 |
| 1.0 | 10 | 20 |
| 1.5 | 7 | 13 |
결과 3
기록할 가치가 있는 실패 두 가지
너무 멀리 든 타깃: 주 캘리브레이션 세션을 다시 찍을 때 화면 끝까지 판을 보내려고 약 1–1.5m 떨어져서 판을 들었습니다. 녹화 두 개(224초, 65초)는 사용 가능한 프레임이 0이었고, 나머지는 약 20%였습니다. 판을 0.25–0.5m에 둔 앞 세션은 79%였습니다.
"100%"는 100%가 아니다: 쇠자로 잰 두 판은 요청 크기의 97.2%, 97.1%였습니다. 명목 크기를 그대로 쓰면 깊이 스케일이 2.8% 틀어질 수 있는 차이입니다. 인쇄한 판은 반드시 재야 합니다.
| 녹화 | 타깃 위치 | 길이(초) | 코너 12개 이상 프레임 |
|---|---|---|---|
| 124235_00000 | 손에 들고 0.25–0.5 m, 리그 고정 | 300 | 79% |
| 142800_00000 | 손에 들고, 대부분 1–1.5 m | 237 | 20% |
| 143229_00000 | 손에 들고, 대부분 1–1.5 m | 300 | 20% |
| 143229_00001 | 손에 들고, 1–1.5 m, 화면 끝 | 224 | 0% |
| 150150_00000 | 손에 들고, ~1 m (드리프트 시도) | 65 | 0% |
설계 규칙
광각 에고센트릭 카메라용 타깃 크기 정하기
규칙(이번 데이터, 5×5 사전 기준): 필요한 가장 먼 거리에서 마커가 약 30px 이상이어야 코너가 모두 잡히고, 약 20px 이상이어야 뭐라도 잡힙니다. 필요한 인쇄 마커 크기 ≈ 30px × 거리 ÷ 초점거리. f ≈ 482px이면 0.3m에서 약 19mm, 0.5m에서 약 31mm, 0.8m에서 약 50mm, 1.0m에서 약 62mm입니다.
해석: 이 카메라에서는 A4 한 장으로 손 작업 범위 0.3–1m 전체를 다룰 수 없습니다. 25–45cm에는 코너가 많은 촘촘한 A4 판(내부 파라미터용)을, 60–100cm에는 마커 50mm 이상인 굵은 판(A3 또는 여러 장 이어 붙인 판)을 씁니다. 화면 끝을 훑을 때는 타깃을 0.5m 이내에 두고, 거리를 늘리지 말고 판을 옮깁니다.
- 인쇄한 타깃은 모두 쇠자로 잽니다. 명목 크기를 믿지 않습니다.
- 본 촬영 전에 10초 시험 영상으로 마커 픽셀 크기를 확인합니다.
- 먼 거리 인식이 중요하면 더 굵은 마커 사전(4×4)을 씁니다. 사전과 크기를 따로 분리해 시험하지 않았으므로 참고 수준입니다.
연구의 한계
- R8 스테레오+IMU 장비 1대, 실내 사무실 1곳, 하루(2026-10-26) 측정 결과이며 다른 장비 전체를 대표하지 않습니다.
- 모든 측정은 자동 처리(OpenCV 검출·삼각측량·피팅)입니다. 사람이 독립적으로 다시 측정하지 않았으므로 알고리즘 기반 예비 분석(AI-only preliminary analysis)입니다.
- 공장 캘리브레이션 파일은 제3자 자료이므로 평가에만 사용하고 재배포하지 않습니다. 원본 영상은 사람과 사무실 내부가 찍혀 있어 공개하지 않습니다.
- 픽셀 기준값은 1600×1200 H.264 영상, 약 10ms 노출, 사무실 조명에서 얻은 값이며, 다른 코덱·비트레이트·조명에서는 달라집니다.
- 두 판 사이에 판 크기와 마커 사전이 함께 바뀌어, 각각의 효과를 분리하지 않았습니다.
- 검출 설정은 OpenCV 기본값입니다. 설정을 조정하거나 확대하면 범위가 다소 늘 수 있습니다(2배 확대로 1–1.5m 프레임을 시험했지만 복구되지 않았습니다).
- 인식되지 않은 위치의 거리는 스테레오 측정이 아니라 줄자 계획 값입니다.
자주 묻는 질문
광각 카메라에서 A4 ChArUco 판은 얼마나 멀리서 인식되나요?
우리 1600×1200 어안 카메라(f ≈ 482px)에서 칸 29mm A4 9×6 판은 약 40cm까지 모든 코너, 약 58cm까지 일부가 잡혔고, 약 60cm 넘어서는 인식되지 않았습니다.
마커가 몇 픽셀이어야 하나요?
우리 영상에서 5×5 사전 판이 완전히 인식되려면 마커 한 변이 약 30px, 쓸 만한 인식에는 약 20px 이상이 필요했습니다.
1m용 판은 어떻게 정하나요?
인쇄 마커 크기 ≈ 30px × 거리 ÷ 초점거리입니다. f ≈ 482px이면 1m에서 약 62mm 마커가 필요하고, A3 이상이 필요합니다.
100%로 인쇄하면 정확한 크기가 나오나요?
우리 경우는 아니었습니다. 두 판이 요청 크기의 97.2%, 97.1%로 인쇄됐습니다. 인쇄한 판은 항상 재야 합니다.
캘리브레이션 녹화가 통째로 실패한 이유는?
화면 끝까지 판을 보내려고 카메라에서 1–1.5m 떨어져 들었기 때문입니다. 마커가 약 15px 아래로 작아져 프레임 하나도 해독되지 않았습니다. 판은 약 0.5m 이내에 두고 화면 위에서 옮겨야 합니다.
RESEARCH RESOURCES
기술자료 살펴보기
분석 코드, 데이터셋 및 평가 자료를 확인하세요.