Intrinsic parameters

 

how to calculate focal length & image center

 

horizon = line at infinity

- horizon gives us the full information aboue how the ground plane is oriented with respect to the camera

 

 

정면에서 제대로 보고 있다면 horizon(주황선)이 이미지 중앙에 있었을 것

하지만 tilted 되었기 때문에 소실점 C도 이미지 밖 image plane 어딘가에 있게 됨

 

세 소실점 A, B, C의 관계는?

horizon이 카메라의 방향(how oriented your camera is)에 달린 거라면, 

소실점 C가 어디에 있는지 정확히 알 수 있어야 함 - C는 vertical lines 가 카메라에 대해서 어떤 방향인지 알려주고 있기 때문

하지만 그렇지 않음; focal length가 얼마나 되는지, image center가 어디에 있는지에 따라서 소실점의 위치가 달라짐

따라서 A, B를 통해 고정된 C의 위치를 정확하게 알 수 있는 것은 아님, focal length와 image center도 알아야 함

 

거꾸로, C가 주어졌을 때 calibration 없이 어떻게 focal length와 image center를 구할 수 있을까?

 

 

- 이미지에 projection center 를 추가 (lens가 있는 곳) --> 점O

- 소실점들이 직교평행선으로부터 오기 때문에, 점O로부터 각 소실점으로 파란선을 그었을 때 각도는 90도가 된다

- 사면체(tetrahedron) OABC, 삼각형 ABC, projection center 점 O 를 활용해서 image center를 계산하기

 

- 삼각형들의 높이끼리 교차하는 점 H을 체크한다 - 삼각형 ABC의 orthocenter(수심)

- 유클리디안 기하학에서, 사면체가 있을 때 꼭짓점 O와 수심H 을 잇는 선(빨강)을 그렸을 때, 이 선은 image plane 에 대해서 수직을 이루게 됨

- 즉 projection center에서 수직으로 뻗어가는 유일한 선이 곧 optical axis 임

- optical axis와 image가 교차하는 지점이 image center가 됨

 

- 이제 focal length도 구해보자 (빨간 선의 길이!)

- 보조선 h을 그린다: projection center O에서 점 D 를 잇는다

--> 직각삼각형 OAB의 높이 보조선 h 에 대해서 " h 제곱 = d1 * d2 "

--> 직각삼각형 OHD에서 피타고라스 정리 " h제곱 = d3제곱 + f제곱"

--> 즉 " d3제곱 + f제곱 = d1 * d2 ", " f제곱 = d1 * d2 - d3제곱 "

--> d1, d2, d3는 픽셀 단위로 측정할 수 있는 수치

 

 

복사했습니다!