if R is known, one homography between the model plane and its image is enough? (seems to be degenerate at first glance)
2010.8.18 추가 - 식 (3),(4) 의 유도 외
[h1 h2 h3] = λA[r1 r2 t] 에서
h1 = Ar1, h2 = Ar2
회전행렬에서 r1과 r2는 orthonormal하다. 즉
r1' r2 = 0
(A"h1)' A"h2 = 0 ("는 inverse, '는 transpose로 봐주자)
h1'A'" A" h2 = 0 (3)
orthonormal이므로 r1'r1 = r2'r2 = 1, 즉
h1'A'"A"h1 =h2'A'"A"h2 =
1/λ² (4)
let B = A'"A" (image of absolute conic), then
(3) becomes h1'Bh2 = 0
symmetric한 B의 6개의 원소들을 b로 놓고 h에 대해 정리하면 (7).
(3),(4)를 b로 표현한 것이 (8).
n개의 이미지에 대해서는 V(2nx6) b = 0
V는 homographies로부터 known이므로 b를(즉 B를) 구할 수 있다.
B에서 A를 구하는 방법은 Appendix B에 있는데, 단순히 B = λA'"A (마지막에 왜 그냥 A지?) 를 전개해서 구한 건지... 잘 모르겠다.
실제 구현을 위한 정리
1. H1~Hn을 구한다. Appendix A는 무시하고 그냥 cvFindHomography하면 될 것 같다.
2. n images에 대해 v11, v12, v22를 계산, V를 구성하자.
3. Vb = 0에서 SVD로 b를 구한다.
4. Appendix B를 참조하여 A를 구한다.
5. A가 구해지면 extrinsic r1, r2, r3, t를 구한다.
6. Q = [r1 r2 r3] = USV' 일 때 R = UV' 가 최적의 회전행렬이라고 한다 (Appendix C).
비애
이 논문 처음 본 지 10년은 되는 것 같은데 이제서야 이해했다는 느낌이 든다.
이것은 논문 겉핥기의 폐해 ㅜㅜ;