0. 이 글을 들어가면서...


https://s3-us-west-2.amazonaws.com/secure.notion-static.com/302f629b-8c5b-4c05-bc2a-b95eae35b11b/Untitled.png

"카메라는 어떻게 3D 공간을 2D 이미지로 담는가?" 라는 질문에는 두가지로 답을 할 수 있다.

  1. 광학과 센서의 시각에서 카메라 하드웨어의 작동 원리를 설명할 수 있다.
  2. 수학적인 방법으로 어떻게 3D 공간의 정보를 2D 이미지로 맵핑할지에 대해 이야기 해볼 수 있다.

3D 공간에 대한 정보를 2D 이미지로 담아올 수 있다면, 역으로 우리는 이미지로부터 3D 공간을 이해할 수 있다. 그리고 이를 가능하게 하는 장비가 카메라다. 과거부터 현재까지 수많은 카메라 하드웨어 연구와 수학적 모델링 연구가 수행되었다. 그 중, 카메라의 수학적 모델링을 위해 사영기하학 (projective geometry)을 통한 공간 계산 방식이 많이 사용되었고, 이와 함께 homogeneous coordinates 계산 방식이 발전하였다. 카메라 모델링에 Projective geometry와 homogeneous coordinates를 사용하는 것이 굉장히 당연하게 여겨졌고, 이후 이 방법을 사용하지 않는 카메라 모델링 방법은 거의 없다고 봐도 무방할 정도로 컴퓨터 비전의 기본 지식으로 자리잡혔다.

컴퓨터 비전을 조금 공부해보신 분들은 camera matrix, projection matrix, extrinsic, intrinsic 과 같은 단어를 접해보셨을 것이다. Rigid body motion을 표현할 때는 4 x 4 homogeneous matrix를 사용하는 것도 아실 것이다. (지금 이 단어들을 처음 보는 것이라도 전혀 문제가 없다). 카메라 모델링을 공부할 때 접하게 되는 단어들인데, 보통 컴퓨터 비전 강의를 들으면 1시간 남짓한 시간에 이 모든 것을 전부 다 설명하고 넘어가며 이후에는 다시 언급하지 않는다. 필자도 카메라 모델링을 처음 공부할 때는 이것들이 너무 당연하다고 생각하고 넘어갔었다. 하지만 시간이 지나면서 조금씩 궁금한 점들이 생겼다.