이것저것

[산학과제/2024] LGDisplay-DGU cooperation

johyeongseob 2025. 1. 31. 15:23

주제: Multi-light 기반 외관검사 알고리즘 개발

기간: 2024년 03월 - 2025년 02월

깃허브: https://github.com/johyeongseob/LGDisplay-DGU-cooperation-2024

타임라인

연구개발 로드맵

기존 연구 조사

1. A Deep Learning-Based Surface Defect Inspection System Using Multiscale and Channel-Compressed Features

- SqueezeNet에 다양한 convolutional layer 추가
- 다양한 커널 사이즈는 더 큰 수용 영역 (receptive field) 을 가짐

 

2. Fusion of multi-light source illuminated images for effective defect inspection on highly reflective surfaces

- 위치가 상, 하, 좌, 우로 구성된 조명으로 촬영한 네 개의 이미지에서 객체에 대한 region of interest (ROI)를 생성하고 ROI 영역만 patch 단위로 나누어 데이터셋 생성
- 4개의 ROI 이미지를 feature 레벨에서 결합하며 이미지 분류기반의 결함 분류 네트워크 생성 
- 최종 classification 결과는 fused 영상들에 대한 classification subnet의 결과로 도출

 

3. Complex-Object Visual Inspection via Multiple Lighting Configurations

- 조명의 방향과 조합에 따른 여러 illumination setup을 가정 
- 다양한 조명 환경에서 기존의 object detection 결함 검출 성능 평가

 

4. Defect segmentation for multi-illumination quality control systems

- Illumination-preserving rotations 데이터 증강 기법을 사용하여 검출 성능 향상
- 조명 각도를 맞추어 회전하여 데이터 증강

 

5. Automated vision-based inspection of drilled CFRP composites using multi-light imaging and deep learning

- 룰 기반의 기법으로 hole area, damage area, crack lines 세 가지 mask 생성
- 이후 4개의 다른 조명 이미지와 결함 이미지를 사용하여 U-net으로 segmentation 훈련 

 

6. Optimization of Multi-Channel Lighting by Lighting Simulation for Visual Inspection

- Ambient light의 하드웨어적 특성을 보정하여 임의의 조명조건을 정확하게 시뮬레이션하는 기술
- Sensor의 linearity를 가정 하여 조명에 비춘 결과를 예상하는 이미지 생성
- Signal-to-noise (S/N) ratio를 이용하여 (대비, 명암, 근접성) 조명 조건을 최적화

 

Baseline 모델 구성

- CNN Backbone: 사전 훈련된 SqueezeNet1.0 특징 추출기
- Fusion layer: View 개수만큼 생성된 피처 맵 (feature map)을 연결 (concatenate)하고 Conv2D로 채널 축소
- Classifier: 입력 피처 맵을 전역 평균 풀링 진행 후, fully connected layer와 ReLU함수를 사용하여 분류 수행

CNN backbone: 입력 이미지 크기는 사측 제공 데이터 이미지 크기를 기준으로 설정

 

데이터셋 분석

데이터 증강

 

모델 경량화

- 모델 (SqueezeNet)의 일부 레이어만 사용
- 총 8개 세부 모듈 (fire 모듈)을 4단계로 나누어 mid stage, late stage, final stage로 구분
- 각 stage에 해당하는 fire 모듈만은 사용하여 feature map을 추출한 뒤 분류 작업을 수행

Spatial dropout

- 기존 FFN (feed forward network)에서 random하게 node를 비활성화하는 dropout을 convolution layer에 적용한 방법
- 주어진 feature tensor (n_feats×height×width)에서 $n_feats$ 에 dropout을 적용
- 모델 (SqueezeNet)의 각 layer마다 channel 별 dropout을 적용

Thresholding (임계값 설정)

Thresholding 대상: Classification 모델이 이미지를 예측한 class 결과 (NG1, NG2, NG3, OK) 값 중 OK일 확률의 softmax값
Thresholding 예시: 36개의 결함 이미지에서 6개를 정상으로 오분류한 경우, 정상으로 분류한 확률의 softmax값에 각각의 threshold를 적용하여 정상으로 분류하는 기준을 높임 (미검률을 낮춤)

 

Metric learning

Supervised contrastive learning

Centroid triplet loss

 

앙상블 (Ensemble)