- Charuco board detection을 통해 모든 카메라의 intrinsic parameter initialization
- N-point technique을 통해 관측되는 board에 대한 camera pose에 대해 추정
- Single image에서 보이는 board 간의 transformation 계산 후 merge(=3D object)
- 유사한 3D objects를 보는 카메라들을 그룹화
- Non-overlapping camera group 간의 calibration
관측된 board에 대한 모든 카메라의 상대적인 pose를 추정한다.
RANSAC을 통해 오차가 큰 outlier는 제거하며 PnP 알고리즘을 통해 와 를 구한다.
Inlier points는 Levenberg-Marquardt non-linear refinement에서 사용되어 board에 대한 camera의 pose를 조정하는데 활용된다.
위와 같은 reprojection error를 통해 refine 되며 는 board에서 보이는 corner의 수를 의미한다.
Intrinsic, extrinsic parameter에 대한 초깃값을 얻은 뒤에는 위와 같은 cost function을 통해 두 파라미터를 함께 refinement 한다.
와 는 각각 번째 카메라에서 관측되는 프레임의 수와 board의 수를 의미한다.
는 Huber loss로 outlier에 대한 robustness를 가지기 위해 사용한다.
공통의 FoV가 없는 non-overlapping camera group이 남아있는 경우 hand-eye calibration을 활용한다.
프레임에 에서 으로 가는 변환과 프레임에 돌아오는 변환으로 루프를 만들어 를 구할 수 있다.
프레임에 에서 으로 가는 변환과 프레임에 돌아오는 변환으로 루프를 만들어 를 구할 수 있다.
모든 프레임에 대해 일반화할 수 있으며 의 형태가 된다.
Rotation equation으로부터 을 먼저 구한 뒤 translation equation을 통해 까지 구할 수 있다.