카메라캘리브레이션 (Camera Calibration)
쉽게 풀면
카메라가 실제로 어떻게 세상을 찍는지 그 특성(렌즈 왜곡, 화각 등)을 정확한 숫자로 알아내는 사전 작업입니다. 예를 들어 렌즈 때문에 직선이 살짝 휘어 보이는 것을 미리 계산해 두면, 나중에 사진 속 휜 직선을 다시 곧게 펴서 실제 모습에 가깝게 되돌릴 수 있습니다.
왜 중요한가
카메라 초점거리와 왜곡 계수를 정확히 알아야 영상 좌표를 3D 방향으로 바꿀 수 있으므로, 스테레오비전, 비주얼서보잉, 핸드아이캘리브레이션 모두 이 단계가 선행됩니다. 캘리브레이션 오차는 이후 모든 측정에 체계적 편향으로 남습니다. 카메라 캘리브레이션 없이 얻은 영상 좌표는 실제 세계의 각도나 거리와 비선형적으로 어긋나 있어, 이 보정 단계를 거치지 않으면 이후의 모든 3차원 계산이 체계적으로 왜곡됩니다.
어떤 절차인가
- 모형 선택: 보통 핀홀 카메라 모형 x ~ K[R | t]X를 쓰며, K는 초점거리(fx, fy), 주점(cx, cy), 비틀림을 담는 내부 파라미터 행렬입니다. 렌즈 왜곡은 방사 왜곡(k₁, k₂ 등)과 접선 왜곡(p₁, p₂)으로 모형화합니다(Brown, 1971).
- 기준 물체 촬영: 크기를 아는 체커보드 같은 평면 패턴을 여러 자세에서 촬영합니다(Zhang, 2000).
- 대응점 검출: 영상에서 패턴의 모서리 점을 검출해 3차원 좌표와 짝짓습니다.
- 추정: 내부·외부 파라미터를 초기 추정한 뒤 재투영 오차를 최소화하는 비선형 최적화로 정밀화합니다.
가상의 예: fx = fy = 800 픽셀, 주점 (320, 240)인 카메라 앞 점 (0.1, 0.05, 2.0) m은 u = 800×0.1/2.0 + 320 = 360, v = 800×0.05/2.0 + 240 = 260 픽셀에 찍힙니다(왜곡 없음 가정).
언제 쓰고 무엇을 얻나
- 얻는 것: 영상 좌표를 3차원 방향·거리와 연결하는 파라미터이며, 스테레오 비전, 로봇 시각 서보, 3차원 복원, 측정 등의 선행 단계입니다(Hartley & Zisserman, 2004). 왜곡 계수로 영상을 보정할 수도 있습니다.
- 평가 지표는 재투영 오차(추정한 파라미터로 점을 다시 투영했을 때 검출점과의 거리, 픽셀 단위)입니다. 허용 수준은 응용마다 다르며, 값이 작아도 사용한 자세가 다양하지 않으면 파라미터가 과적합될 수 있습니다.
- 패턴이 영상 가장자리와 다양한 기울기를 충분히 덮지 않으면 왜곡 계수 추정이 불안정해집니다.
- 초점, 줌, 온도가 바뀌면 파라미터도 바뀌므로 설정이 바뀔 때마다 다시 수행해야 합니다.
논문에는 이렇게 적는다
- 사용한 모형(핀홀+방사/접선 왜곡 차수), 패턴의 종류와 크기, 사용한 영상 수와 자세 분포를 적습니다.
- 추정 결과(f, 주점, 왜곡 계수)와 불확실성(표준편차), 재투영 오차의 평균과 분포를 보고합니다.
- 해상도, 렌즈 설정(초점·줌 고정 여부)을 밝힙니다.
- 사용한 소프트웨어와 알고리즘(예: Zhang 방식, Tsai 방식)을 적습니다(Tsai, 1987).
논문에서는 이렇게 쓰입니다
실제 논문에서
이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
정확한 크기를 아는 체스판 패턴을 여러 각도에서 찍어, 그 사진들이 실제 좌표와 어떻게 어긋나는지를 분석해 카메라의 특성값을 역산한다는 뜻입니다.
내부·외부 파라미터를 추정하는 절차의 전형적인 실행 방식을 보여 줍니다.
조금 더 깊게 보면
체커보드 몇 장으로 쉽게 되는 것처럼 보이지만, 보드가 영상 가장자리와 다양한 기울기를 충분히 덮지 않으면 왜곡 계수가 과적합되어 중심부만 정확하고 가장자리는 틀어집니다. 온도 변화와 렌즈 진동으로 파라미터가 서서히 변하므로 장기간 운용하는 로봇에는 주기적 재캘리브레이션이 필요합니다.
내부 파라미터는 초점거리와 주점 좌표를 담은 3x3 행렬 K로 표현되고, 방사 왜곡과 접선 왜곡은 별도의 다항식 계수로 모델링되어 두 종류의 오차가 서로 다른 방식으로 보정됩니다.
스테레오 카메라의 경우 두 카메라 각각의 내부 파라미터에 더해 두 카메라 사이의 상대적 회전과 이동(외부 파라미터)까지 함께 추정해야 삼각측량이 정확해집니다.
주의할 점
캘리브레이션이 부정확하면 이후의 깊이 추정, SLAM, 3차원 재구성 등 모든 후속 단계에 오차가 그대로 전파됩니다. 재투영 오차가 낮게 나왔다고 해서 왜곡 계수가 실제로 정확하다고 단정할 수 없으며, 특히 초점거리와 카메라-보드 거리가 서로 보상되어 오차가 낮아 보이는 경우가 흔합니다.
헷갈리기 쉬운 용어
정렬·보정 관련 용어입니다.
| 용어 | 무엇을 구하나 | 대상 |
|---|---|---|
| 카메라 캘리브레이션 | 카메라 내부·외부 파라미터와 렌즈 왜곡 | 카메라 하나(또는 각각) |
| 핸드아이 캘리브레이션 | 로봇 손과 카메라 사이의 상대 위치·자세 | 로봇–카메라 관계 |
| 스테레오 비전 | 두 카메라로 깊이(3차원 정보)를 구하는 방법 | 캘리브레이션을 전제로 함 |
참고 문헌
- Zhang, Z. (2000). A flexible new technique for camera calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11), 1330–1334.
- Tsai, R. Y. (1987). A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses. IEEE Journal of Robotics and Automation, 3(4), 323–344.
- Brown, D. C. (1971). Close-range camera calibration. Photogrammetric Engineering, 37(8), 855–866.
- Hartley, R., & Zisserman, A. (2004). Multiple View Geometry in Computer Vision (2nd ed.). Cambridge University Press.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.