* 이 포스트는 컴퓨터 비젼에 대한 개인 학습용으로 작성한 포스트입니다.
Projection Matrix
앞에서 설명했듯이 이미지에 projection된 점과 real world에서의 3차원 좌표간의 관계를 구하는 것이 중요하다. 이는 Projection matrix를 통해 나타낼 수 있다.
여기서 내부 조건과 외부조건을 모두 고려했을 때 다음과 같이 나타낼 수 있다.
$\alpha, \beta$는 focal length, pixel size와 관련된 parameter이다. $(u_0, v_0)$는 principle point에 대한 parameter이고 $s$는 skew error와 관련된 parameter이다. 이 parameter까지는 internal paramter이다.
그리고 matrix R, T는 rotation matrix(각 축에 대한 각도), transition matrix(각 축에 대한 좌표값)로 각 matrix는 3개의 parameter를 가진다.
즉, projection matrix는 총 11개의 parameter를 가진다.
Calculation of Projection Matrix
위에서 디자인한 matrix를 모두 곱했을 때 4X3 matrix가 만들어지고, 이 matrix를 구성하는 12개의 parameter를 계산하는 문제로 바꿀 수 있다.
(위에서 설명했듯이 실제 parameter는 11개이다, rank = 11)
이는 11개의 미지수에 대한 선형 연립방정식을 푸는 문제로 바꿀 수 있으며, 이는 선형대수학의 least square solution으로 풀 수 있다. 각 좌표계에서의 matching되는 데이터 몇개를 이용하여 풀 수 있다. 이를 푸는 방법에 대해서는 선형대수학에서도 많이 언급되고 python의 opencv를 통해 쉽게 구할 수 있다.
이렇게 선형 모델를 통해 계산하는 것은 장단점이 존재하는데 다음과 같다.
Advantages
parameter를 쉽게 계산할 수 있다.
non-linear method를 위한 initialization을 제공한다.
Disadvantages
바로 정확한 camera parameter를 제공하지 않는다. (오차가 있다)
Radial distortion을 고려하지 않는다.
이러한 문제점 때문에 현재에는 non-linear method를 쓰는 추세이다. Newton's method 또는 Non-linear optimization 등 다양한 방법으로 모델링하여 calibration을 하는 방법이 있다.
'Basic Learning > Computer Vision' 카테고리의 다른 글
Linear Filters (0) | 2020.10.08 |
---|---|
Color (0) | 2020.09.29 |
Shape from Shading & Photometric Stereo (0) | 2020.09.20 |
Radiometry (0) | 2020.09.18 |
Camera (0) | 2020.09.13 |