컴퓨터 비전, 로봇공학, 증강현실 등 다양한 분야에서 3D 세계를 2D 이미지로 변환하는 과정은 필수적입니다. 이 변환 과정에서 핵심적인 역할을 하는 것이 바로 카메라 내부 파라미터(Intrinsic Parameters)입니다. 이 글에서는 카메라 내부 파라미터의 개념, 구성 요소, 수학적 표현, 그리고 응용 분야에 대해 자세히 알아보겠습니다.
1. 카메라 내부 파라미터란?
카메라 내부 파라미터는 카메라의 광학적 특성과 이미지 센서의 특성을 설명하는 요소들로, 카메라 자체의 고유한 특성을 나타냅니다. 이 파라미터들은 카메라의 제조 과정에서 결정되며, 카메라가 3D 세계를 2D 이미지로 투영하는 방식을 수학적으로 표현합니다.

카메라 내부 파라미터는 일반적으로 핀홀 카메라 모델(Pinhole Camera Model)을 기반으로 합니다. 이 모델은 카메라가 하나의 점(핀홀)을 통해 외부의 상이 이미지로 투영된다는 개념에 기초합니다. 실제 카메라는 렌즈를 사용하지만, 수학적 모델링을 위해 핀홀 모델을 사용하는 것이 일반적입니다.
2. 내부 파라미터의 구성 요소
카메라 내부 파라미터는 다음과 같은 주요 요소로 구성됩니다:
2.1 초점 거리(Focal Length)

초점 거리는 렌즈 중심에서 이미지 센서까지의 거리를 의미합니다. 위 그림에서 볼 수 있듯이, 렌즈를 통과한 빛이 이미지 센서에 초점을 맺는 지점까지의 거리가 바로 초점 거리입니다. 카메라 모델에서 초점 거리는 픽셀 단위로 표현되며, 일반적으로 가로(fx)와 세로(fy) 방향으로 구분됩니다.
왜 fx와 fy 두 개의 값이 있을까?
일반적인 카메라 모델에서는 초점 거리를 두 개의 값으로 표현합니다:
- fx: x축(가로) 방향의 초점 거리
- fy: y축(세로) 방향의 초점 거리
이것은 이미지 센서의 픽셀이 가로와 세로 방향으로 다른 크기를 가질 수 있기 때문입니다. 현대 카메라에서는 대부분 픽셀이 정사각형이므로 fx와 fy의 값이 거의 같지만, 컴퓨터 비전 알고리즘에서는 이 두 값을 별도로 처리합니다.
현대 카메라에서는 일반적으로 fx와 fy의 값이 같거나 매우 유사합니다. 초점 거리가 길수록(값이 클수록) 시야가 좁아지고 확대 효과가 커지며, 초점 거리가 짧을수록 넓은 시야를 얻을 수 있습니다.
2.2 주점(Principal Point)

주점은 카메라 렌즈의 광학 축이 이미지 센서와 만나는 지점을 의미합니다. 이상적인 카메라에서는 이미지의 중심과 일치하지만, 실제로는 제조 오차 등으로 인해 약간의 차이가 있을 수 있습니다.
- cx: 주점의 x좌표
- cy: 주점의 y좌표
주점은 이미지 좌표계에서 표현되며, 픽셀 단위로 나타냅니다.
2.3 비대칭 계수(Skew Coefficient)

비대칭 계수는 이미지 센서의 픽셀이 완벽한 직사각형이 아닐 때 발생하는 왜곡을 나타냅니다. 이는 이미지 센서의 x축과 y축이 완벽하게 직교하지 않을 때 생기는 왜곡을 보정하기 위한 파라미터입니다.
- s: 비대칭 계수(skew coefficient)
현대의 대부분 카메라에서는 제조 기술의 발전으로 비대칭 계수가 매우 작거나 무시할 수 있는 수준이므로, 일반적으로 s=0으로 간주합니다.

