ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Wikipedia] 카메라 캘리브레이션 (Camera Calibration)
    Image Geometry 2018. 2. 3. 19:20

    카메라 캘리브레이션

    카메라 캘리브레이션(camera calibration)은 카메라 절제(camera resectioning) 또는 기하학적 카메라 캘리브레이션(geometric camera calibration)이라고도 표현됩니다. 카메라 캘리브레이션은 사진이나 비디오를 촬영하는 실제의 카메라 모델을 단순화 시킨 핀홀 카메라 모델의 매개변수를 추정하는 작업을 말합니다. 일반적으로, 핀홀 카메라의 매개변수는 카메라 행렬(camera matrix)이라 불리는 3 x 4 행렬로 표현됩니다. 핀홀 카메라의 매개변수를 추정하는 절차를 카메라 캘브레이션(camera calibration) 이라고 부르지만 카메라 캘리브레이션이라는 용어는 카메라 측광 캘리브레이션(photometric camera calibration)을 의미하기도 합니다. 


    카메라 모델의 매개변수

    을 픽셀 좌표에서 2차원 포인트 위치를 표현하기 위해 사용합니다.  는 월드 좌표에서 3차원 포인트 위치를 표현합니다. (주: 이 표현은 로봇공학(robotics)과 강체변환(rig body transformation)에서 가장 일반적인 표기법인 동차좌표(Homogeneous coordinates)의 증대된 표기법(augmented notation)으로 표현 되었습니다.)  핀홀 카메라 모델에서, 카메라 행렬은 

    월드좌표에서 픽셀좌표로 투영 맵핑(projective mapping) 나타내기 위해 사용됩니다.




    내부 매개변수(intrinsic parameters)



    내부 행렬(intrinsic matrix) K 는 5개의 내부 매개변수를 포함하고 있습니다. 5개의 매개변수는 초점거리(focal length), 이미지 센서 포맷(image sensor format), 그리고 주점(principal point)입니다. 매개변수 과 는 픽셀단위의 초점거리를 표현합니다. 여기서 와  는 거리와 픽셀의 관계와 관련된 스케일 계수(scale factor) 이고, 는 거리단위의 초점거리 입니다. 는 x축과 y축 사이의 뒤틀림 계수(skew coefficient)를 의미하며, 종종 0 이 됩니다. 은 주점을 나타내고, 이상적인 경우 이미지의 중심이 주점이 됩니다.


    렌즈 왜곡(lens distortion)과 같은 비선형 내부 매개변수(nonlinear intrinsic parameter)는 내부 매개변수 행렬에 의해 설명되는 선형 카메라 모델(핀홀 카메라 모델)에 포함될 수 없지만 중요하게 다루어집니다. 최근의 카메라 캘리브레이션 알고리즘은 비선형 최적화 기술의 형태로 내부 매개변수를 추정합니다. 이것은 번들조정(bundle adjustment)이라고 일반적으로 알려져 있는 형식을 사용하여 카메라와 왜곡 매개변수를 최적화하는 형식으로 수행됩니다.



    외부 매개변수(extrinsic parameters)

    R, T는 3D월드 좌표에서 3D카메라 좌표로 좌표계 변환을 정의하는 외부 매개변수 입니다. 또한, 외부 매개변수는 월드좌표에서 카메라 중심(camera center)의 위치와 카메라의 방향(camera's heading)을 정의합니다. T는 카메라-중심 좌표계(camera-centered coordinate system)의 좌표로 표현된 월드 좌표계의 원점의 위치(position of origin of world coordinate system)입니다. T는 때때로 카메라의 위치(position of camera)로 잘못 생각되기도 합니다. 월드 좌표에서 표현된 카메라의 위치 C는 입니다. (R이 회전행렬(rotation matrix)일 때)


    카메라 캘리브레이션은 종종 컴퓨터 비전의 초기단계로 사용됩니다. 


    카메라를 사용할 때, 물체에 반사된 빛은 이미지 평면에 집중되고 획득 됩니다. 이 절차는 카메라에 의해 획득 된 데이터의 차원을 3차원에서 2차원으로 감소시킵니다. 3차원 장면(scene)의 빛은 2차원 이미지에 저장됩니다. 이미지 평면의 각 픽셀은 따라서 원래 장면의 빛의 한 축(a shaft of light)에 대응합니다. 카메라 캘리브레이션은 결과 이미지의 각 픽셀에 대응하는 입사광(incoming light)을 결정합니다. 이상적인 핀홀 카메라에서, 하나의 투영 행렬(projection matrix)은 이러한 작업을 표현 하기에 충분합니다. 더 복잡한 카메라 시스템에서 잘못 정렬된 렌즈와 렌즈 구조의 변형으로 발생한 오류는 결과 이미지에서 더 복잡한 왜곡을 만들 수 있습니다. 카메라 투영 행렬은 카메라의 내부, 외부 매개변수로부터 유도되고 때때로 연속적인 변형으로 표현됩니다. 예를 들면 카메라 내부 매개변수의 행렬, 3 x 3 회전 행렬, 이동 벡터로 표현됩니다. 카메라 투영 행렬은 카메라의 이미지 공간의 점(points)을 3D월드 공간의 위치(location)에 연관 시키는데 사용할 수 있습니다.


    카메라 캘리브레이션은 종종 스테레오 비전 응용프로그램에 사용됩니다. 두 카메라의 카메라 투영 행렬(camera projection matrices)을 사용하여 두 카메라에 의해 보여지는 한 점의 3D 월드 좌표를 계산하기 위해 사용됩니다. 


    어떤 사람들은 이것을 카메라 캘리브레이션이라고 부르지만, 대부분 내부 또는 외부매개변수를 추정하는 것만을 카메라 캘리브레이션이라는 용어로 사용합니다.


    알고리즘

    특정한 카메라 설정에 대해 내부와 외부 매개변수를 계산하기 위한 많은 접근법들이 있습니다.

    가장 일반적인 것은 다음과 같습니다.

    1. 직접 선형 변환(Direct linear transformation, DLT) 방법

    2. Zhang의 방법

    3. Tsai의 방법

    4. selby의 방법(X-ray 카메라)


    Zhang의 방법

    Zhang 모델은 전통적인 캘리브레이션 기술(알려진 캘리브레이션 포인트)과 셀프 캘리브레이션(서로 다른 위치에 있는 캘리브레이션 점들 사이의 대응)을 사용하는 카메라 캘리브레이션 기술입니다. Zhang의 방법으로 전체 캘리브레이션을 수행하기위해 최소 세 개의 카메라의 움직임 또는 게이지의 움직임에 의한 캘리브레이션 타겟/게이지 이미지가 필요합니다. 만약 내부 매개변수의 일부(이미지 또는 광학 중심 좌표의 직교성)가 데이터로 주어지면 이미지의 개수는 두 개로 감소됩니다.

    첫 단계에서, 캘리브레이션 타겟과 이미지 평면 사이의 추정된 투영 행렬 H의 근사는 DLT방법을 사용하여 결정됩니다. 그 후, 절대 코닉 행렬(absolute conic matrix)의 이미지를 얻기 위해 셀프-캘리브레이션 테크닉을 적용합니다. Zhang 방법의 주요 공헌은 캘리브레이션 타겟의 n개 자세(pose)에서 n개의 캘리브레이션 매개변수 R과 T, 그리고 제약된 내부 매개변수 K를 추출하는 방법입니다.



    Tsai 알고리즘

    이 방법은 2-단계 알고리즘입니다. 첫 번째 단계에서 자세(3D 방향, X축과 Y축 이동)를 계산합니다. 두 번째 단계에서 초점거리, 왜곡계수, 그리고 z-축 이동을 계산합니다.


    Selby 방법(X-ray 카메라에서 사용)

    Selby의 카메라 캘리브레이션 방법은 X-ray 카메라 시스템의 자동-캘리브레이션을 다룹니다. X-ray 생성 튜브와 고체 상태 검출기로 구성된 X-ray 카메라 시스템은 핀홀 카메라 시스템으로 모델링 될 수 있으며, 내부와 외부 카메라 매개변수 9개를 포함합니다. 임의의 X-ray 이미지와 참조모델(단층촬영 데이터세트)에 기반한 강도 기반 등록(intensity based registration)은 특수한 캘리브레이션 바디 또는 그라운드트루스 데이터를 필요로 하지않고 상대적인 카메라 매개변수를 결정하는데 사용될 수 있습니다.



    Reference

    [1] https://en.wikipedia.org/wiki/Camera_resectioning

Designed by Tistory.