투영 변환의 개요

카메라 매트릭스는 3D 공간의 물체를 2D 이미지 평면에 투영하는 과정을 수학적으로 표현한다. 투영은 3D 좌표를 2D 평면으로 변환하는 것을 의미하며, 이를 위해 사용하는 핵심적인 수학적 도구가 프로젝션 매트릭스이다. 프로젝션 매트릭스는 카메라 내부와 외부의 파라미터를 결합하여 3D 점을 이미지 상의 2D 좌표로 변환한다.

프로젝션 매트릭스의 정의

프로젝션 매트릭스는 다음과 같이 정의된다:

\mathbf{P} = \mathbf{K} [\mathbf{R} | \mathbf{t}]

여기서: - \mathbf{P}3 \times 4 프로젝션 매트릭스이다. - \mathbf{K}는 카메라의 내부 파라미터를 포함하는 3 \times 3 행렬이다. - \mathbf{R}는 회전 행렬이며, 카메라의 외부 파라미터 중 회전을 나타낸다. - \mathbf{t}는 카메라의 외부 파라미터 중 이동을 나타내는 3 \times 1 벡터이다.

프로젝션 매트릭스의 구성 요소

내부 파라미터 행렬 \mathbf{K}

카메라의 내부 파라미터 행렬 \mathbf{K}는 카메라의 초점 거리, 이미지 센서의 크기, 주점(offset)을 포함한 정보를 담고 있다. 이를 구체적으로 표현하면:

\mathbf{K} = \begin{pmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{pmatrix}

여기서: - f_x, f_y는 각각 x, y축 방향의 초점 거리이다. (보통 화소 단위로 표현된다.) - c_x, c_y는 이미지 좌표계에서 주점의 위치이다. 이는 이미지 센서의 중심을 기준으로 한 오프셋을 나타낸다.

외부 파라미터 [\mathbf{R} | \mathbf{t}]

외부 파라미터는 카메라의 위치와 방향을 나타내며, 회전 행렬 \mathbf{R}과 이동 벡터 \mathbf{t}로 구성된다. 이를 통해 월드 좌표계의 3D 점을 카메라 좌표계로 변환할 수 있다.

이러한 외부 파라미터를 결합하면 다음과 같은 행렬이 된다:

[\mathbf{R} | \mathbf{t}] = \begin{pmatrix} r_{11} & r_{12} & r_{13} & t_1 \\ r_{21} & r_{22} & r_{23} & t_2 \\ r_{31} & r_{32} & r_{33} & t_3 \end{pmatrix}

3D 좌표의 투영

3D 공간의 한 점 \mathbf{X_w} = (X_w, Y_w, Z_w, 1)^T가 있을 때, 이 점은 카메라 좌표계로 변환된 후 이미지 평면에 투영된다. 이 과정은 다음 수식을 따른다:

\mathbf{x} = \mathbf{P} \mathbf{X_w}

여기서: - \mathbf{x}는 이미지 좌표 (x, y, 1)^T이다. - \mathbf{X_w}는 월드 좌표계에서의 3D 점이다. - \mathbf{P}는 프로젝션 매트릭스이다.

구체적으로는:

\begin{pmatrix} x \\ y \\ 1 \end{pmatrix} = \mathbf{K} \begin{pmatrix} \mathbf{R} & \mathbf{t} \end{pmatrix} \begin{pmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{pmatrix}

따라서, 월드 좌표계의 3D 점은 프로젝션 매트릭스를 통해 이미지 좌표계의 2D 점으로 변환된다.

동차 좌표계에서의 투영

3D 좌표를 2D 이미지 평면으로 투영할 때, 동차 좌표계(homogeneous coordinates)를 사용하여 이 변환을 보다 직관적으로 처리할 수 있다. 동차 좌표계는 3D 좌표에 추가적인 차원을 추가하여, 변환 및 투영 과정을 보다 단순하게 처리하게 한다.

월드 좌표계의 3D 점 \mathbf{X_w}는 동차 좌표계에서 (X_w, Y_w, Z_w, 1)^T로 표현되며, 프로젝션 매트릭스 \mathbf{P}에 의해 다음과 같이 이미지 평면의 2D 점으로 투영된다:

s \begin{pmatrix} u \\ v \\ 1 \end{pmatrix} = \mathbf{P} \begin{pmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{pmatrix}

여기서: - (u, v)는 이미지 좌표계에서의 2D 점이다. - s는 동차 좌표계에서의 스케일 팩터이다. - \mathbf{P}3 \times 4 프로젝션 매트릭스이다.

이때, 변환된 점의 좌표는 다음과 같이 구할 수 있다:

\mathbf{x} = \mathbf{P} \mathbf{X_w}

즉:

s \begin{pmatrix} u \\ v \\ 1 \end{pmatrix} = \begin{pmatrix} p_{11} & p_{12} & p_{13} & p_{14} \\ p_{21} & p_{22} & p_{23} & p_{24} \\ p_{31} & p_{32} & p_{33} & p_{34} \end{pmatrix} \begin{pmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{pmatrix}

이를 풀면:

s u = p_{11} X_w + p_{12} Y_w + p_{13} Z_w + p_{14}
s v = p_{21} X_w + p_{22} Y_w + p_{23} Z_w + p_{24}
s = p_{31} X_w + p_{32} Y_w + p_{33} Z_w + p_{34}

따라서, 이미지 좌표계에서의 uv는 다음과 같이 계산할 수 있다:

u = \frac{p_{11} X_w + p_{12} Y_w + p_{13} Z_w + p_{14}}{p_{31} X_w + p_{32} Y_w + p_{33} Z_w + p_{34}}
v = \frac{p_{21} X_w + p_{22} Y_w + p_{23} Z_w + p_{24}}{p_{31} X_w + p_{32} Y_w + p_{33} Z_w + p_{34}}

프로젝션 매트릭스의 특성

프로젝션 매트릭스 \mathbf{P}는 3D 공간에서 2D 평면으로의 변환을 다루는 선형 변환 매트릭스이다. 카메라의 내부 파라미터와 외부 파라미터가 결합된 형태로, 프로젝션 매트릭스는 다음과 같은 특징을 갖는다: