Subjects/Computer Vision 6

Euler angles

Terminology Euler axis 회전의 기준이 되는 축 Euler pole Euler axis가 가르키는 방향 Euler angle Euler axis를 기준으로 한 rotation의 변화량 Sign convention clock-wise counter clock-wise (Usally used) Composition convention As matrix multiplication does not commute, order or rotation axes will affect the result Two successive rotations must be performed with different axes. There are 12 conventions for the combination of th..

[Camera model] Camera calibration

3차원 물체를 카메라로 관측하고, 이미지로 투영되는 과정을 생각해보자. 동일한 3차원 물체를 카메라로 촬영해서 나오는 결과 이미지가 모두 같을까? 절대 그렇지 않다. 동일한 3차원 물체를 관측해도 대포 카메라로 촬영하는 것과 고프로를 사용해서 촬영하면 결과 이미지가 다르다. 동일한 카메라를 사용한다 하더라도 사진을 어디서 찍느냐에 따라서 결과 이미지가 달라질 수 있다. 이것을 수학적으로 모델링 한 것이 바로 camera parameter이다. camera parameter는 또 다시 2가지로 구분 될 수 있는데, 카메라 자체에서 결정되는 intrinsic parameter와, 카메라의 자세를 통해 결정되는 extrinsic parameter로 구분할 수 있다. 위와 같은 camera parameter를 ..

[Camera model] Lens distortion

Pinhole 카메라에서는 straight line은 straight line으로 투영된다. 하지만 우리가 실제 사용하는 카메라는 pinhole 카메라와 다르게 렌즈를 통해 반사된 빛을 받는다. 따라서 우리가 사용하는 카메라는 렌즈에 의한 왜곡을 받게 된다. 왜곡은 straight line이 실제로 투영되었을 때 약간의 휘어짐을 갖는 채로 투영되게끔 한다. Distortion types 일반적인 왜곡의 종류는 크게 두 가지로 나눌 수 있다. Radial distortion Tangential distortion Radial distortion은 가장 일반적으로 나타나는 왜곡의 형태이다. Radial distortion은 카메라 렌즈의 굴절률에 의해 발생하고, 그렇기 때문에 principal point과의..

[Camera model] Pinhole camera

우리가 computer vision을 이해하기 위해서는 카메라의 동작에 대한 이해가 필수적이다. 카메라는 3D 공간의 물체를 투영하여 2D 카메라 센서에 상을 맺히게 한다. 우리는 그 과정을 이해하기 위해서 가장 기초적이고 ideal 한 경우인 pinhole 카메라 모델에 대해서 알아본다. Pinhole 카메라 모델이 가장 ideal 하다고 이야기 하는 것은 카메라 렌즈에 의한 왜곡이 고려되지 않기 때문이다. 렌즈로 인한 왜곡은 다음 포스트에서 살펴 보도록 한다. 그림에서 먼저 봐야 할 것은 카메라의 위치와 그 좌표축이다. 그림에는 카메라의 중심과, 중심을 기준으로 한 x, y, z축의 양의 방향이 표현되어 있다. 카메라 중심에서 정면 방향이 z축, 우측 방향이 x축, 하단 방향이 y축이다. 대부분의 일..

[Geometric primitives] 2D points, 2D lines, 2D conics

Computer vision을 잘 하기 위해서는 먼저 그 기초부터 탄탄해야 한다. 아쉽게도 그 과정에는 머리가 지끈거리는 수식들도 포함된다... zero-base로 시작하는 것이 마음이 착잡하지만... 한 번 해보자! 컴퓨터 비젼 하면 다들 카메라를 떠올릴 것이고, 카메라로부터 얻게된 이미지를 떠올린다. 실제로 존재하는 어떤 3차원 공간의 물체가 카메라를 통해 2차원 공간의 이미지에 투영되는 과정을 이해하기 위해서는 먼저 그들을 구성하는 geometric primitives에 대한 이해를 하고 있어야 한다. 이들은 앞으로 우리가 공부할 3차원 구조물들을 설명하기 위한 building block이 될 것이다. 먼저, 이번에는 그 중에 2D geometric primitives에 대해서 알아본다. 2D Po..