두 투사 행렬(projection matrix) $P_1, P_2$가 있다고 가정하자. 공간 상에 점 $X$가 있다. 이 점이 두 이미지에 투사되면 다음과 같다:
$m_1=P_1\cdot X$
$m_2=P_2\cdot X$
여기서 $X$는 homogeneous 4-vector이다.
$m_1, m_2$을 안다고 할 때, 공간 점 $X$를 복원해 보자.
DLT를 적용한다.
$m_1 \times m_1 = m_1 \times (P_1 \cdot X) = 0$
$m_2 \times m_2 = m_2 \times (P_2 \cdot X) = 0$
이다. 크기 3x1의 $m_1$벡터는 3x3의 skew matrix로 표현할 수 있다.
$m_1 = [0, -1, v_1; 1, 0, -u_1; -v_1, u_1, 0]$
이다. 따라서
$[m_1]\cdot(P_1 \cdot X) =$
$[0, -1, v_1; 1, 0, -u_1; -v_1, u_1, 0] \cdot$
$[p_{11}X+p_{12}Y+p_{13}Z+p_{14};$
$ p_{21}X+p_{22}Y+p_{23}Z+p_{24}; $
$ p_{31}X+p_{32}Y+p_{33}Z+p_{34}] $
$= [ -(p_{21}X+p_{22}Y+p_{23}Z+p_{24}) + $
$ v_1(p_{31}X+p_{32}Y+p_{33}Z+p_{34}); $
$ (p_{11}X+p_{12}Y+p_{13}Z+p_{14}) - $
$ (p_{11}X+p_{12}Y+p_{13}Z+p_{14}) - $
$ u_1(p_{31}X+p_{32}Y+p_{33}Z+p_{34}) ; $
$ -v_1(p_{11}X+p_{12}Y+p_{13}Z+p_{14}) + $
$ -v_1(p_{11}X+p_{12}Y+p_{13}Z+p_{14}) + $
$ u_1(p_{21}X+p_{22}Y+p_{23}Z+p_{24}) ] $
$= [(v_1p_{31}-p_{21}), (v_1p_{32}-p_{22}), (v_1p_{33}-p_{23}), (v_1p_{34}-p_{24});$
$ (u_1p_{31}-p_{11}). (u_1p_{32}-p_{12}), (u_1p_{33}-p_{13}), (u_1p_{34}-p_{14});$
$ (u_1p_{21}-v_1p_{11}), (u_1p_{22}-v_1p_{12}), (u_1p_{23}-v_1p_{13}), (u_1p_{24}-v_1p_{14}) ] \cdot X = 0$
여기서 1행과 2행만 가져온다 (3행은 1, 2행의 조합으로 만들 수 있다).
$[v_1\cdot p_3-p_2;$
$ u_1\cdot p_3-p_1] \cdot X = 0$
단, 여기서 $p_3 = [p_{31}, p_{32}, p_{33}, p_{34}], p_2=[p_{21}, p_{22}, p_{23}, p_{24}], p_1=[p_{11}, p_{12}, p_{13}, p_{14}]$ 이다.
그런데 $m_2$로부터 또 다른 $P_2$도 있으므로 2개의 행이 추가 될 수 있다.
$[v_1 \cdot p_3-p_2;$
$ u_1\cdot p_3-p_1;$
$ v'_1\cdot p'_3-p'_2;$
$ u'_1\cdot p'_3-p'_1]\cdot X = AX = 0$
행렬 $A$를 특이값 분해(SVD)하고 얻어진 $V$행렬의 마지막 행이 $X$가 된다. $A$행렬의 크기는 4x4이다.
$A$행렬의 각 행은 독립된 하나의 식으로 스케일 모호성이 있다. 즉, $X$의 크기에 대한 모호성을 준다. 각 행이 영향을 주는 $X$의 스케일이 다르면 안되므로 정규화가 필요하다.
$= [(v_1p_{31}-p_{21}), (v_1p_{32}-p_{22}), (v_1p_{33}-p_{23}), (v_1p_{34}-p_{24});$
$ (u_1p_{31}-p_{11}). (u_1p_{32}-p_{12}), (u_1p_{33}-p_{13}), (u_1p_{34}-p_{14});$
$ (u_1p_{21}-v_1p_{11}), (u_1p_{22}-v_1p_{12}), (u_1p_{23}-v_1p_{13}), (u_1p_{24}-v_1p_{14}) ] \cdot X = 0$
여기서 1행과 2행만 가져온다 (3행은 1, 2행의 조합으로 만들 수 있다).
$[v_1\cdot p_3-p_2;$
$ u_1\cdot p_3-p_1] \cdot X = 0$
단, 여기서 $p_3 = [p_{31}, p_{32}, p_{33}, p_{34}], p_2=[p_{21}, p_{22}, p_{23}, p_{24}], p_1=[p_{11}, p_{12}, p_{13}, p_{14}]$ 이다.
그런데 $m_2$로부터 또 다른 $P_2$도 있으므로 2개의 행이 추가 될 수 있다.
$[v_1 \cdot p_3-p_2;$
$ u_1\cdot p_3-p_1;$
$ v'_1\cdot p'_3-p'_2;$
$ u'_1\cdot p'_3-p'_1]\cdot X = AX = 0$
행렬 $A$를 특이값 분해(SVD)하고 얻어진 $V$행렬의 마지막 행이 $X$가 된다. $A$행렬의 크기는 4x4이다.
$A$행렬의 각 행은 독립된 하나의 식으로 스케일 모호성이 있다. 즉, $X$의 크기에 대한 모호성을 준다. 각 행이 영향을 주는 $X$의 스케일이 다르면 안되므로 정규화가 필요하다.
각 행은 독립적으로 크기 정규화 가능하다.
댓글 없음:
댓글 쓰기