비전검사 기초 및 실무/머신비전 하드웨어

[머신비전 하드웨어편 3편] Camera Calibration 구현 방법 | 머신비전 측정 정확도를 높이는 필수 과정

eins-solutionlab 2026. 7. 12. 14:00

머신비전 시스템에서 정밀한 치수 측정과 위치 보정을 위해 반드시 수행해야 하는 작업이 바로 Camera Calibration(카메라 캘리브레이션)​입니다.

카메라와 렌즈를 설치했다고 해서 바로 정확한 측정이 가능한 것은 아닙니다. 렌즈 왜곡(Distortion), 카메라 설치 오차, 픽셀 크기 등의 영향을 보정해야 실제 거리와 영상 좌표를 정확하게 연결할 수 있습니다.

이번 글에서는 Camera Calibration의 개념부터 구현 절차, OpenCV 활용 방법, 실무 적용 사례까지 자세히 알아보겠습니다.

Camera Calibration이란?

Camera Calibration은 카메라가 촬영한 이미지와 실제 공간의 좌표 관계를 계산하는 과정입니다.

쉽게 말하면,

이미지 속 픽셀(Pixel)을 실제 좌표(mm)와 정확하게 연결하는 작업​입니다.

Calibration을 수행하면 렌즈 왜곡을 제거하고, 픽셀 단위의 측정을 실제 길이(mm)로 변환할 수 있습니다.

왜 Camera Calibration이 필요할까?

머신비전에서는 다음과 같은 작업이 자주 수행됩니다.

  • 제품 길이 측정
  • 홀(Hole) 위치 측정
  • 로봇 Pick & Place
  • PCB 검사
  • 반도체 검사
  • Alignment 검사

하지만 Calibration을 하지 않으면

  • 중심과 가장자리의 측정값이 달라지고
  • 픽셀 크기가 일정하지 않으며
  • 로봇 좌표 오차가 발생할 수 있습니다.

즉, 정밀 검사에서는 Calibration이 사실상 필수입니다.

Camera Calibration으로 얻을 수 있는 정보

Calibration을 수행하면 다음과 같은 정보를 계산할 수 있습니다.

1. 내부 파라미터(Intrinsic Parameters)

카메라 자체의 특성을 나타내는 값입니다.

대표적으로 Focal Length(초점거리), Principal Point(광학 중심), Pixel Scale, Skew 등이 포함됩니다.

2. 왜곡 계수(Distortion Coefficient)

렌즈에서 발생하는 왜곡을 보정하기 위한 값입니다.

대표 계수는 다음과 같습니다.

  • k1
  • k2
  • k3 (Radial Distortion)
  • p1
  • p2 (Tangential Distortion)

3. 외부 파라미터(Extrinsic Parameters)

카메라가 실제 공간에서 어디에 위치하는지를 나타냅니다.

Rotation Matrix, Translation Vector 로 표현됩니다.

이 값은 로봇 비전과 3D 비전에서 매우 중요합니다.

Camera Calibration 준비물

정확한 Calibration을 위해 다음 장비를 준비합니다.

  • 산업용 카메라 
  • 산업용 렌즈
  • Calibration Board
  • 일정한 조명
  • 삼각대 또는 고정 브래킷
  • Calibration Software(OpenCV, HALCON, VisionPro 등)

Calibration Board 종류

1. Checkerboard Pattern

가장 많이 사용하는 방식입니다.

장점 : 구현이 쉽다, OpenCV 지원, 높은 정확도

2. Dot Grid Pattern

원형 패턴을 이용합니다.

고정밀 검사에서 자주 사용됩니다.

3. Circle Grid

작은 원들을 이용한 패턴입니다.

고해상도 시스템에서 많이 사용됩니다.

Camera Calibration 구현 절차

Step 1. Calibration Board 설치

패턴이 평평하게 고정되어 있어야 합니다.

기울어짐이나 휨이 있으면 정확도가 떨어집니다.

Step 2. 다양한 각도에서 촬영

보통 15~30장의 이미지를 촬영합니다.

중요한 점은 상하, 좌우, 대각선, 거리 변화를 모두 포함하는 것입니다.

Step 3. Feature Detection

체커보드의 코너를 검출합니다.

대표 알고리즘 Harris Corner, Chessboard Detection, Sub Pixel Corner Detection

Step 4. 내부 파라미터 계산

검출된 코너를 이용하여 카메라의 내부 특성을 계산합니다.

Step 5. 왜곡 계수 계산

렌즈 왜곡을 계산합니다.

이후 모든 이미지에 왜곡 보정을 적용합니다.

Step 6. Calibration 완료

최종적으로 Camera Matrix, Distortion Coefficient, Rotation, Translation값이 생성됩니다.

OpenCV에서 구현하는 방법

OpenCV에서는 다음 함수를 가장 많이 사용합니다.

코너 검출

findChessboardCorners()

Sub Pixel 보정

cornerSubPix()

Calibration

calibrateCamera()

왜곡 제거

undistort()

이미지 보정

initUndistortRectifyMap()

 

