2009. 3. 6. 12:18

x1 = P1 * X1
x2 =  P2 * X2

여기에서  P1 = [R1 | t1]; 이다. R1은 SO(3)에 포함되고 t1은 3D vector 이다.

1. Reconstruction Method

P1(t) = p1 + t * v1;
P2(s) = p2 + s * v2;

다음과 같이 되기 때문에 P1 과 P2 가 같게 되는 t와 s를 각각 구하면 된다.

두 장의 영상에서 임의의 점에 대한 대응점을 x와 x'이라고 하면
다음과 같이 만들 수 있다.
(x와 x'은 영상 좌표의 homogeneous coordinate 이다)
xn = K-1 * x;
xn' = K-1 * x';
p1 = - R1' * t1;
p2 = - R2' * t2;
v1 = R1' * xn;
v2 = R2' * xn';

위의 4개의 vector p1, p2, v1, v2를 이용하여
다음과 같은 식으로 t와 s를 구할 수 있다.

k1 = p2 - p1;
k2 = v1 x v2;
M1 = [k1 v2 k2];
M2 = [k1 v1 k2];
t = det(M1) / (k2' * k2);
s = det(M2) / (k2' * k2);

t와 s를 구하면 P1(t) 와 P2(s) 에 각각 대입하면

같은 3D 좌표가 나오게 되고 이게

실제 3차원 상의 점이 된다.