Project / 웨이퍼 결함 데이터 증강을 통한 복합 결함 검출 성능 향상 연구

#. 2 데이터 전처리

2026. 4. 5.

증강을 하기 전, 데이터 전처리를 우선적으로 진행해야 한다.

수행한 전처리 진행 과정은 이렇게 정리할 수 있다.

[Data Preprocessing Pipeline]

1. dataset1.py
   - 원본 WM-811K(LSWMD.pkl) 데이터 로드
   - failureType 라벨 정제
   - 라벨이 존재하는 데이터만 유지
   - waferMap 크기를 64×64로 정규화
   - 결과 저장:
     → dataset1_labeled_64x64.pkl

2. dataset2.py
   - dataset1_labeled_64x64.pkl 불러오기
   - 전체 데이터를 fold 단위로 분할
   - fold 0은 최종 성능 평가용 test 데이터로 분리
   - fold 1~4는 학습/검증용 데이터로 저장
   - 결과 저장:
     → dataset_fold_0.pkl   (test set)
     → dataset_fold_1.pkl
     → dataset_fold_2.pkl
     → dataset_fold_3.pkl
     → dataset_fold_4.pkl

3. dataset3.py
   - 학습/검증용 fold 1~4에 대해 결함 핵심 패턴만 남기는 전처리 수행
   - wafer 내부의 defect value(2)를 기준으로 결함 마스크 추출
   - 작은 잡음 성분 제거
   - 노이즈 제거 버전의 cleaned 데이터 생성
   - 합성 실험용 background pool도 함께 구성
   - 결과 저장:
     → dataset_fold_1_cleaned.pkl
     → dataset_fold_2_cleaned.pkl
     → dataset_fold_3_cleaned.pkl
     → dataset_fold_4_cleaned.pkl
     → background_pool_cleaned.pkl

WM-811K 원본 데이터셋을 불러온 뒤, failureType 라벨을 정제하고 라벨이 존재하는 wafer map만 추출하였다. 이후 모든 입력 데이터를 64×64 크기로 정규화한 뒤 fold 단위로 분할했으며,이 중 fold 0은 최종 성능 평가를 위한 test 데이터로 별도 분리하였다.

나머지 fold 1~4에 대해서는 결함 영역만 추출하고 작은 잡음을 제거하는 전처리를 수행하여,결함 핵심 패턴만 남긴 cleaned 데이터셋을 생성하였다. 또한 이후 합성 실험에 활용할 수 있도록 background pool 데이터도 함께 구성하였다.

background_pool_cleaned.pkl은 결함 패턴 합성에 사용할 깨끗한 배경 웨이퍼 샘플들을 모아둔 데이터셋이다.

전처리된 데이터는 이후 결함 분류 및 검출 모델 학습에 활용된다. 원본 데이터와 cleaned 데이터를 함께 비교하여 전처리 방식에 따른 성능 차이를 확인하고, 추가적으로 cleaned 데이터는 증강 및 합성 데이터 생성 실험의 기반 입력으로 사용하고자 하였다.

image.png image.png

예시 : Edge-Ring

(none을 제외한 전 클래스 노이즈 제거 완료)