‘좌표계의 기준이 [아래쪽, 오른쪽, 뒷쪽] 이다 혹은 $[-y, x, z]$ 이다.’ 라는 말은 무슨 말일까? 그렇다면 ‘COLMAP(참고2)에서 제시하는 좌표계(frame)는 $[x, -y, -z]$ 이다' 같은 말은 도대체 무슨 뜻일까(참고1)? 둘이 다른 말이라면, 둘은 무슨 차이가 있을까?
그림 (참고1)
위 그림을 보자. 위 그림에는 카메라 원점 좌표계와 이미지 평면 그려져 있고, 카메라 정규 좌표계는 생략되어 있다. 이 그림에 따르면, 카메라가 바라보는 방향이 $+z$ 이다. 그러니까 ‘전방’ 이다. 오른손으로 위 그림의 좌표계를 표현해 보았다. 검지손가락을 나에게서 멀어지는 방향으로 두고 $+z$ 방향이라고 둔다면, $+x$ 은 왼쪽 방향, $+y$ 는 윗쪽 방향이라고 할 수 있겠다.
카메라 원점 좌표
카메라 원점 좌표 (빨강), 이미지 좌표 (연녹). 기저벡터의 길이 차이를 표현했다.
3D 공간상에 존재하는 점인데, 카메라 원점 좌표계의 언어로 해석한 좌표값 ${}$$\mathrm{x_{(o_x,o_y,o_z)}}$를(혹은 정규 이미지 좌표계의 언어로 해석한 좌표값 $\mathrm{x_{(u,v)}}$를(from4)), 이미지 평면 좌표계 ****의 언어 $\mathrm{x_{(p,q)}}$로 해석하고 싶다고 생각해 보자(from3). 둘 사이의 관계를 정의하는 변환 $\mathrm{K}$ 는 다음과 같이 표현 가능하다. 이때 좌표들이 동차좌표라는 뜻을 담기 위해 $\mathrm{HG}$ 를 적어 주었다(from2).
$$ (1):\mathrm{x_{(p,q)}^{HG}=Kx_{(o_x,o_y,o_z)}} $$
$$ (2):\mathrm{x_{(p,q)}^{HG}=Kx_{(u,v)}^{HG}} $$
카메라 내부 파라미터의 정의에 따라, $f>0$ 이다. 또한, 위 그림으로 보았을 때 $k_x, k_y<0$ (from5)이고, $c_x, c_y<0$ 이다. 동차좌표의 정의에 따라, $\mathrm{x_{(p,q)}}=(p,q)=(hp,hq,h)^{\mathrm{HG}}=\mathrm{x_{(p,q)}^{HG}}$ 이므로, $(1)$ 이든 $(2)$ 이든 여부에 상관없이 $\mathrm{K}$ 는 다음과 같이 모델링 가능하다. $h$ 의 부호는 당연히 모른다.
$h * (k_xf)$ | 0 | $h*c_x$ |
---|---|---|
0 | $h * (k_yf)$ | $h*c_y$ |
0 | 0 | $h$ |
부호를 관찰해 보자. $h$ 가 양수이면, 다음과 같은 결과가 나온다.
- | - | |
---|---|---|
- | - | |
+ |