Christopher Mei’s Projection Model
http://www.robots.ox.ac.uk/~cmei/articles/projection_model.pdf
Model
Unified model은 Geyer와 Barreto의 모델을 확장한 것입니다. 여기서는 기존의 카메라의 앞 방향으로 뻗는 z축을 사용하지 않고 거울이나 렌즈의 바깥 방향으로 뻗는 z축을 사용하였습니다.
3D 점의 프로젝션은 다음과 같은 순서로 진행됩니다.
- Mirror frame (좌표계)의 3D 점은 unit sphere로 프로젝션 됩니다.
$$(X)_{F_m} \rightarrow (X_s)_{F_m} = \frac{X}{||X||} = (X_s, Y_s, Z_s)$$
- 다음 unit sphere 점은 새로운 점 $C_p = (0, 0, \xi)$을 중심으로 하는reference frame으로 변환합니다.
$$(X_s)_{F_m} \rightarrow (X_s)_{F_p} = (X_s, Y_s, Z_s + \xi)$$
- 다음 변환된 점을 normalized image plane으로 투영합니다.
$$m_u = (\frac{X_s}{Z_s + \xi}, \frac{Y_s}{Z_s + \xi}, 1) = h(X_s)$$
- 다음 radial, tangential 왜곡을 추가합니다.
$$m_d = m_u + D(m_u, V)$$
- 마지막으로 generalized camera projection 행렬 K를 곱해줍니다.
$$p = Km = \begin{bmatrix} \gamma &\ \gamma^s &\ u_0 \\ 0 &\ \gamma^r &\ v_0 \\ 0 &\ 0 &\ 1 \end{bmatrix} m = k(m)$$
h로 이미지 플레인으로 된 것을 unit sphere로 다시 올리는 함수는 다음과 같습니다.
$$h^{-1}(m_u) = \begin{bmatrix} \frac{\xi + \sqrt{1 + (1- \xi^2) (x^2 + y^2)}}{x^2 + y^2 + 1}x \\
\frac{\xi + \sqrt{1 + (1- \xi^2) (x^2 + y^2)}}{x^2 + y^2 + 1}y \\
\frac{\xi + \sqrt{1 + (1- \xi^2) (x^2 + y^2)}}{x^2 + y^2 + 1} - \xi
\end{bmatrix} = X_s$$
Paracatadioptric 센서를 이용한 Telecentric lenses에서도 왜곡은 발생할 수 있기 때문에, 이러한 상황에서도 이 왜곡 모델은 유연하게 대처할 수 있습니다. $\gamma$는 거울의 모양에 따라 달라질 것입니다.
$\xi$ | $\gamma$ | |
---|---|---|
Parabola | 1 | $-2pf $ |
Hyperbola | $\frac{df}{\sqrt{d^2 + 4p^2}}$ | $\frac{-2pf}{\sqrt{d^2+4p^2}} $ |
Ellipse | $\frac{df}{\sqrt{d^2 + 4p^2}}$ | $\frac{2pf}{\sqrt{d^2+4p^2}} $ |
Planar | 0 | $-f $ |
Perspective | 0 | $f $ |
d: distance between focal points
4p: lense rectum
Why choose this model?
이 모델은 왜곡이나 오정렬같은 부분에서 캘리브레이션이 어려운 점을 해결할 수 있습니다.