소속: HYC Korea · Inspection 팀
역할: CV Algorithm Engineer
기간: 2020.03 – 2020.06
**산업 도메인: **OLED 디스플레이 검사 장비 제조
Situation
고객사로부터 신규 휴대폰 OLED 패널의 Camera Hole 검사 장비 개발 요청을 받았다. Camera Hole은 전면 카메라를 위해 OLED 패널에 레이저로 홀을 뚫는 부위이며, 검사 대상은 사용자가 보는 면이 아닌 기기 안쪽면의 홀이었다. 가공 시 발생하는 Burr, Crack, Chipping 등의 결함으로 빛이 새어나오는 이슈가 있어, 불량 패널을 검출하는 것이 목표였다.
완전 신규 라인이었기 때문에 레퍼런스 설비가 전혀 없었고, 고객사 역시 “카메라 홀 불량 검출”이라는 모호한 스펙만 제시한 상황이었다. 어떤 결함을 어떤 기준으로 검사해야 하는지조차 정의되지 않은, 도전적이고 하이리스크한 프로젝트였다. 납기는 약 3개월이었다.
Task
- 팀 구성: 알고리즘 개발 단독 담당(본인) + OS 개발자 1명(스테이지/HW 통합 제어 및 Windows Application 개발)
- 담당 영역:
- Hole Edge Defect 검사 알고리즘 설계 및 개발
- Fiducial 마크 기반 이미지 정합 알고리즘 개발
- Camera Link Area Camera 및 Frame Grabber 제어 서비스 개발
- 검사 엔진 개발
- 협업: 스테이지 및 광학계는 각각 별도 협력사가 담당. 고객사와는 샘플 촬상 결과를 기반으로 결함 정의를 지속적으로 커뮤니케이션하며 검사 기준을 수립.
Action
기술 스택 & 시스템 구성
| 분류 | 기술 |
|---|---|
| Language | C# |
| Library | OpenCV, Matrox Imaging Library (MIL) |
| Camera / HW | Camera Link Area Camera + Frame Grabber |
| Domain | Automated Optical Inspection (AOI) |
하드웨어 구성
- 카메라: 2048×2048 Color Camera, Camera Link 인터페이스
- 광학계: 2배, 5배, 10배, 20배 배율 지원. 검사는 2배 배율로 수행하고, 나머지 배율은 상세 촬상용으로 활용
- 조명: BF(Bright Field), DF(Dark Field) 모두 사용 가능
- 스테이지: 리니어 XY 스테이지, 외부 트리거 방식으로 카메라와 연동
- 촬상 방식: 2배 배율에서도 Camera Hole 전체를 한 번에 촬상할 수 없어 6분할 촬영 후 정합
핵심 구현 사례
1. Circular Sliding Window 기반 Hole Edge 결함 검출
문제: 목표 결함이 명확하게 정의되지 않은 상황에서, 시각적으로 결함처럼 보이는 모든 이상을 검출해야 했다. 고객사와 샘플 기반으로 커뮤니케이션한 결과, 펀치 가공으로 인해 단면이 불균일한 것 자체는 결함이 아니며, OLED 셀이 변색되거나 크랙이 발생한 부분이 실제 결함이었다. 그러나 샘플마다 OLED 셀의 intensity가 균일하지 않아, 고정된 기준으로는 결함을 판별할 수 없었다.
검토한 선택지:
- 극좌표 변환 후 직선 ROI 검사: 원형 영역을 직선으로 펼쳐서 검사하는 방식을 시도했으나, 피듀셜 마크 기반 ROI의 원 중심과 실제 펀치 가공으로 만들어진 카메라 홀의 원 중심이 일치하지 않아 극좌표 변환 시 물결치는 상이 생성되었다. 이 상태에서 적용할 수 있는 검사 알고리즘을 도출하기 어려웠다.
- 단순 Edge Detection: OLED 셀 영역의 밝기가 불균일하여 Edge가 일관되게 추출되지 않아 사용할 수 없었다.
- Thresholding + 형태학적 분석: OLED 셀의 밝기가 샘플마다 편차가 존재하여, 고정 임계값 기반 접근은 리스크가 너무 높았다.
위 방법들이 모두 샘플 간 intensity 편차 문제를 해결하지 못했기 때문에, 개별 윈도우 단위로 국소 통계를 활용하는 Circular Sliding Window 방식을 선택했다.
최종 구현: 피듀셜 마크로 ROI를 확보한 뒤 원의 중심을 구하고, 해당 중심을 기반으로 원형 경로를 따라 작은 원 형태의 윈도우를 슬라이딩하며 각 영역의 통계값을 수집했다. 윈도우 지름은 “ROI 원의 지름 − (펀칭 카메라 홀 지름 − 위치 에러 감안 오프셋)“으로 산출했다. 전체 윈도우 통계 대비 이상치를 탐지하는 방식으로 결함을 검출했으며, 판정 임계값은 샘플 기반으로 경험적으로 선정했다. 이 값은 양산 라인 투입 후 필드 엔지니어가 현장 조건에 맞게 재조정하는 것을 전제로 설계했다.
2. Fiducial 마크 기반 6분할 이미지 정합
문제: 광학계의 최저 배율(2배)로도 Camera Hole 전체를 한 번에 촬상할 수 없어, 6번에 나눠 촬영해야 했다. 그러나 Circular Sliding Window 알고리즘을 적용하려면 정합된 하나의 이미지가 필요했다. 또한 사용자(필드 엔지니어) 입장에서도 정합된 단일 이미지로 결과를 확인하는 것이 직관적이고 관리에 유리했다.
구현: OLED 패널의 Camera Hole 주변에 위치한 십자 형태의 Fiducial 마크를 기준으로 이미지 정합을 수행했다. 마크 검출은 Template Matching으로 구현했으며, HW적으로 발생할 수 있는 각도 오차 범위에 맞춰 각도별 Template Matching을 수행하고 매칭 스코어를 기준으로 각도 오차를 추정했다. 검출된 마크 위치를 기반으로 Affine 변환을 적용하여 6장의 분할 이미지를 하나의 정합 이미지로 합성했다.
3. Camera Link 카메라 제어 서비스
MIL(Matrox Imaging Library) 기반으로 Camera Link Area Camera와 Frame Grabber를 제어하는 이미지 취득 서비스를 개발했다. 스테이지 이동은 OS 개발자가 담당했으며, 스테이지에서 외부 트리거를 발생시키면 카메라가 촬상하는 방식으로 연동했다. 취득된 이미지는 검사 엔진으로 전달되어 정합 → 결함 검출 파이프라인을 거치도록 구성했다.
Result
기술 성과
- 레퍼런스 없는 환경에서 Circular Sliding Window + 통계 기반 이상치 탐지를 결합한 원형 Edge 결함 검출 기법을 설계 및 구현
- 6분할 촬영 이미지를 Fiducial 마크 기반 Affine 정합으로 단일 이미지로 합성하는 파이프라인 구축
- 각도 오차를 고려한 다중 각도 Template Matching 기반 마크 검출 구현
비즈니스 임팩트
- 고객사 납품 및 양산 라인 적용
회고
잘한 점
검사 대상에 대한 명확한 기술 사양이 없는 상황에서, 사내 동료와의 협업 및 고객사와의 지속적인 커뮤니케이션을 통해 결함 정의부터 검사 알고리즘까지 직접 수립하며 프로젝트를 완수했다.
아쉬운 점 / 다시 한다면
마지막 불량 판정 단계를 머신러닝으로 구현해보고 싶다. 통계 기반 이상치 탐지는 경험적 임계값에 의존하는 한계가 있는데, 학습 기반 접근이었다면 샘플 간 편차에 더 강건한 판정이 가능했을 것이다.
배운 점
레퍼런스가 없는 신규 프로젝트에서는 정답을 찾는 것이 아니라 해답을 찾는 것이 중요하다는 것을 배웠다. 완벽한 정답이 존재하지 않는 상황에서, 제약 조건 내에서 실현 가능한 최선의 해답을 도출하고 이를 현장에서 조정 가능한 구조로 설계하는 것이 핵심이었다.