상세 컨텐츠

본문 제목

A flexible new technique for camera calibration

학술

by 양고 2009. 2. 26. 15:00

본문


MSR TR 1998
Zhengyou Zhang
그동안 실험과 잡일들 때문에 논문 보는 것이 뜸했다.
Zhang은 두 번 정도 본 것 같지만 pattern을 사용하면서 self-calibration에 가까운 점에서 추구하는 바에 공통점이 있다고 판단되어 다시 한 번 보게 되었다. 19일은 실험했고, 이건 20일 몫이다. 많이 밀렸네.. -_-;

주 내용
closed-form solution + nonlinear refinement이라는 기본 구조는 동일.
일반적인 회전 기반 self-calibration과 달리 model plane(Z=0)과 image 사이의 homography를 다루고 있다.
radial distortion은 단순히 nonlinear (L-M)에 k1, k2를 포함해서 구한다.
degenerate configuration은 pure trans. 즉 R1 = R2인 경우에 second homography (2nd image와 model plane 사이의 homography를 말하는 듯) does not provide additional constraints.

고민
8차원 H를 추정하기 위해 L-M이 필요한데, 그럴 바에야 처음부터 K 등을 한 번에 추정하는 것이 낫지 않나?
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년은 되는 것 같은데 이제서야 이해했다는 느낌이 든다. 
이것은 논문 겉핥기의 폐해 ㅜㅜ;

관련글 더보기