Camera Calibration(1)

Ulost·2022년 9월 20일
0

Camera Calibration이란

  • 실제 세상 = 3차원

  • 이미지 = 2차원

카메라를 통해 실제 세상의 물체 혹은 점을 이미지로 표현하는 과정은 3차원 물체를 2차원으로 변환하는 과정.

이때, 3차원의 점(물체 등)이 2차원 이미지의 어디에 위치하게 되는지는 카메라의 위치, 카메라 렌즈의 종류, 이미지 센서 등 여러 가지 요인들이 영향을 미침.

실제 세상과 이미지 간의 관계(예 : 3차원 좌표가 2차원 좌표 어디로 변환이 되었는지 등)를 알기 위해서는 위에 언급한 여러 가지 요인들에 대한 분석이 필요함.

위 요인들의 값을 구하는 과정을 Camera Calibration(카메라 캘리브레이션)이라 부르고 그 요인에 관해 알아보겠음.

Parameters

Intrinsic Parameters(카메라 내부 파라미터)

초점거리(focal length)

  • 렌즈 중심과 이미지 센서 사이의 거리

  • 단위 : pixel 단위

주점(principal point)

  • 카메라 렌즈의 중심에서 이미지 센서에 내린 수선의 발의 영상좌표

  • 일반적인 영상 중심점(image center)과 다른 의미

비대칭 계수(skew coefficient)

  • 이미지 센서의 cell array(cell들의 모임)의 y축이 기울어진 정도를 의미 함.

Extrinsic Parameters(카메라 외부 파라미터)

  • 카메라 좌표계와 world(실세계) 좌표계 사이의 변환 관계를 설명하는 파라미터

  • 회전(Rotation)변환, 평행이동(Translation)변환으로 표현

  • 카메라를 어떤 위치와 방향으로 설치했는지, world 좌표계의 기준점이 어딘지(어떻게 정의했는지)에 따라 다름.

World --> Image 변환 관계 수식 표현

  • [Rt][R|t] = extrinsic parameter 행렬 : 회전과 평행이동 변환이 존재
  • AA = Intrinsic parameter 행렬
    - fxf_x : 초점거리(x축)
    - fyf_y : 초점거리(y축)
    - skew_c fxf_x : 비대칭 계수
  • X,Y,ZX, Y, Z = 실세계 좌표

카메라 캘리브레이션 방법

  • Calibration pattern(캘리브레이션 패턴)
    여러 관점에서 여러 이미지 캡쳐.
    체커보드(checkerboard), 원형(circular) 패턴을 이용하는 방식
  • Geometric clues(기하학적 단서)
    직선(straight lines) 및 소실점(vanishing points) 등과 같은 다른 기하학적 단서를 이용해 calibration 진행.
  • Deep Learning based(딥 러닝 기반)
    이미징 설정을 거의 제어할 수 없는 경우(예: 장면의 단일 이미지가 있는 경우, dynamic한 왜곡 계수가 예상 될 경우) 딥러닝 기반 방법을 사용할 수 있음.

다음 포스팅에는 카메라 캘리브레이션이 어디에 사용되는지 알아보고 어떻게 구현할 수 있는지에 대해 작성하겠습니다.

감사합니다.

참고자료

다크프로그래머 - 카메라 캘리브레이션
https://darkpgmr.tistory.com/32

유병혁님 - OpenCV: 카메라 캘리브레이션(Camera Calibration)
https://foss4g.tistory.com/1665

0개의 댓글