증강을 하기 전, 데이터 전처리를 우선적으로 진행해야 한다.
수행한 전처리 진행 과정은 이렇게 정리할 수 있다.
[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 데이터는 증강 및 합성 데이터 생성 실험의 기반 입력으로 사용하고자 하였다.
예시 : Edge-Ring
(none을 제외한 전 클래스 노이즈 제거 완료)