본문 바로가기

Basic Learning/Computer Vision

Camera Calibration

 

* 이 포스트는 컴퓨터 비젼에 대한 개인 학습용으로 작성한 포스트입니다.

 

 

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