Extrinsic Parameters
•
Real World coordinate 를 카메라마다의 위치에 맞게 camera coordinate 로 변경해주는 작업이 필요함 → Rotation + Translation
◦
•
Extrinsic: World coordinate → Camera coordinate
•
Intrinsic: 3D → 2D
•
Camera Calibration: obtaining
•
, …
Cameras at Infinity: Affine Camera
•
카메라가 물체와 굉장히 먼 거리가 떨어져 있을 때 (
•
Depth 에 대한 정보가 의미가 없을 정도로 거리가 멀어 본래 거리가 가까울 수록 크고 멀수록 작았던 perspective effect 가 사라짐! → parallel line 이 parallel 함
•
Finite Camera (Perspective)
•
Affine Camera
◦
Affine
◦
Weak Perspective
◦
(scaled) Orthographic
◦
Parallel line 이 여전히 parallel 함 (Affine Transform)
◦
가 커지면 Weak Perspective (이미 엄청 큰 와 그에 비해 작은 가 있을 때, 의 위치의 obejct 를 그냥 의 projection 으로 가정해버림) 와 Perspective 의 차이가 0 에 한없이 가까워짐!
•
Orthographic Projection
◦
Scaled Orthographic Projection
•
Weak Perspective Projection
•
Affine Projection
Camera Calibration
•
Goal 은 () 를 찾는 것
•
크게 두 가지 방법 (1) Direct Linear Transform 과 (2) Zhang’s Method 이 있음
Direct Linear Tranform(DLT) for Camera Calibration
•
Homography 를 estimate 할 때 사용했던 방법과 사실상 동일함
◦
DoF 가 11 이기 때문에 6 개의 coreesponding points 가 필요함
◦
즉, 알려진 3D structure 를 두고 이미지를 찍은 뒤, corresponding point 들을 찾고 DLT 를 해결함
•
하지만, 는 3D 를 2D 로 변환하는 matrix 이지 world coordinate 를 Camera coordinate 로 바꿔주는 matrix 는 아님 → 로부터 를 뽑아내는 과정이 필요함!
Decomposition of the Camera Matrix
•
•
•
구하기
◦
이므로, 는 의 null space 로 구할 수 있음! (SVD 사용)
•
, 구하기
◦
의 좌측 은 이므로, 의 left 를 RQ Decomposition 을 하여 각각의 , 을 구해냄
◦
RQ Decomposition 의 결과로 나오는 Q 는 orthogonal, R 은 upper triangular matrix 로, 이 orthogonal 이고 가 upper triangle 이라는 점이 완벽히 일치함
•
구하기
◦
로 구함
Zhang’s Method
•
실제 상황에서 3D pattern 을 준비하는 것은 어려움.
•
Checkerboard 같은 2D pattern 을 준비하는 것이 훨씬 많이 사용됨!
Epipolar Geometry
•
두 calibrated 된 camera pose 에서 하나의 object 를 촬영하는 상황에서 두 camera center 와 object 지점은 coplanar 라는 평면을 이룸
Triangulation
•
Multiview 에서 촬영한 이미지를 기반으로 3D 를 reconstruction 하려는 시도를 생각해볼 수 있음!
•
Reconstruction 을 하려면 물체가 움직이지 않아야 함, 만약 움직인다면 두 카메라가 synchronized 되어 있어서 동시에 이미지를 찍으면 reconstruction 가능함
•
Camera center 에서 이미지의 corresponding point 로 ray 를 쏘면 한 지점 에서 만날 것을 기대할 수 있음.
◦
실제로는 잘 안되기 때문에 각각의 ray 위에 최대한 놓이는 것을 목표로 구해낼 수 있음!
◦
아래는 3D 지점 가 camera 1 에 의해서 에 맺힌 상황을 나타낸 것임
▪
◦
최종적으로 외적 연산을 풀면 다음과 같은 수식이 나옴
◦
위처럼 하나의 view 마다 와 의 곱셈 형태로 식을 만들 수 있음
◦
는 3 DoF 이므로 2 개의 view 가 있으면 를 찾아낼 수 있음!
Non-linear Optimization
•
Triangularization 에서 실제로 원하는 것은 구해낸 3D point 를 다시 reprojection 했을 때의 상의 error 가 최소화가 되는 3D point 임
•
DLT 만으로도 가능하지만 (Algebraic Error 만 고려) DLT 로 initialize 하고 reprojection error 를 줄이는 방향으로 optimize 를 계속 해나가야 함! (ex. gradient descent)
Triangluation Uncertainty
•
3D reconstruction 에서 long baseline 이 좋을까 short baseline 이 좋을까?
•
Long Baseline
◦
Pros: 같은 2D plane 상의 error 더라도 depth uncertainty 가 낮기 때문에 reconstruction 이 덜 noisy 함 → Short Baseline 의 Cons
◦
Cons: Feature Matching 을 찾는 것이 어려움 → Short Baseline 의 Pros
Perspective-n-Point (PnP)
•
3D 와 2D 의 corresponding 이 주어졌을 때 camera pose () 를 찾는 문제
•
는 주어졌다고 가정함 (calibrated camera)
•
모델이 주어졌고, camera location 을 찾을 때 사용됨!
Structure-from Motion
•
이미지만 가지고 3D 를 재구성할 수 있음
•
각각의 시간 때에 가 자동적으로 계산됨 → 3D point 가 triangulation 으로 계산됨
•
Photo Tourism
◦
엄청 많은 이미지를 인터넷에서 모으고, correspondence 를 SIFT 등으로 구하고 matching 을 시킨 후에 camera calibration 을 하고 3D reconstruction 을 함!