두 투사 행렬(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의 스케일이 다르면 안되므로 정규화가 필요하다.
각 행은 독립적으로 크기 정규화 가능하다.
댓글 없음:
댓글 쓰기