CS231A - Camera Models

deutan·2026년 1월 7일

CS231A

목록 보기
1/2

Introduction

CS231A는 기하학과 3D vision에 대한 이해를 다루는 코스이다.

비디오 강의는 제공되지 않았으며 PDF 및 과제만 업로드 되어 있다.

Course Overview

참고 자료

CS231A 자료

CS231A 과제 구현 Github

3D Vision Course Note


Camera Models

Abstract

카메라는 컴퓨터 비전 분야에서 가장 필수적인 요소이다.

우리가 다양하게 활용할 수 있는 세상을 남길 수 있는 사진이라는 출력을 하는 기계로서 동작한다.

따라서 어떻게 카메라를 모델링 할 수 있을지에 대한 공부를 하는 것은 컴퓨터 비전의 시작이다.


Pinhole Cameras

Normal Pinhole model


위 사진은 가장 간단하게 동작하는 카메라 모델인 Pinhole 모델이다.

3D Object의 각 지점에서 반사되는 빛은 무수히 많은 방향으로 반사된다.

만약 barrier가 존재하지 않는다면, film위의 모든 지점은 3D Object의 모든 지점으로 부터 반사된 많은 빛들에 의해 영향을 받아 제대로 된 상이 맺히지 않는다.

따라서 barrier를 통해 이 현상을 막고 작은 aperture를 통해 한개 또는 매우 적은 수의 광선많이 통과하여 film에 투영되도록 한다.

그리하여, 3D Objectfilm 간의 일대일 매핑이 가능해진다.

이렇게 film에 투영된 것이 3D objectimage가 된다.

Formal Construction of pinhole model


Formal construction of the pinhoe camera model
Normal model을 수식으로 계산할 수 있도록 체계화 한 기하학/수학적 모델이다.

용어부터 살펴보면

  • film -> image or retinal plane
  • aperture -> pinhole: O or center of the camera
  • Distance between film and aperture -> focal length: f

가끔 image3D objectO 사이에 생기는 것은 virtual image 또는 virtual retinal plane이라고 한다.

이때 imagevirtual image는 크기와 방향만 다르고 기학적으로는 완전히 동일하며 정보의 손실이 없는 똑같은 이미지이다.

그렇다면 우리는 어떻게 핀홀 모델을 사용할 수 있을까

P = [x,y,z]T[x, y, z]^T 라는 3D Object 위의 한 점을 가정해보자.

P는 image plane 상에 P' = [x,y]T[x', y']^T으로 투영될 것이다.

또한 Pinhole O는 image plane에 C'으로 투영된다.

우리는 핀홀이 원점인 [i,j,k][i, j, k] 동차좌표계 시스템을 정의할 수 있으며, k축에 대한 깊이 방향만 결정하면 이에 수직인 평면 이미지에서 가로와 세로방향을 결정하면 된다.

이때 k축은 O와 C'를 잇는 광학축(Optical axis)이라고 부른다.

우리는 삼각형의 닮음비를 이용하여 P'을 [f(X/z),f(Y/z)][f*(X/z), f*(Y/z)]로 표현할 수 있다.

이때 z는 O와 물체사이의 거리이다.

여기까지의 가정은 aperture가 한 점이라는 것이었다.

하지만 실세계에서는 무한하게 작도록 만들 수 없으니 우리는 다양한 크기에서의 변화를 살펴볼 수 있다.


aperture의 사이즈가 커짐에 따라 더 많은 광선이 통과하기 때문에 이미지가 밝아지지만 선명도가 감소하는 블러 현상이 발생한다.

Modern Camera

Cameras and lenses

현대의 카메라는 이러한 선명도와 밝기의 trade-off를 해결하기 위해 렌즈 사용을 도입했다.

점 P에서 방출된 모든 빛이 렌즈를 통해 굴절되어 P'에서 융합된다.


이런 심플한 렌즈 모델은 사방으로 퍼지는 광선을 한 점으로 정확히 모여 초점이 맞았다는 표현을 사용할 수 있지만,
특정 거리에 있는 물체에만 완벽히 작동하기 때문에 다른 거리에 있는 점에 대해서는 흐린 물체로 보인다.

이러한 렌즈의 특성때문에 P보다 멀거나 가까운 점 Q에 대해서는 정환학 물체를 담아낼 수 없기 때문에 컴퓨터 그래픽스나 사진학 같은 곳의 개념에서는 depth of field 라는 컨셉으로 알려져 있으며 선명한 사진을 담기 위한 효과적인 거리 범위이다.

Paraxial refraction model


이 모델은 렌즈의 복잡한 특성을 중심은 직진하고 광학축과 평행하게 들어오는 빛은 초점으로 모인다는 두가지 규칙으로 단순화 하여, 핀홀 모델과 유사하게 투영공식을 적용하면서도 초점film사이의 거리 z0z_0을 이용해 z=f+z0z'= f+z_0 정의한다.

이 모델은 실제 물리적 현상을 단순화하여 가정하기 때문에 오차가 발생한다.

렌즈를 아주 얇고 모든 빛이 광학축에 가까운 각도로 들어온다고 가정하지만, 실제 렌즈는 두께가 있으며 빛이 통과하는 렌즈의 부위마다 초점거리가 미세하게 다르기 때문에 방사 왜곡이 생긴다.

방사 왜곡(Radial Distortion)이란 렌즈의 결함이나 물리적 특성으로 인해 이미지의 배율이 광학축 중심에서의 거리에 따라 달라지는 현상이며, 이미지에서 멀어질수록 배율이 감소하는 Barrel Distortion과 멀어질수록 배율이 증가하는 Pincushion Distortion이 있다.

Digital Image Space

이 부분에서는 우리가 3D 공간에서 디지털 이미지로의 투영을 모델링할 때 자세히 다루어야 할 parameter에 대해 이야기하고자 한다.

앞에서 보았던 R3>R2R^3 -> R^2 투영을 Projective transformation이라고 부른다. 하지만 몇 가지의 이유로 인해 실제 디지털 이미지에서 우리가 보는 것과 직접적으로 일치하지는 않는다.

첫째, 디지털 이미지의 점들은 일반적으로 이미지 평면과 다른 기준 좌표계를 가진다.

둘째, 이미지 평면의 점들은 연속적이지만, 디지털 이미지는 이산적인 픽셀로 나뉜다

셋째, 실제 물리 센서는 매핑 과정에서 왜곡과 같은 비선형성을 유발할 수 있다.

Camera Matrix Model and Homogeneous Coordinates

  • 디지털 이미지의 시작 좌표는 통상적으로 왼쪽 하단 또는 상단이기 때문에 정중앙인 광학좌표계와 맞추기 위한
    선형이동 offsetCxC_x, CyC_y가 필요하다.

  • 이미지 평면에서의 실제 cm, mm 등의 거리를 픽셀단위로 맞춰줘야 한다.
    k와 l이 각각 x, y축의 이미지 픽셀 밀도로써 k = l이면 픽셀이 정사각형임을 의미한다.
    또한 k와 l에 물리적 초점거리 f를 곱하여 픽셀단위의 초점거리를 만든다.

    α=fk\alpha = f \cdot k
    β=fl\beta = f \cdot l

이러한 변환들을 우리는 선형변환을 통해 빠르게 수행하고 싶지만, z로 나누는 연산은 선형변환이 아니기 떄문에 우리는 Homogeneous coordinate를 도입할 수 있다.

Homogeneous Coordinates

profile
Visual Computing and Learning

0개의 댓글