Camera Projection 이란?
이번 글에서는
Camera intrinsic parameters
에 대하여 살펴보겠습니다.
먼저
Camera projections 이란,
우리가 3차원 세상을
카메라를 통하여
관찰하고 최종적으로
2D image plane 에
저장하는 과정입니다.
즉, 실제 세상을 카메라로
촬영해서 어떻게 2차원으로 만들까요?

카메라는 수 많은
처리 과정이 있지만,
3D vision 에서 카메라 모델은
정말 단순한 핀홀 카메라
모델을 사용합니다.

카메라 센터(Phine hole)를 통과해서
이미지 센서까지의 거리를
focal length 라고 합니다.
상이 뒤집혀있기 때문에,
우리는 쉽게 이걸 앞으로
옮겨서 생각합니다.

Principal point (원점) 은
Calibration 에서 매우 중요한
역활을 한다는 것만 알아두고,
Calibration을 다룰 때
살펴 볼 예정입니다.
에펠탑 꼭대기의 3차원 좌표 X.Y.Z 를
표기하기 위한 좌표계는
Camera center 를
Principal point 로 두는 좌표계이고,
이미지 상에서 2차원
위치 x,y 를 표기하기 위한 좌표계는
이미지 가운데를
Principal point 로 두는 좌표계입니다.
즉, 어느 위치를 표기하기 위해,
기준점을 선택 해야 되고
선택된 기준점에 따라
좌표계가 결정되게 됩니다.
3D-2D 사이의 관계를 정의할 때,
어떤 카메라 모델을 사용하는지에
따라 방법이 바뀌게됩니다.
3D → 2D 투영 관계

옆면에서 아까 그림을
본다고 생각하고,
3D → 2D 사이의
관계를 찾아보겠습니다.
Focal length 만 있으면
3D 포인트를 2D 포인트로
닮은비를 이용하여
관계를 정의할 수 있습니다.

f 가 커지면 이미지에
맺치는 상이 커집니다.
그래서 전문가분들이
대포렌즈를 사용하시나 봅니다.
2D → 3D 복원 관계

따라서, 같은 ray 위의 모든 점의
projection(투영)값은 동일합니다.
이 말은 즉슨,
2D point 만으로 3D point 로
복원하는 것이 ambiguous 합니다.
(일치하는 답이 여러개)
즉, ill-posed problem 입니다.
Intrinsic Parameter 행렬의 구성요소

3D point 를 2D point 로 투영하기 위해
3D point 를 Homogeneous 좌표계로
변경해 보겠습니다.
차원을 추가하여 1을 넣고,
Intrinsic parameter
(내부 파라미터) 행렬을
곱해주면 Homogeneous 좌표계의
2D point 를 계산할 수 있습니다.
이것을 matrix multiplication 으로
나타낼 수 있습니다.

다시 처음부터 보겠습니다.
3D point 에서 2D point 로
projection 과정을 살펴보고 있습니다.
3D point 에서 Hogeneous 좌표계로
변경한 후,
내부 파라미터와 외부 파라미터를
matrix multiplication 으로 계산합니다.
갑자기 Intrinsic parameter,
Extrinsic parameter 가 등장합니다.
사실, Camera parameters 는
Intrinsic + Extrinsic 으로 구성됩니다.
이 글에서 외부 파라미터는
단순히 단위 행렬로
무시하겠습니다.
우리는 Intrinsic parameter 를 살펴보고 있으며,
현재까지 focal length 만 살펴봤습니다.

우리는 3차원의 (X,Y,Z) 점을 Homogeneous 로
변경하여 (X,Y,Z,1) 로 만들었습니다.
여기에 Camera parameters 를 곱해줍니다.
Extrinsic 은 일단 아무런 영향이 없는
행렬로 두었기 때문에
Intrinsic 만 고려하면 됩니다.
닮은비에 따라서 Image plane 위에서
(x,y) 좌표를 구할 수 있습니다.
그런데 사실 Image 좌표계는 주로
구석을 원점으로 둡니다.
우리는 이미지 가운데다
원점을 두었으니,
이것을 px,py 만큼 이동시켜서
구석으로 만들겠습니다.
Intrinsic 행렬에서
px, py는
‘어느 위치로 원점을 움직일 것인가’
에 대한 factor 라는 것을
확인할 수 있습니다.

사실, 닮은 비로만 계산을 하게 되면
우리가 (X,Y,Z) 좌표계에서 표현하던
Unit(단위) 를 그대로 사용하는 꼴이 됩니다.
따라서 알파를 곱해줘서
우리가 원하는 이미지 픽셀 Unit(단위) 로 변경하게 됩니다.
마지막으로 x축과 y축이 변할 때,
서로 연관성이 있는지 (= 하나가 움직이면, 같이 움직이나?)
관련된 factor 는 s 로 들어가게 됩니다.
이렇게
Camera intrinsic parameter 3×3 행렬의
모든 구성요소의 의미를
파악할 수 있게 됬습니다.
최종적으로,
정리하면 아래와 같습니다.

그런 건 난 잘 모르겠고,
Camera Intrinsic parameter 는
카메라 내부 특성을 설명하는 파라미터
참고자료
Slide credit : Joo Hanbyul
https://homes.cs.washington.edu/~seitz/talks/3Dhistory.pdf