프로젝트 ②
개요
어떤 제품의 생산 공장에서 생산된 제품의 표면을 검사하다 보면 얇은 스크래치나 미세한 이물 등 사람 눈에는 보이지만 기기에서는 묻혀버리는 현상이 있습니다.
이러한 문제를 보완하고, 현장에서 바로 대응할 수 있는 검사 시스템을 만들어 보고자 이 프로젝트를 진행했습니다.
이 프로젝트는 OpenCV 기반으로 제품 표면의 스크래치, 노이즈 등 다양한 결함을 검출하는 것을 목표로 진행하였습니다.
파이프라인
배경 및 노이즈 제거
상태머신 통한 결함 판단
결함 후보로 추출
사용 기술
처리 과정
ㆍ ROI 설정 및 전처리
ㆍ 밝기 기반 결함 추출
ㆍ 경계 검출(Canny Edge) 및 색상 분석(Lab Color Space)
ㆍ 마스크 통합 및 Morphology 후처리
ㆍ Contour 기반 후보 추출
ㆍ Marker 기반 Inspect 트리거 및 결과 도출
결과
ㆍ 촬영 과정 RAW :

ㆍ 결함 탐지 결과 :

ㆍ 마스크 :

고찰
ㆍ 초기 알고리즘 구성
- 단순 그레이 기반 처리 → 명도 차이가 적은 색상끼리 분리가 잘 되지 않음
- 단순 Morphology 처리 구조 → 얇은 스크래치는 검출 안됨
- 단일 이미지 기준으로 알고리즘 설계 → 실시간 영상 환경에서 결과 불안정
ㆍ 개선 과정
- Lab Color Space로 변환 후 a, b 채널 기반 색상 처리 추가
- Canny Edge Detection 및 dilation 추가
- 연속 프레임의 상태 변화를 기반으로 프로세스 수정
ㆍ 느낀 점
- 여러 기준을 결합한 알고리즘 방식이 더 안정적임을 확인
중요성 확인
- 단일 이미지와는 달리 영상 처리에서는 프레임의 연속성과 일관성이
중요하다는 것을 깨닫게 됨
- 색상이 다르고. 미세한 스크래치의 경우 결함의 형태와 색상 특성에
따라 다른 접근이 필요하다는 것을 배움