카메라 캘리브레이션

 

대충 알고있는것처럼, 카메라가 가진 내부 파라미터와 외부 파라미터를 구하는 것을 의미한다.

여기서 내부, 외부(intrinsic, extrinsic) 파라미터가 뭔지 알아보자

 

내부파라미터 (intrinsic parameter)

 - 3차원 공간상에 존재하는 것들을 2차원 이미지 평면에 투영시키기 위해 필요한 파라미터들이다.

카메라라는 장비가 만들어지면서 가지게되는 내부적인 정보와 오차를 의미한다.

카메라의 구조는, 보통 렌즈가 있고 렌즈를 통해 CCD패널(빛이 맺혀 전기적 신호로 바뀌는 평평한 패널)에 빛이 맺히게 된다.

그럼 CCD는 빛을 컴퓨터가 이해할 수 있는 신호로 변환하고, 이것이 바로 영상이 되는 것이다.

 

우선, 렌즈는 구와 같이 동그란 돔의 형태를 띄고 있다, 하지만 인간은 완벽한 구를 만들 수 없다. 때문에, 실제 환경에 대한 왜곡(distortion)은 항상 있을 수 밖에 없다.

따라서, 우리는 캘리브레이션(보정)을 통해서 어느정도 왜곡된 것을 보정할 수 있다.

렌즈에 의해 왜곡되는 것을 렌즈 왜곡이라하고, 이것은 구의 형태이기때문에 테일러 급수로 표현이 가능하다.

  - 테일러 급수가 무엇인지는 나중에

 

또 다른 내부 파라미터는 바로 Focal Length이다.

이것은 CCD패널과 렌즈 중심까지의 거리를 의미한다.

이것에 따라 Zoom In, Zoom Out등이 가능하다. Focal length가 얼마이느냐에 따라서 외부 파라미터를 구할 때 그 값이 결정된다.

 

또 필요한 것은 이미지 센터(image center)이다.

이것은 CCD패널에 빛이 맺힐 때 실제 영상의 중심점을 의미힌다. 렌즈와 CCD패널의 중심이 정확하게 일치하느냐에 대한 문제이다. 그래서, 실제로 카메라를 통해 영상을 받아올 때 렌즈를 통해서 받은 빛과 신호로 바뀐 영상의 중심을 일치시키는데 이 정보가 필요하다.

 

렌즈왜곡(Distortion)을 제외한 나머지 파라미터를 행렬로 만들면 이렇다.

f는 Focal length, o는 Image Center가 된다.

 

 

외부파라미터 (extrinsic parameter)

 - 이것은 카메라가 실제의 원점으로부터 얼마만큼 이동해있고, 얼마만큼 회전해 있는지에 대한 정보를 나타낸다.

이것은 내부 파라미터와 다르게 카메라가 만들어질 때 결정되는 것이 아니다.

 

그럼, 이걸 어떻게 구해야 할까

 

우선, 어떤 물체의 회전과 이동을 수학적으로 표현하려면 행렬과 벡터를 이용해여 표현할 수 있다.

회전에 대한 행렬을 R(Rotation Matrix)이라하고, 이동에 대한 벡터를 T(Translation vector)라고 하자.

우선 실제의 원점이 어디인지를 알아야 한다. 이건 임의적으로 지정할 수 있는데,

예를 들어 지금 내가 치고 있는 키보드의 모서리를 원점이라고 가정하면, 이 모서리는 수학적으로 원점이 되어 (0, 0, 0)이 되고 여기부터 반대편 키보드 모서리는 (100, 0, 0)이 될 수 있겠지?

그러면, 이 두 점에 관한 정보를 가지고 이 두 점이 영상에 담길 수 있도록 카메라로 사진을 찍어보자,, 그러면 찍힌 사진에는 이 두 모서리고 나와있고 그 두 모서리의 사진상의 좌표를 구할 수 있다. 그러면 우리는 영상속의 키보드의 모서리 좌표와 실제상의 키보드 모서리 좌표를 서로 대응시킬 수 있고,

영상속의 좌표는 미지수 매트릭스 * 실제의 좌표 연산을 통해서 구할 수 있다.

여기서 미지수 매트릭스가 intrinsic parameter * extrinsic parameter가 된다.

 

다시 말하지만 외부 파라미터는 카메라가 실제의 원점으로부터 얼마나 떨어져 있고, 얼마나 회전이 되었느냐(camera pose)를 알 수 있는 정보다.

따라서 이걸 행렬로 만들면

이렇게 되고, 카메라의 위치와 바라보는 방향을 구할 수 있다.

 

이미지는 2차원, 실제는 3차원이기 때문에 이 둘 사이의 관계는 Homogeneous coordinate를 이용하여 표현을 한다.

 

homography라는 것은 2차원 평면 2장 사이의 관계이다.

실제 상에서 z값이 0이라면 이것은 2차원 평면으로 놓을 수 있다.

바로 이걸 이용해서 카메라의 파라미터를 구하는 것이다.

'Augmented Reality > AR Basics' 카테고리의 다른 글

증강현실의 기본  (0) 2014.06.10
Posted by 긍정왕오킹