본문 바로가기
Vision ( 더 나은 삶을 위한 공부 )

카메라 캘리브레이션 ( Camera Calibration ) - 2

by Real_Mountain 2025. 11. 13.

2. 주점 (principal point)

  주점 cx, cy는 카메라 렌즈의 중심 즉, 핀홀에서 이미지 센서에 내린 수선의 발의 영상 좌표(단위는 px)로서 일반적으로 ㅁ라하는 영상 중심점(image center)과는 다른 의미입니다.

예를 들어, 카메라 조립 과정에서 오차로 인해 렌즈와 이미지 센서가 수평이 어긋나면 주점과 영상중심은 다른 값을 가질 것입니다.

 

영상기하학에서는 단순한 영상 중심점 보다는 principal point가 훨씬 중요하며 영상의 모든 기하학적 해석은 이 주점을 이용하여 이루어집니다.

 

3. 비대칭 계수(skew coefficient)

비대칭 계수 skew_c (Intrinsic properties 행렬의 [0.1] 부분)는 이미지 센서의 cell array의 y축이 기울어진 정도를 나타냅니다.

(skew_c = tan α)

카메라들은 이러한 skew 에러가 거의 없기 때문에 카메라 모델에서 보통 비태칭 계수까지는 고려하지 않는다고 합니다.

(즉, skew_c = 0)

 

이러한 카메라 내부 파라미터들은 공개된 캘리브레이션 툴 등을 이용하면 비교적 쉽게 계산할 수 있습니다.

 

카메라 외부 파라미터 (extrinsic parameter)

카메라 외부 파라미터는 카메라 좌표계와 월드 좌표계 사이의 변환 관계를 설명하는 파라미터로서, 두 좌표계 사이의 회전(rotation) 및 평행이동(translation) 변환으로 표현됩니다.

 

카메라 외부 파라미터는 카메라 고유의 파라미터가 아니기 때문에 카메라를 어떤 위치에 어떤 방향으로 설치했는지에 따라 달라지고 또한 월드 좌표계를 어떻게 정의했느냐에 따라서 달라집니다.

 

카메라 외부 파라미터를 구하기 위해서는 먼저 캘리브레이션 툴 등을 이용하여 카메라 고유의 내부 파라미터들을 구합니다. 다음으로는 미리 알고 있는 또는 샘플로 뽑은 3D월드좌표–2D영상좌표 매칭 쌍들을 이용하여 식(1)에서 변환행렬을 구하면 됩니다. OpenCV에 있는 solvePnP함수를 이용하면 이러한 계산을 손쉽게 할 수 있습니다.

 

4. 핀홀(pinhole) 카메라 모델

핀홀 카메라 모델은 아래 그림과 같이 하나의 바늘구멍(pinhole)을 통해 외부의 상이 이미지로 투영된다는 모델입니다. 이 때, 이 바늘구멍(pinhole)이 렌즈 중심에 해당되며 이곳에서 뒷면의 상이 맺히는 곳까지의 거리가 카메라 초점거리입니다 (광학적으로 렌즈의 중심을 투과하는 빛은 굴절되지 않고 그대로 직선으로 투과한다고 합니다).

 

그림 6. 핀홀 카메라 모델

 

영상처리 분야에서 영상에 대한 모든 기하학적 해석은 이 핀홀 카메라 모델을 바탕으로 이루어집니다. 하지만, 사실 핀홀 카메라 모델은 매우 이상적인 카메라 모델이며 실제로는 렌즈계의 특성에 따른 영상 왜곡 등도 같이 고려되어야 합니다.

 

5. 캘리브레이션과 영상 해상도 그리고 자동초점조절(auto focusing)

카메라에 있는 오토 포커싱(Auto Focusing) 기능을 동작시키면 초점거리가 바뀔 수 있기 때문에 캘리브레이션 목적에는 적합하지 않습니다. (초점거리가 바뀌면 설정을 다시 해야하기 때문에) 카메라에 대해 캘리브레이션을 수행하고 캘리브레이션 결과를 다른 계산 목적에 사용하고자 한다면 오토 포커싱 기능은 꺼놓고 사용하는게 맞습니다.

 

카메라에는 보통 영상 해상도를 QVGA(320 x 240), VGA(640x480),..... 등 다양하게 설정할 수 있습니다. 그런데, 영상 해상도를 바꾸면 카메라 캘리브레이션 결과도 바뀌는 것을 확인 할 수 있을 것입니다. 카메라 내부 파라미터 중 초점거리 fx, fy 주점 cx, cy는 픽셀 단위를 사용하는데, 카메라의 물리적인 초점거리나 이미지 센서의 크기는 변하지 않지만 한 px이 나타내는 물리적 크기가 변하기 때문입니다. 그래서 만일 영상해상도를 VGA로 놓고 캘리브레이션 한 결과과 QVGA로 놓고 캘리브레이션 한 결과를 비교해 보면 QVGA의 경우가 fx, fy, cx, cy의 값이 1/2씩 줄어들게 됩니다. 반면에 렌즈왜곡계수(k1, k2, p1, p2)는 normalized 좌표계에서 수행되기 때문에 영상 해상도와 관계없이 항상 동일합니다.

 

따라서, 한 해상도에서만 캘리브레이션을 수행해도 다른 모든 해상도에 대한 파라미터 값을 구할 수 있게 됩니다. 렌즈 왜곡 계수는 동일하며, fx, fy, cx, cy만 영상 해상도에 비례해서 조정해주면 됩니다.

 

 

 

반응형