[Perception Application] 1. Camera Model
- 자율주행에서 perception은 주행 환경을 인지(인식 + 이해)하는 과정으로 유의미한 정보를 생성하는 단계가 필요하다
- vision의 경우, 이미지 영역에서 객체를 인식하는 것이 아닌 객체와 차량의 관계를 파악하는 것이 중요하다
- object의 3차원 위치 정보가 중요하다 -> 3D POSE Estimation
- POSE = position + orientation
Camera Model
- 카메라는 3차원 공간인 world에 존재하는 object를 2차원 공간인 이미지 평면에 projection(투영)하는 센서인다
- camera model은 카메라의 투영 과정을 수학적으로 표현한 것이다
- 카메라는 3차원 공간에 존재하는 물체에 반사된 빛을 기록하는 장치이다
- 빛은 실제로 많은 곳에서 출발하고 사과는 빛을 난반사한다
- 이런 경우 카메라에 찍히는 것은 사과가 아니라 이상한 이미지 일 것이다
- 따라서 빛이 들어오는 구멍(pinhole)을 작게 만들어 난만사된 빛이 들어오기 못하도록 하면 선명한 이미지를 얻을 수 있다
- 반사된 빛과 pinhole의 관계에 따라 이미지의 크기가 다르게 보인다
- 가까이서 촬영하면 크게 보이고, 멀리서 촬영하면 작게 보인다
Pinhole Camera Model
projection matrix
s⎣⎢⎡uv1⎦⎥⎤=⎣⎢⎡fx000fy0cxcy1⎦⎥⎤⎣⎢⎡r11r21r31r12r22r32r13r23r33t1t2t3⎦⎥⎤⎣⎢⎢⎢⎡XYZ1⎦⎥⎥⎥⎤
⎣⎢⎡fx000fy0cxcy1⎦⎥⎤=intrinsic_matrix
⎣⎢⎡r11r21r31r12r22r32r13r23r33t1t2t3⎦⎥⎤=extrinsic_matrix
- u, v : 이미지에서의 좌표
- s : 카메라의 scale factor
- X, Y, Z : 3D world에서 object의 위치
- intrinsic : 카메라 자체의 특성
- extrinsic : 카메라와 어떤 대상과의 관계 (회전, 평행이동)
다양한 camera model
fisheye camera model
- fisheye camera는 180도 이상의 시야를 촬영할 수 있다
weak perspective model
- depth plane이라는 공간으로 object를 평행이동 시킨 후 투영하는 구조