"외관에 이상이 있는가"는 AI가 잘 답합니다. 하지만 "안지름이 51.2 mm 이상인가"는 AI보다 자로 재는 것이 맞습니다. 결과를 숫자로 남길 수 있고, 왜 불량인지 설명할 수 있으며, 학습 데이터가 필요 없습니다. 이 강의에서는 원형 부품을 예로 영상에서 치수를 재는 과정을 따라갑니다.
1. 캘리브레이션 — 1픽셀은 몇 mm인가
영상의 거리는 픽셀 단위입니다. 이를 mm로 바꾸려면 mm/pixel 값이 필요합니다. 크기를 아는 기준물(게이지 블록, 캘리브레이션 판)을 같은 위치에서 찍어, 실제 길이를 픽셀 수로 나눕니다. 예를 들어 EB 라인 설정은 0.041 mm/pixel입니다. 1픽셀 오차가 0.041 mm 오차가 되는 셈입니다.
캘리브레이션은 카메라 높이, 렌즈 초점, 해상도가 바뀌면 다시 해야 합니다. 5MP(2448×2108) 카메라로 바꾸면 같은 시야에서 mm/pixel이 작아져 더 정밀해지지만, 값도 새로 구해야 합니다.
2. 윤곽 추출 — 경계를 안정적으로 찾기
측정은 결국 경계선 위의 점들을 다루는 일입니다. 경계가 흔들리면 측정값도 흔들립니다.
- Gaussian 블러 — 노이즈를 줄여 가짜 경계를 없앱니다.
- 이진화 — 부품과 배경을 나눕니다. 조명이 고르지 않으면 영역마다 기준을 바꾸는 적응 임계값을 씁니다.
- 형태학 연산(Morphology) — 작은 구멍을 메우고 잔가시를 없앱니다.
- Canny 에지 — 밝기가 급하게 바뀌는 선을 경계로 뽑습니다.
3. 원 맞춤 — 1픽셀 미만의 정밀도
경계 점들에 최소제곱법으로 원을 맞추면, 수백 개의 점이 평균을 내 주므로 픽셀 하나보다 작은 단위로 중심과 반지름을 구할 수 있습니다. 여기서 중요한 것은 원이 아닌 부분을 빼는 것입니다. 밴드의 귀(ear)처럼 튀어나온 부분이 들어가면 원이 그쪽으로 끌려갑니다. Multi-Inspector EB는 귀 영역을 제외하고 원을 맞추며, 1픽셀 미만의 정밀도를 목표로 합니다. Hough 원 검출은 빠르지만 정밀도가 낮아 화면 표시용으로만 씁니다.
4. 항목별 측정
- 두께 — 지정한 각도 구간에 여러 개의 측정선을 그어 안팎 경계 사이 거리를 잽니다. 상위 N개를 고르고 이상치를 빼서, 먼지 한 점이 두께를 바꾸지 않게 합니다.
- 진원도(Roundness) — 윤곽이 완전한 원에 얼마나 가까운지를 비율로 나타냅니다. 찌그러진 부품은 값이 떨어집니다.
- 둘레·안지름 — 맞춘 원과 실제 윤곽에서 계산합니다.
5. 규칙으로 판정하기
Multi-Inspector에서는 측정 모드(circularity)에 규칙을 붙입니다. 예를 들어 roundness, thickness, circumference를 규칙으로 지정하고 각 항목의 허용 범위(진원도 0.931 이상 등)를 정합니다. 범위를 벗어나면 NG-Dim-THICKNESS처럼 어떤 치수 때문에 불량인지가 결과에 남습니다.
AI와 함께 쓰기 — 3중 판정
Multi-Inspector EB v2.3은 한 부품을 세 가지 방식으로 동시에 판정합니다.
| 모드 | 방식 | 잡는 것 |
|---|---|---|
| mode1 · AI 모델 | 정렬(rotation-fix2) 후 이상 탐지 | 처음 보는 외관 이상 |
| mode2 · YOLO | 정렬(yolo_align) 후 객체 탐지 | 이름이 정해진 결함 |
| mode3 · 치수 | 원 맞춤 측정(circularity) | 공차를 벗어난 치수 |
AI는 숫자 공차를 지키는지 모르고, 측정은 표면의 긁힘을 모릅니다. 세 판정을 함께 돌리면 서로의 빈틈이 메워집니다. 정렬된 영상은 한 번만 만들어 측정 모드와 공유하므로, 판정이 늘어도 처리 시간이 크게 늘지 않습니다.