Search
🌍

deer.a2_2.1_2.1.1__1. title: 그래픽스의 projection matrix 와 컴퓨터 비전의 projection matrix 는 다르다.

🚀 prev note
♻️ prev note
🚀 next note
17 more properties
컴퓨터 그래픽스를 다루는 많은 글들에서 시점투영행렬(perspective projection matrix) 또는 시점투영변환(Perspective Projection Transform)투영행렬(Projection matrix) 또는 투영변환이라고 불러 버린다(참고5). 그런데 컴퓨터그래픽스에서 다루는 개념들이 (컴퓨터비전에서) 핀홀카메라 모델을 설명하며 나타나는 개념들과 1:1 대응되지 않아서 혼동을 만든다. 두 학문에서 공통적으로 나타나는 투영행렬/투영변환 이라는 것을 다룰 때 특히 더 그렇다.
컴퓨터 비전에서 3x4 형태의 3D → 2D 관계를 모델링하는 행렬은 (참고3) 카메라행렬(camera matrix) 또는 투영행렬(‣ Projection matrix) 이라고 불린다. 현실세계:3D → 이미지:2D 관계를 모델링하려면, 현실세계에서 카메라가 어디에 위치하는지의 관계를 담은 camera extrinsic matrix 와 카메라 내에서 이미지평면이 어디에 위치하는지 정보를 담은 camera intrinsic matrix 를 모두 알고 있어야 한다(참고1). 즉, camera matrix 는 camera extrinsic matrix 와 intrinsic matrix 의 곱이다(참고2).
컴퓨터 비전에서 월드좌표에 카메라 행렬(camera matrix)을 곱하는 과정은 컴퓨터 그래픽스 파이프라인(참고6)의 world space → view transform → camera space (eye space) → 투영변환(projection transform) → clip space 과정과 유사하다고 볼 수는 있지만 분명히 동일한 과정이라고 보기는 어렵다. Camera extrinsic matrix 를 곱하는 과정을 view transform 이라고 보고 camera intrinsic matrix 를 곱하는 과정을 투영변환(projection transform) 에 대응시켜볼 수는 있지만 절대 동일하지 않다는 이야기이다. 일례로 eye space 에는 픽셀이라는 개념이 수반되지 않는다. 따라서 컴퓨터 그래픽스 파이프라인의 투영변환행렬에는 focal length(초점거리) ff 나 principal point (주점) cc 같은 것들에 대한 정보가 일체 필요하지 않는다는 특징이 있다 (참고4). 반면 camera matrix 의 구성요소인 camera intrinsic matrix 에는 초점거리, 주점 정보 등이 포함되어 있다.
컴퓨터그래픽스의 perspective projection matrix 는 3D → 2D 관계를 모델링하지 않는다는 점에서도 차이를 보인다. 컴퓨터그래픽스의 perspective projection matrix 는 3D → 3D 관계를 모델링하며 eye space 의 view frustum 과 NDC 사이의 관계를 모델링한다 (참고4).
supplementary
참고
6.