Camera Intrinsic Parameters : 카메라 내부 파라미터 완벽 정리

Camera Projection 이란?

이번 글에서는
Camera intrinsic parameters
에 대하여 살펴보겠습니다. ​

먼저
Camera projections 이란,
우리가 3차원 세상을
카메라를 통하여
관찰하고 최종적으로
2D image plane 에
저장하는 과정입니다. ​

즉, 실제 세상을 카메라로
촬영해서 어떻게 2차원으로 만들까요?

1 핀홀카메라

​ 카메라는 수 많은
처리 과정이 있지만,

3D vision 에서 카메라 모델은
정말 단순한 핀홀 카메라
모델을 사용합니다.

2 프로젝션

카메라 센터(Phine hole)를 통과해서
이미지 센서까지의 거리를
focal length 라고 합니다.

​ 상이 뒤집혀있기 때문에,
우리는 쉽게 이걸 앞으로
옮겨서 생각합니다.

3 프로젝션

Principal point (원점) 은
Calibration 에서 매우 중요한
역활을 한다는 것만 알아두고,

Calibration을 다룰 때
살펴 볼 예정입니다. ​

에펠탑 꼭대기의 3차원 좌표 X.Y.Z 를
표기하기 위한 좌표계는
Camera center 를
Principal point 로 두는 좌표계이고,

​ 이미지 상에서 2차원
위치 x,y 를 표기하기 위한 좌표계는
이미지 가운데를
Principal point 로 두는 좌표계입니다.


​ 즉, 어느 위치를 표기하기 위해,
기준점을 선택 해야 되고

선택된 기준점에 따라
좌표계가 결정되게 됩니다.


​ 3D-2D 사이의 관계를 정의할 때,
어떤 카메라 모델을 사용하는지에
따라 방법이 바뀌게됩니다.











3D → 2D 투영 관계

4 닮은비

옆면에서 아까 그림을
본다고 생각하고,

3D → 2D 사이의
관계를 찾아보겠습니다. ​

Focal length 만 있으면
3D 포인트를 2D 포인트로
닮은비를 이용하여
관계를 정의할 수 있습니다.

5 Focal Length

f 가 커지면 이미지에
맺치는 상이 커집니다. ​

그래서 전문가분들이
대포렌즈를 사용하시나 봅니다. ​














2D → 3D 복원 관계

6 내부 파라미터

따라서, 같은 ray 위의 모든 점의
projection(투영)값은 동일합니다.

​ 이 말은 즉슨,
2D point 만으로 3D point 로
복원하는 것이 ambiguous 합니다.
(일치하는 답이 여러개)

즉, ill-posed problem 입니다.


Intrinsic Parameter 행렬의 구성요소

7 카메라 내부 파라미터

3D point 를 2D point 로 투영하기 위해
3D point 를 Homogeneous 좌표계로
변경해 보겠습니다. ​

차원을 추가하여 1을 넣고,
Intrinsic parameter
(내부 파라미터) 행렬을
곱해주면 Homogeneous 좌표계의
2D point 를 계산할 수 있습니다.

이것을 matrix multiplication 으로
나타낼 수 있습니다. ​

8 내부 파라미터

다시 처음부터 보겠습니다.

​ 3D point 에서 2D point 로
projection 과정을 살펴보고 있습니다.

​ 3D point 에서 Hogeneous 좌표계로
변경한 후,

내부 파라미터와 외부 파라미터를
matrix multiplication 으로 계산합니다.

​ 갑자기 Intrinsic parameter,
Extrinsic parameter 가 등장합니다.

​ 사실, Camera parameters 는
Intrinsic + Extrinsic 으로 구성됩니다. ​

이 글에서 외부 파라미터는
단순히 단위 행렬로
무시하겠습니다.

우리는 Intrinsic parameter 를 살펴보고 있으며,
현재까지 focal length 만 살펴봤습니다. ​

9 up to scale

우리는 3차원의 (X,Y,Z) 점을 Homogeneous 로
변경하여 (X,Y,Z,1) 로 만들었습니다.

​ 여기에 Camera parameters 를 곱해줍니다. ​

Extrinsic 은 일단 아무런 영향이 없는
행렬로 두었기 때문에
Intrinsic 만 고려하면 됩니다. ​

닮은비에 따라서 Image plane 위에서
(x,y) 좌표를 구할 수 있습니다. ​

그런데 사실 Image 좌표계는 주로
구석을 원점으로 둡니다. ​

우리는 이미지 가운데다
원점을 두었으니,

이것을 px,py 만큼 이동시켜서
구석으로 만들겠습니다. ​

Intrinsic 행렬에서
px, py는
‘어느 위치로 원점을 움직일 것인가’
에 대한 factor 라는 것을
확인할 수 있습니다.

10 닮은비 계산

사실, 닮은 비로만 계산을 하게 되면
우리가 (X,Y,Z) 좌표계에서 표현하던
Unit(단위) 를 그대로 사용하는 꼴이 됩니다.

​ 따라서 알파를 곱해줘서
우리가 원하는 이미지 픽셀 Unit(단위) 로 변경하게 됩니다.

​ 마지막으로 x축과 y축이 변할 때,
서로 연관성이 있는지 (= 하나가 움직이면, 같이 움직이나?)
관련된 factor 는 s 로 들어가게 됩니다. ​

이렇게
Camera intrinsic parameter 3×3 행렬의
모든 구성요소의 의미를
파악할 수 있게 됬습니다.

​ 최종적으로,
정리하면 아래와 같습니다.

11 최종









그런 건 난 잘 모르겠고,
Camera Intrinsic parameter 는
카메라 내부 특성을 설명하는 파라미터 ​














참고자료

Slide credit : Joo Hanbyul

https://homes.cs.washington.edu/~seitz/talks/3Dhistory.pdf

댓글 남기기