핀홀 카메라 모델(pinhole camera model)
CS231A: Computer Vision, From 3D Reconstruction to Recognition (stanford.edu)
CS231A: Computer Vision, From 3D Reconstruction to Recognition
web.stanford.edu
CS231A 수업의 요약본을 정리했습니다.
컴퓨터 비젼이나 영상 처리 등의 분야에서는 현실 공간(3D)에서 이미지 공간(2D)으로 영상 데이터를 받아옵니다.
핀홀 카메라 모델은 카메라 구경(aperture) 크기가 최소인 상황에서 3D 물체의 점들이 2D 이미지 평면에 투영되는 관계를 설명하기 위한 모델입니다.
핀홀 카메라는 아주 작은 카메라 구경(aperture)로 빛이 통과한다고 가정합니다.
그래서 현실의 3D 물체와 film에 맺히는 2D 이미지가 1:1로 매칭된다고 생각할 수 있습니다.
이미지 평면(image or retinal plane): 상이 맺히는 film(Π')
center of the camera(O): the aperture(O)
focal length f: 카메라 중심과 이미지 평면 간의 거리
virtual image(virtual retinal plane): 이미지 평면이 카메라 중심(O)와 3D 물체 사이에 있을 때
이미지 평면으로의 projection은 f에 따라 스케일이 변한 projection으로 볼 수 있습니다.
3D 물체의 점 하나 P를 아래와 같이 3차원 좌표로 정의할 수 있습니다.
$$ P = \left[ x \ y \ z \right] ^ T $$
P가 이미지 평면에 매핑된 점을 P'라 하면, 2D 이미지 상의 좌표는 아래와 같이 정의할 수 있습니다.
$$ P' = \left[ x' \ y' \right] ^ T $$
C': 카메라 중심(O)가 이미지 평면에 투영된 점
카메라 좌표계(camera coordinate system): 카메라 중심(O)을 원점으로 갖는 좌표계. [ i j k ]
optical axis: C'과 O를 잇는 선
핀홀 카메라 모델에서, 3D 물체의 점, 카메라 중심O, 2D 이미지 평면에 투영된 점 P'는 삼각법으로 관계를 설명할 수 있습니다.
$$ \frac{x'}{f} = \frac{x}{z}, \frac{y'}{f} = \frac{y}{z} $$
$$ P' = \left[ x' \ y' \right]^T = \left[ f \frac{x}{z} \ f \frac{y}{z} \right]^T$$
여기까지 aperture 크기를 최소로 가정했습니다.
aperture 크기가 작을수록 선명한 상이 맺히지만 빛이 조금들어와서 이미지가 어둡고,
aperture 크기가 크면 상이 선명하게 맺히지는 않지만 빛이 많이 들어와서 이미지가 밝습니다.
실제 카메라에서는 상이 선명하게 맺히면서 이미지가 밝게 하기 위해 렌즈를 사용합니다.