일반적인 픽셀과 비대칭 픽셀의 차이를 비교하면:
- 일반 픽셀: 직사각형 구조, x축과 y축이 직교(90°)
- 비대칭 픽셀: 평행사변형 구조, x축과 y축이 θ 각도로 만남
3. 카메라 내부 파라미터 행렬(Camera Intrinsic Matrix)
카메라 내부 파라미터는 일반적으로 3×3 행렬 형태로 표현됩니다. 이 행렬을 카메라 내부 행렬(Camera Intrinsic Matrix) 또는 카메라 캘리브레이션 행렬(Camera Calibration Matrix)이라고 합니다.

내부 파라미터 행렬 K는 다음과 같이 표현됩니다:
K = [fx s cx]
[0 fy cy]
[0 0 1]
여기서:
- fx, fy: x축과 y축 방향의 초점 거리(픽셀 단위)
- cx, cy: 주점의 좌표(픽셀 단위)
- s: 비대칭 계수(일반적으로 0)
이 행렬은 3D 카메라 좌표계의 점을 2D 이미지 좌표계로 투영하는 데 사용됩니다.
4. 내부 파라미터와 핀홀 카메라 모델
핀홀 카메라 모델에서 3D 공간상의 점 P = (X, Y, Z)가 2D 이미지 상의 점 p = (u, v)로 투영되는 과정은 다음과 같이 표현할 수 있습니다:
[u] [fx s cx][X/Z]
[v] = [0 fy cy][Y/Z]
[1] [0 0 1][1 ]
여기서 (X, Y, Z)는 카메라 좌표계에서의 3D 점 좌표이고, (u, v)는 이미지 좌표계에서의 2D 점 좌표입니다.
이 과정에서 눈여겨볼 점은 3D 점의 Z 좌표로 X와 Y를 나누는 것입니다. 이는 원근 투영(perspective projection)의 핵심 특성으로, 멀리 있는 물체가 더 작게 보이는 현상을 수학적으로 표현한 것입니다.
5. 카메라 캘리브레이션
카메라 내부 파라미터를 결정하는 과정을 카메라 캘리브레이션(Camera Calibration)이라고 합니다. 캘리브레이션은 보통 특정 패턴(예: 체스보드)을 다양한 각도와 거리에서 촬영한 이미지를 사용하여 수행합니다.
캘리브레이션 과정은 대략적으로 다음과 같습니다:
- 체스보드와 같은 알려진 패턴을 다양한 위치와 방향에서 촬영합니다.
- 이미지에서 패턴의 특징점(예: 체스보드의 코너)을 찾습니다.
- 실제 3D 공간에서의 특징점 위치와 이미지에서 검출된 특징점 위치 사이의 관계를 이용하여 내부 파라미터를 계산합니다.
주요 캘리브레이션 도구로는 OpenCV의 calibrateCamera() 함수, MATLAB의 Camera Calibration Toolbox, GML Camera Calibration Toolbox 등이 있습니다.
요약 및 결론
- 카메라 내부 파라미터는 컴퓨터 비전 분야에서 3D 세계를 2D 이미지로 변환하는 핵심적인 요소입니다. 초점 거리, 주점, 비대칭 계수 등으로 구성되며, 3×3 행렬 형태로 표현됩니다.
- 정확한 내부 파라미터를 결정하기 위해서는 카메라 캘리브레이션 과정이 필요하며, 다양한 도구와 라이브러리를 활용할 수 있습니다.
- 내부 파라미터는 3D 재구성, 증강현실, 로봇 비전 등 다양한 응용 분야에서 활용되며, 컴퓨터 비전 알고리즘의 정확도와 성능에 직접적인 영향을 미칩니다.
'프로그래밍 > geometry(기하학)' 카테고리의 다른 글
카메라 캘리브레이션(camera calibration) 원리 (0) | 2025.04.04 |
---|---|
카메라 캘리브레이션(Camera Calibration)이란? (0) | 2025.04.04 |