머신비전 검사, 소프트웨어보다 물리가 먼저다
검사 시스템이 기대만큼 나오지 않을 때, 대부분 알고리즘부터 손댄다. 임계값을 조정하고, 필터를 바꾸고, 학습 데이터를 늘린다. 그런데 아무리 만져도 개선되지 않는 경우가 있다.
그럴 때는 대개 이미지에 애초에 정보가 담기지 않았다. 존재하지 않는 정보를 소프트웨어로 복원하려는 시도였던 것이다.
이 글에서는 검사 성패를 가르는 물리량 세 가지를 정리한다. 이 세 가지가 확보되지 않으면 그 뒤의 모든 작업이 무의미해진다.
상황 설정
연속 소재를 다루는 라인을 생각해 보자. 인쇄물이나 포장재가 분당 수십 미터로 주행하고, 그 표면에서 가는 스크래치를 찾아내야 한다. 결함 폭은 사람 눈으로 겨우 보이는 정도다.
이 조건에서 소프트웨어를 논하기 전에 확보해야 할 물리량이 세 가지 있다.
검사 성패를 가르는 물리량 세 가지
| 물리량 | 요구 조건 | 미확보 시 결과 |
|---|---|---|
| 광학 분해능 (mm/px) | 결함 폭의 1/3 이하 | 결함이 픽셀 사이에 묻혀 소실 |
| 노출 중 이동량 (mm) | 분해능의 1/2 이하 | 모션 블러로 엣지 정보 붕괴 |
| 피사계심도 (mm) | 대상의 상하 흔들림 폭 이상 | 주기적 초점 이탈로 오검출 폭증 |
1. 광학 분해능 — 결함이 픽셀에 담기는가
한 픽셀이 대상의 몇 밀리미터를 담당하는지가 분해능이다. 시야 폭을 센서의 가로 픽셀 수로 나누면 나온다.
결함 폭과 분해능이 비슷하면 그 결함은 한 픽셀에 걸치거나 걸치지 않거나 하는 상태가 된다. 위치에 따라 보이기도 하고 사라지기도 한다. 안정적으로 검출하려면 결함 하나에 최소 세 픽셀 정도는 배정되어야 한다.
분해능이 부족한 상태에서 알고리즘을 아무리 정교하게 만들어도 소용이 없다. 이미지에 그 결함이 기록되지 않았기 때문이다.
2. 노출 중 이동량 — 흐려지지 않고 찍히는가
대상이 움직이는 동안 셔터가 열려 있으면 그만큼 상이 번진다. 노출 시간에 이동 속도를 곱하면 노출 중 이동량이 나온다.
이 값이 분해능의 절반을 넘어가면 결함 경계가 뭉개진다. 분해능을 아무리 높여도 블러가 그것을 상쇄한다.
해결책은 노출 시간을 줄이는 것인데, 그만큼 어두워진다. 그래서 고속 라인에서는 조명 광량이 성능의 상한을 결정한다. 스트로브 조명을 쓰는 이유가 여기 있다.
3. 피사계심도 — 초점이 유지되는가
대상이 완전히 평평하게 지나가는 경우는 드물다. 소재가 위아래로 미세하게 흔들리거나, 두께가 변하거나, 반송 장치의 진동이 있다.
그 흔들림 폭보다 피사계심도가 좁으면 어떤 순간에는 초점이 맞고 어떤 순간에는 어긋난다. 검사 결과가 주기적으로 요동치고, 원인 파악에 오래 걸린다.
피사계심도는 조리개를 조이면 늘어난다. 다만 조이면 어두워지고 회절의 영향도 커진다. 여기서도 조명 광량이 발목을 잡는다.
세 가지는 서로 얽혀 있다
위 세 항목은 독립적으로 조정되지 않는다.
- 분해능을 높이려면 → 시야를 좁히거나 센서 화소를 늘린다 → 데이터량과 처리 부담이 증가한다
- 블러를 줄이려면 → 노출을 짧게 한다 → 어두워진다
- 심도를 늘리려면 → 조리개를 조인다 → 더 어두워진다
결국 세 가지 모두 조명 광량으로 수렴한다. 고속 검사에서 조명 투자가 아깝지 않은 이유다.
설계 순서
이 관계를 알면 검토 순서가 정해진다.
| 순서 | 결정할 것 | 기준 |
|---|---|---|
| 1 | 검출할 최소 결함 크기 | 검사 사양에서 나옴 |
| 2 | 필요 분해능 | 결함 크기의 1/3 |
| 3 | 시야와 센서 화소 수 | 분해능에서 역산 |
| 4 | 허용 노출 시간 | 라인 속도와 분해능에서 계산 |
| 5 | 필요 조명 광량 | 노출 시간과 조리개에서 결정 |
| 6 | 알고리즘 | 위 조건이 확보된 뒤 |
알고리즘이 마지막이다. 앞의 다섯 단계가 무너진 상태에서 시작하면, 나중에 어디를 고쳐야 할지조차 알 수 없게 된다.
마무리
검사 시스템이 잘 안 될 때 던져볼 질문은 이것이다. 사람이 이 이미지를 봤을 때 결함이 보이는가.
보이지 않는다면 알고리즘 문제가 아니다. 광학으로 돌아가야 한다.
이 글의 수치와 기준은 일반적인 설계 지침입니다. 실제 시스템에 적용하실 때는 대상과 환경에 맞춰 검증해 주시기 바랍니다.