web.stanford.edu

1 Introduction

이전 노트에서 장면에 대해 추가 viewpoint를 더하면 해당 장면에 대한 지식을 크게 향상시킬 수 있음을 다루었다. 3d 장면에 관한 정보를 추출하지 않고도 한 이미지 평면의 점을 다른 이미지 평면의 점에 관련지을 수 있도록 epipolar geometry 설정에 초점을 맞추었다. 이번 강의에서는 여러 2d 이미지에서 3d 장면에 관한 정보를 복구하는 방법에 대해 논의한다.

2 Triangulation

여러 view geometry에서 가장 근본적인 문제 중 하나는 triangulation(삼각측량) 문제이다. 이는 3d 점의 위치를 2개 이상의 이미지에 투영된 것으로부터 결정하는 과정이다.

Cap 2024-06-17 13-49-29-885.png

두 view에서의 triangulation 문제에서는 각각 알려진 카메라 intrinsic 파라미터 $K$와 $K'$를 가진 2대의 카메라를 갖는다. 또한 이 카메라들의 상대적인 orientation과 offset $R, T$를 갖는다. 3d에 점 $P$가 있다고 가정하자. 이것은 두 카메라의 이미지에서 각각 $p$와 $p'$에 해당한다. $P$의 위치가 현재 알려지지 않지만 이미지에서 $p$와 $p'$의 정확한 위치를 측정할 수 있다. $K, K', R, T$가 알려져 있으므로 카메라 중심 $O_1, O_2$와 이미지 위치 $p, p'$에 의해 정의되는 두 시선 $\ell$과 $\ell'$을 계산할 수 있다. 따라서 $P$는 $\ell$과 $\ell'$의 교점으로 계산될 수 있다.

Cap 2024-06-17 13-49-39-990.jpg

이 절차가 간단하고 수학적으로 타당해 보이지만, 실제로는 잘 작동하지 않는다. 왜냐하면 현실에서 관측치 $p$와 $p'$가 noisy이고 camera calibration 파라미터가 정밀하지 않기 때문에 $\ell$과 $\ell'$의 교차점을 찾는 것이 문제가 있다. 대부분의 경우에서 두 선이 교차하지 않으므로 교점이 전혀 존재하지 않을 수 있다.

2.1 A linear method for triangulation

이 섹션에서 ray 사이의 교차 점의 부재를 해결하는 간단한 linear triangulation 방법을 설명한다. 서로 대응하는 두 이미지의 점이 $p = MP = (x, y, 1)$와 $p' = M'P = (x', y', 1)$로 주어진다. cross product의 정의에 따라 $p \times (MP) = 0$이다. cross product에 의해 생성된 등식을 명시적으로 사용하여 3가지 제약조건을 형성할 수 있다.

$$ \begin{aligned} x(M_3P) - (M_1P) &= 0 \\ y(M_3P) - (M_2P) &= 0 \\ x(M_2P) - y(M_1P) &= 0 \end{aligned} \tag{2.1} $$

여기서 $M_i$는 행렬 $M$의 $i$-번째 행이다. 유사한 제약조건을 $p'$와 $M'$에 대해 형식화할 수 있다. 두 이미지의 제약조건을 사용하여 $AP = 0$ 형식의 선형 방정식을 형식화할 수 있다. 여기서

$$ A = \begin{bmatrix} xM_3 - M_1 \\ yM_3 - M_2 \\ x'M_3' - M_1' \\ y'M_3' - M_2' \end{bmatrix} \tag{2.2} $$

이 등식은 점 $P$의 best linear 추정치를 찾기 위해 SVD를 사용하여 해결될 수 있다. 이 방법의 또 다른 흥미로운 측면은 여러 view에서 triangulating도 잘 다룰 수 있다는 것이다. 그렇게 하기 위해 새로운 view에 의해 추가된 제약조건에 해당하는 행을 $A$에 추가하면 된다.

그러나 이 방법은 projective-invariant이 아니기 때문에 projective reconstruction에 적합하지 않다. 예컨대 카메라 행렬 $M, M'$을 projective transformation $MH^{-1}, M'H^{-1}$에 의해 영향 받는 것으로 교체한다고 가정하자. 그러면 선형 방정식의 행렬 $A$는 $AH^{-1}$이 된다. 그러므로 이전 추정치 $AP= 0$의 해 $P$는 변환된 문제 $(AH^{-1})(HP) = 0$의 해 $HP$에 해당한다. SVD는 $\|P\| = 1$의 제약조건을 해결하지만 이것은 projective transformation $H$에 대해 불변이 아니다. 그러므로 이 방법은 간단하지만 종종 triangulation 문제의 최적 해가 아니다.

2.2 A nonlinear method for triangulation

대신 현실 세계 시나리오에 대한 triangulation 문제는 종종 수학적으로 최소화 문제를 해결하는 것으로 특성화 된다.

$$ \min_{\hat{P}}\|M\hat{P} - p\|^2 + \|M'\hat{P}-p'\|^2 \tag{2.3} $$