단일 뷰 기하학
단일 뷰 기하학은 하나의 카메라 이미지에서 장면의 3차원 구조에 관한 정보를 추정하는 방법론이다. 이 경우, 3차원 정보를 완전히 복원하는 것은 불가능하며, 주로 사영 기하학적 변환을 통해 2차원 이미지 평면과 3차원 세계 사이의 관계를 다룬다.
단일 뷰에서는 카메라의 투영 변환이 기본적으로 사용된다. 카메라의 투영 모델을 통해 3차원 점 \mathbf{P} = (X, Y, Z)^\top가 2차원 이미지 평면의 점 \mathbf{p} = (u, v)^\top로 매핑된다. 이를 나타내는 수식은 다음과 같다:
여기서:
- \mathbf{K}는 카메라의 내부 파라미터 행렬,
- \mathbf{R}은 회전 행렬,
- \mathbf{t}는 이동 벡터다.
단일 뷰에서는 3차원 위치 정보가 하나의 뷰만으로는 손실되며, 깊이 정보를 복원할 수 없기 때문에 카메라 좌표계에서의 절대적인 깊이 정보를 얻기 어렵다. 예를 들어, 이미지 상의 두 개의 점이 3차원 공간에서 서로 다른 깊이 값을 가질 수 있지만, 단일 뷰에서는 이러한 차이를 구별하기 힘들다.
다중 뷰 기하학
반면, 다중 뷰 기하학에서는 두 개 이상의 카메라 뷰를 사용하여 장면의 3차원 구조를 추정할 수 있다. 다중 뷰 기하학의 기본 개념은 카메라들 간의 상대적인 위치와 방향을 이용하여 동일한 3차원 점이 여러 뷰에 투영되는 방식을 분석하는 것이다.
다중 뷰 기하학에서 가장 중요한 두 가지 행렬은 기본 행렬과 본질 행렬이다. 이 두 행렬은 서로 다른 카메라 뷰에서 같은 3차원 점이 투영된 위치 사이의 기하학적 제약을 나타낸다.
두 카메라 뷰 사이의 본질 행렬 \mathbf{E}는 다음과 같이 정의된다:
여기서:
- \mathbf{R}은 두 번째 카메라 좌표계에 대한 첫 번째 카메라 좌표계의 회전 행렬,
- [\mathbf{t}]_\times는 두 카메라 사이의 변위 벡터 \mathbf{t}의 반대칭 행렬이다.
다중 뷰에서는 동일한 3차원 점이 서로 다른 뷰에서 투영되기 때문에, 삼각 측량을 통해 3차원 위치를 복원할 수 있다. 삼각 측량은 각 카메라 뷰에서의 2차원 투영 정보를 사용하여 원래의 3차원 점의 위치를 추정하는 방법이다.
여기서 i는 각 카메라 뷰를 나타내며, \mathbf{p}_i는 i번째 카메라에서의 2차원 투영 점이다.
단일 뷰에서의 제약
단일 뷰에서는 3차원 정보가 일부 손실되기 때문에, 장면에서의 물체의 상대적 위치나 크기를 추정하는 데 한계가 있다. 예를 들어, 원근 왜곡은 단일 뷰에서 피사체가 가까운지, 먼지에 따라 이미지 상의 크기를 왜곡시키므로 실제 크기를 추정하기가 어렵다. 단일 뷰에서는 이러한 원근 효과로 인해 두 물체가 같은 크기임에도 불구하고, 이미지 상에서는 서로 다른 크기로 나타날 수 있다.
다만, 단일 뷰 기하학은 특정한 사전 지식을 가정하거나 이미지 내에서의 부가적인 단서를 활용하여 제한된 범위에서 3차원 구조를 유추할 수 있다. 이러한 단서는:
- 평행선: 평행한 선들이 이미지 상에서 만나는 점(소실점)을 통해 원근을 파악.
- 그림자: 그림자를 통해 물체의 상대적인 높이나 위치를 유추.
- 선형 원근법: 가까운 물체는 크게, 먼 물체는 작게 보이는 원근 효과를 고려.
하지만 이러한 단서는 명확한 수학적 계산보다는 직관적 해석에 가까우며, 완전한 3차원 복원은 어렵다.
다중 뷰에서의 장점
반면, 다중 뷰 기하학에서는 두 개 이상의 뷰가 제공됨으로써 각 뷰에서 동일한 물체가 관측되는 방식에 대한 상관 관계를 이용하여 3차원 정보를 복원할 수 있다. 이때 각 뷰 사이의 상대적 기하학적 관계를 수학적으로 모델링하여, 정확한 깊이 및 3차원 위치를 추정할 수 있다.
이러한 다중 뷰의 기본 개념은 에피폴라 기하학으로 설명된다. 서로 다른 두 카메라에서 동일한 3차원 점이 투영될 때, 두 이미지 상에서의 투영점은 에피폴라 제약을 따른다. 이 제약을 통해 다중 뷰 기하학에서는 깊이 정보를 포함한 3차원 복원이 가능하다.
특히, 다중 뷰 기하학에서는 다음과 같은 장점을 갖는다:
- 깊이 정보 복원: 두 개 이상의 뷰에서 물체의 깊이 차이를 통해 정확한 3차원 위치를 계산할 수 있다.
- 정확한 3차원 구조 추정: 여러 각도에서 관찰된 동일 물체의 위치 정보를 결합하여 물체의 3차원 구조를 정확하게 복원.
- 이동 추적: 움직이는 물체의 위치 변화를 여러 뷰에서 추적하여 물체의 이동 경로를 3차원으로 계산할 수 있다.
기하학적 관계
두 카메라 사이의 상대적인 위치와 방향은 카메라 운동으로 모델링되며, 이러한 운동은 회전과 이동으로 분리될 수 있다. 이를 수식으로 나타내면, 두 번째 카메라 좌표계에서 첫 번째 카메라 좌표계의 회전과 이동은 다음과 같이 표현된다:
여기서:
- \mathbf{p}_1은 첫 번째 카메라 좌표계에서의 점,
- \mathbf{p}_2는 두 번째 카메라 좌표계에서의 점,
- \mathbf{R}은 회전 행렬,
- \mathbf{t}는 이동 벡터다.
이 기하학적 관계를 이용하여 두 카메라 뷰 사이에서 동일한 3차원 점이 투영된 위치를 비교함으로써, 해당 점의 3차원 좌표를 삼각 측량할 수 있다.
다중 뷰 기하학은 이러한 방식으로 카메라 간의 관계를 정의하며, 이를 통해 3차원 공간의 점들이 여러 이미지 뷰에서 투영되는 방식에 대한 수학적 모델을 제공한다.