논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

Christopher Mei’s Projection Model

http://www.robots.ox.ac.uk/~cmei/articles/projection_model.pdf

Model

Unified model은 Geyer와 Barreto의 모델을 확장한 것입니다. 여기서는 기존의 카메라의 앞 방향으로 뻗는 z축을 사용하지 않고 거울이나 렌즈의 바깥 방향으로 뻗는 z축을 사용하였습니다.

3D 점의 프로젝션은 다음과 같은 순서로 진행됩니다.

  1. Mirror frame (좌표계)의 3D 점은 unit sphere로 프로젝션 됩니다.

    $$(X)_{F_m} \rightarrow (X_s)_{F_m} = \frac{X}{||X||} = (X_s, Y_s, Z_s)$$

  2. 다음 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)$$

  3. 다음 변환된 점을 normalized image plane으로 투영합니다.

    $$m_u = (\frac{X_s}{Z_s + \xi}, \frac{Y_s}{Z_s + \xi}, 1) = h(X_s)$$

  4. 다음 radial, tangential 왜곡을 추가합니다.

    $$m_d = m_u + D(m_u, V)$$

  5. 마지막으로 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?

이 모델은 왜곡이나 오정렬같은 부분에서 캘리브레이션이 어려운 점을 해결할 수 있습니다.


Add a Comment Trackback