카메라 캘리브레이션 프로그램 (DarkCamCalibrator)

개발한 것들 2014. 7. 17. 21:14

카메라 캘리브레이션용 프로그램입니다. 별도 설치없이 실행파일 하나로 바로 실행됩니다 

  • 3가지 캘리브레이션 방법 제공
  • 왜곡보정, topview 변환
  • 다양한 캘리브레이션 옵션
  • windows only


※ 이 프로그램은 코드서명을 하지 않았기 때문에 Windows 및 웹브라우져에 위해 다운로드 및 실행이 차단될 수 있습니다. 100% 안전한 프로그래이긴 합니다만 필요한 분들만 사용하시기 바랍니다..

※ Since this program is not code-signed, download and execution may be blocked by Windows and web browsers. This is a personally created program and a 100% safe program, but only for those who need it.



Ver1.1 다운로드 (last updated: 2020.10.10) :


direct download: DarkCamCalibrator1.1.zip

github: https://github.com/darkpgmr/DarkCamCalibrator

previous versions: check Version History below



< 5x8 체스보드를 이용한 캘리브레이션 예 >


유투브 동영상: https://youtu.be/QrCXTf0gwBk


사용법 (How to use)


- 'Load Images..' 버튼을 눌러 캘리브레이션 패턴(체스보드)을 촬영한 이미지들을 불러옴

- 또는 'Live Cam' 버튼을 눌러 웹캠과 실시간 연결한 후 스페이스 바를 눌러서 이미지 획득

- 캘리브레이션에 사용된 체스보드의 Grid Rows, Grid Cols, Cell Sz(mm)를 입력

- 'Detect Corners' 버튼을 눌러서 코너점 검출

- 캘리브레이션 옵션 설정 (왜곡보정 여부, fx=fy 여부 등)

- 원하는 방법의 캘리브레이션 수행하고 결과 확인 ('Calib Zhang', 'Calib FOV', ...)

  (각 캘리브레이션 방법은 아래의 설명 참조)

- 이미지 목록에서 체크된 이미지에 대해서만 캘리브레이션이 수행됨

- Undistort Image: 이미지 목록에서 선택된 이미지에 대해 왜곡보정 결과 출력

- Save Images..: 이미지 목록의 이미지들을 파일(png 포맷)로 저장

- Save Settings: 현재의 사용자 설정을 저장 (다음 번 프로그램 실행시 저장된 설정이 유지됨)


※ rms (root mean square error): average reprojection pixel error



1. Calib Zhang (opencv) 방법


컴퓨터 비전 분야에서 사용되는 대표적인 카메라 모델인 Z. Zhang 캘리브레이션 방법. opencv 구현을 그대로 사용하였으며 성능은 opencv와 동일


Z. Zhang. “A Flexible New Technique for Camera Calibration”, IEEE Trans. Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000



2. Calib FOV (coupled) 방법


F. Devernay 논문의 FOV 왜곡모델을 이용한 카메라 캘리브레이션 방법. Levenberg–Marquardt 최적화 기법을 이용하여 직접 구현함. Z. Zhang 모델과 달리 왜곡 파라미터가 w 하나이며 왜곡보정된 좌표를 atan 함수로 한번에 구할 수 있다는 장점이 있음


F. Devernay and O. D. Faugeras. Straight lines have to be straight. Machine Vision and Applications, 13(1):14?24, 2001



3. Calib FOV (decoupled) 방법


F. Devernay 논문의 FOV 왜곡모델을 이용한 카메라 캘리브레이션 방법. 단, 왜곡 파라미터(w)를 정규 이미지 좌표가 아닌 픽셀 좌표에서 계산한 것이 차이점임. decoupled라고 이름을 붙인 이유는 왜곡 파라미터를 focal length와 무관하게 추정할 수 있기 때문 (컴퓨터 비전 분야에서는 왜곡 모델을 정규 이미지 좌표에서 계산하는 것이 일반적이며, 이로 인해 왜곡 파라미터 추정과 focal length 추정 문제가 서로 coupling되는 문제점이 있음)


☞ coupled/decoupled는 나름 용어를 만들어 본 것으로서 카메라 캘리브레이션에서 일반적으로 사용되는 용어는 아닙니다.



버전 히스토리 (Version History)


*DarkCamCalibrator 1.1 (2020.10.4)

- FOV 캘리브레이션을 LM 최적화 기법을 적용하여 직접 구현

- FOV decoupled 방법을 추가

- 체스보드의 가로, 세로 격자수에 대한 짝수,홀수 제한을 제거

- 영상왜곡 보정 기능을 추가


*DarkCamCalibrator 1.0 (2014.7.17)

- 초기 버전

DarkCamCalibrator.zip

DarkCamCalibratorPGR.zip



by 다크 프로그래머