칼럼 작성

dusruddl2·2022년 6월 26일
0
post-custom-banner

[참고한 블로그]
https://junsk1016.github.io/opencv/DLT/
https://darkpgmr.tistory.com/108
https://darkpgmr.tistory.com/106
.
.
.


칼럼 주제

Mp=0Mp = 0
행렬 MM이 정방행렬인 경우,
det(M)!=0det(M)!=0 인 경우,
pp를 어떻게 구하는가


DLT (강의 자료)


새롭게 벡터 A,B,C를 이용하여 위와 같이 표현할 수 있다.

한 개의 이미지에 대한 이미지 좌표인 xix_iyiy_i는 우리가 알고 있는 것

각 point에 대하여 axiTp=0a_{x_i}^Tp=0ayiTp=0a_{y_i}^Tp=0를 정의할 수 있고
II개의 point에 대해 한번에 쓰면 이와 같이 표현 가능!

이제 이 식을 풀면 되는 것인데
이는 선형방정식 Ax=0Ax=0를 푸는 것과 동일

  • Ax=0Ax=0를 푸는 것은 AA의 null space(영공간)을 찾는 것과 같다.
  • 따라서 우리는 SVD(특이값 분해)를 통해서 해결할 수 있다.
  • 특이값 0에 해당하는 특이벡터 pp를 선택하기

    하지만 실제 세계이기 때문에 실제로는 Mp=0Mp=0이 아닌 Mp=wMp=w이다.

    따라서, 우리의 목표는 pp를 최소화하는 p^\hat{p}를 구하는 것!
    = M의 SVD를 구해 가장 작은 고유벡터(singular vector) 선택하는 것
    = 그 고유벡터를 pp의 solution으로 사용하는 것


선형방정식의 풀이방법 및 SVD

  1. AX=BAX=B 형태일 때,
  • AA의 역행렬이 존재하는 경우: x=A1Bx=A^{-1}B
  • AA의 역행렬이 존재하지 않는 경우: x=A+Bx=A^{+}B
    (A+A^{+}: AA의 유사 역행렬)
  1. AX=0AX=0 형태일 때,
  • AA의 특이값분해(SVD)를 A=UΣVTA = UΣV^T라 할 때,
    XXVV의 가장 오른쪽 열벡터
    (즉, AA의 최소 특이값에 대응하는 특이벡터)

위에서 언급했듯이
우리는 AX=0AX=0 => SVD => 가장 오른쪽 열벡터

특이값들이 모두 0이 아니면 -> 역행렬 존재
특이값들 중 0이 포함되면 -> 역행렬이 존재하지 x

[결론]
우리는 역행렬이 존재하는 경우를 생각하고 있으므로 특이값이 0이 나오는 경우는 발생하지 않는다.
따라서, 가장 작은 특이값은 하나만 나올 것이고 그에 대한 특이벡터를 구하면 그것이 바로 해가 되는 것...!

.
.
.

:D... 이렇게 간단한 결론이 나오는게 맞을까나..?

profile
정리된 글은 https://dusruddl2.tistory.com/로 이동
post-custom-banner

0개의 댓글