Search
☑️

DLT

링크
Category
Keywords
상위 개념
하위 개념
속성
Subcategory
날짜
생각해볼것 : 기하학적 의미, 동차좌표의 역할

Object

Object Point를 통해서 카메라의 내/외부 파라미터 P 를 구해보자
x=PXx:pixelcoor,P:transformation,X:worldcoorx = PX\\ x : pixel coor, P : transformation, X : world coor

DLT : Direct Linear Transformation

DLT는 두 행렬의 관계에 대한 선형변환 식을 구하는 것이 목적이다.
x=KR[I3XO]XK:c,s,m,xH,yHR:3rotationsXO:3translationsx = KR[I_3 | - X_O]X\\K : c,s,m,x_H, y_H\\R : 3 rotations\\X_O : 3 translations
x = PX의 식을 풀어 써보면 위와 같다.
그럼 어떤 방식으로 식을 구하는지 알아보자.
[uvw]=P[UVWT]\begin{bmatrix}u\\v\\w \end{bmatrix}=P\begin{bmatrix}U\\V\\W\\T \end{bmatrix}
위와 같이 4D vector를 통해 3D vector를 구하는 경우에서 사용이 될 수 있다.
여기서 먼저 Inhomogeneous 방법을 통해서 변수를 좀 줄여보자.
[u/wv/w1]=P[U/TV/TW/T1]\begin{bmatrix}u/w\\v/w\\1 \end{bmatrix}=P\begin{bmatrix}U/T\\V/T\\W/T\\1 \end{bmatrix} \\
[xy1]=P[XYZ1]\begin{bmatrix}x\\y\\1 \end{bmatrix}=P\begin{bmatrix}X\\Y\\Z\\1 \end{bmatrix} \\
그러면 위와 같이 변환이 되고 우리는 다음과 같은 식을 얻을 수 있게 된다.
하나의 식에서 2개의 방정식을 구했다.
5개의 intrinsic parameter + 6개의 extrinsic parameter = 총 11개의 parameter를 구해야한다.
Freedom이 11고 방적식이 두개가 나오니 6개(5.5개)의 Point만 있으면 답을 구할 수 있다.
이는 Uncalibrated Camera의 경우에 구하는 방식이고 Affine Camera라고 가정한다.
근데 만약 이미 Calibration이 된 카메라라면 내부 파라미터가 구해진 상태의 카메라니깐 6개의 파라미터만 구하면 되기 때문에 3개의 point만 알면 된다. 이는 Spatial resection으로 해결 가능.
자 이제 이 6개(이상)의 Point를 통해서 Parameter를 구하는 DLT에 대해 알아보자
P 행렬을 다음과 같이 쪼개서 3개의 벡터로 나눈다.
그러면 다음과 같은 식으로 바꿀 수 있다.
그 다음 이곳 에서 가져온 식과 혼합하면..
이와 같은 식을 만들 수 있다. 그리고 위의 식은 다음과 같이 바꿀 수 있고
이는 A, B, C에 대해 선형인 식이라고 할 수 있다.
여기서 i는 6개(이상)의 Point를 의미한다.

SVD

Ax = 0과 같은 선형방정식을 푸는 방법은 A의 영공간(null space)를 구하는 것과 같다.
이 때, SVD라는 방식이 사용되는데…