Camera Calibration이 항상 헷갈려서 이번 기회에 제대로 정리해보고자 합니다.

카메라 좌표계

카메라 좌표계

먼저 Camera Calibration이 진행 되었다는건, 무슨 의미일까요?

이는 카메라의 Intrinsic, Extrinsic값을 구했다라는 것을 의미합니다.

 

그런데, 도대체 Intrinsic과 Extrinsic을 구했다라는건 뭘의미하길래 Calibration이 진행 되었다고 하는걸까요?

바로 이값을 안다면 우리는 아래의 식을 활용하여 픽셀 좌표계의 p(x, y)를 월드 좌표계 P(X, Y, Z)로 역변환을 할 수 있기 때문입니다.

 

World to Pixel transformation

 

카메라 내부 파라미터는 아래와 같이 나타낼 수 있습니다.

  1. f_x, f_y : 초점거리(focal length),
  2. c_x, c_y: 주점(Principal Point)
  3. skew: 비대칭 계수

* 여기서 주의해야할 부분은 f_x는 mm단위가아닌 pixel단위라는 것 입니다. 보통 초첨거리 f 는 mm단위로 표현하지만,

Calibration을 통해 얻은 값은 Pixel단위로 나타내고 이를 활용하게 됩니다.

 

예를들어 streo camera depth estimation을 진행할때 f를 mm단위로 사용하면 엉뚱한 값을 얻게 되기 때문입니다.

*이는 다음에 더 자세히 다루겠습니다.

Stereo Depth Estimation

$$ Z = \frac{fb}{d} $$

  • f: 초점거리, b: base line, d: disparity

Homogeneous Coordinates

Homogeneous Coordinates는 (x, y) -> (x, y, 1)과 같이 나타내는 것을 의미합니다. 왜 필요한지 결론 부터 얘기드리면 카메라는 Projective Geometry 즉 사영 기하학을 다루고 있는데 이는 3d 정보를 2d정보로 나타내기때문에 필요한 좌표계입니다.

 

3차원 공간에 있는 점을 2차원으로 사영시킨 점을 사영점이라하고 카메라 초점으로 두선을 만들면 한 ray가 생기게 되는데 그 ray상의 모든 점을 표현하기 위한 방법이 Homogeneous Coordinates입니다. (카메라 좌표계 그림을 참고 바랍니다.)

 

핀홀 모델

Camera pinhole model

보통 카메라 핀홀모델이란 단순한 모델로 카메라를 이해하는 것으로 시작합니다. 카메라 핀홀 모델은 모든 빛은 한 점을 직선으로 통과하여

센서에 투영된다는 모델입니다.

 

Projection model

위와 같이 핀홀모델의 Projection model을 표현할 수 있는데, Image plane, Normalized plane이

원점 뒤에 그려져야 하지만 보통 편의상 앞으로 그려지곤합니다.

 

이때, 이미지 Pixel x, y를 알고, Calibration을 통해 u, v를 얻고, 추가적인 정보가 있다면,

  1. 모든 포인트는 바닥에있다.
  2. 한장의 더이미지가 있고 두카메라 사이의 base line을 알고있다.

우리는 마침네 월드 좌표계인 X, Y, Z를 계산할 수 있게됩니다. 이러면 Calibration에 대해 전반적인 내용을 이해하실 수 있게됩니다.

 

+ Recent posts