이 함수들을 조합하면 대부분의 Camera Calibration을 구현할 수 있습니다.

Calibration 정확도 확인

Calibration이 완료되면 반드시 Reprojection Error(RMS Error)​를 확인해야 합니다.

일반적으로 0.5 Pixel 이하 → 우수, 0.3 Pixel 이하 → 매우 우수, 0.1 Pixel 이하 → 고정밀 시스템

으로 평가합니다.

RMS Error가 높다면 촬영 이미지 부족, 조명 문제, 체커보드 품질, 초점 불량등을 다시 확인해야 합니다.

Calibration 후 얻는 효과

Calibration 전 : 측정 오차 증가, 가장자리 왜곡, 로봇 위치 오차, Pixel 크기 불균일

Calibration 후 : 정확한 mm 측정, 왜곡 제거, 일정한 Pixel Scale, 높은 위치 반복 정밀도

실제 적용 사례

자동차 부품 검사 장비에서 Calibration 없이 Hole 위치를 측정한 결과 최대 0.18mm의 위치 오차가 발생했습니다.

Checkerboard Calibration을 수행한 후 오차는 0.015mm 이하로 감소했습니다.

이후 Robot Pick 정확도도 크게 향상되었습니다.

Camera Calibration 시 주의사항

  • 렌즈 초점을 먼저 맞춘 후 Calibration을 진행합니다.
  • Camera 위치를 변경하면 반드시 다시 Calibration을 수행합니다.
  • 조명 조건은 실제 검사 환경과 동일하게 유지합니다.
  • 체커보드는 고정밀 유리 또는 세라믹 제품을 사용하는 것이 좋습니다.
  • Calibration 후 RMS Error를 반드시 확인합니다.

실패 사례

사례 1. 초점을 맞추기 전에 Calibration을 진행한 경우

설치 직후 Calibration을 수행한 뒤 초점을 다시 조정했습니다. 초점 변경으로 내부 파라미터가 달라져 측정 오차가 증가했고, 결국 Calibration을 다시 진행해야 했습니다.

교훈: 초점과 조리개를 모두 확정한 후 Calibration을 수행해야 합니다.

사례 2. 체커보드를 한 방향에서만 촬영한 경우

체커보드를 정면에서만 촬영하여 Calibration을 진행한 결과, 가장자리 측정 정확도가 떨어졌습니다. 이후 다양한 각도에서 20장 이상의 이미지를 촬영하여 RMS Error를 크게 개선했습니다.

교훈: 다양한 각도와 위치의 이미지가 Calibration 품질을 높입니다.

사례 3. 카메라를 이동한 후 재보정을 하지 않은 경우

설비 유지보수 과정에서 카메라 브래킷이 미세하게 이동했지만 Calibration 데이터를 그대로 사용했습니다. 그 결과 로봇 Pick 위치가 계속 빗나갔고, 재보정 후 정상적으로 복구되었습니다.

교훈: 카메라나 렌즈의 위치가 조금이라도 변경되면 Calibration을 다시 수행해야 합니다.

자주 묻는 질문(Q&A)

Q1. Camera Calibration은 한 번만 하면 되나요?

아닙니다. 카메라 위치, 렌즈, 초점, Working Distance가 변경되면 다시 Calibration을 수행해야 합니다.

Q2. Calibration Board는 출력해서 사용해도 되나요?

학습용으로는 가능하지만, 정밀 측정에는 유리 또는 세라믹 재질의 정밀 Calibration Board를 사용하는 것이 좋습니다.

Q3. OpenCV만으로도 Camera Calibration이 가능한가요?

가능합니다. OpenCV는 체커보드 검출, Calibration, 왜곡 보정 기능을 모두 제공하며 연구와 산업 현장에서 널리 사용됩니다.

Q4. RMS Error는 어느 정도가 적당한가요?

일반적으로 0.5 Pixel 이하이면 양호하며, 정밀 측정 시스템에서는 0.3 Pixel 이하를 목표로 하는 경우가 많습니다.

Q5. Calibration 후에도 측정 오차가 발생하는 이유는 무엇인가요?

조명 변화, 렌즈 품질, 진동, 초점 변화, 온도 변화, Pixel Resolution 등 여러 요소가 측정 정확도에 영향을 줄 수 있습니다. Calibration은 오차를 줄이는 중요한 과정이지만 전체 시스템 최적화도 함께 이루어져야 합니다.

마무리

Camera Calibration은 단순히 렌즈 왜곡을 제거하는 작업이 아니라, 이미지 좌표와 실제 좌표를 정확하게 연결하는 머신비전의 핵심 기술입니다.

정확한 Calibration을 수행하면 치수 측정, 로봇 위치 보정, 정렬 검사, 3D 비전 등 다양한 분야에서 신뢰성 높은 결과를 얻을 수 있습니다.

다음 편에서는 픽셀(Pixel)과 실제 길이(mm) 변환 방법​을 통해 Pixel Resolution 계산, mm/Pixel 산출, 실무 적용 방법을 자세히 알아보겠습니다.