프로젝트 주제
생성 모델
데이터 전처리
- 128 x 128 로 리사이즈
실험 모델
- GAN류 모델 실험 조건 동일하게
- adam optimizer
- lr = 0.0002
- batch_size = 64
- 1000 epochs
- 10 epoch 마다 생성된 샘플 이미지를 저장하고, 학습 진행을 모니터링
- 매 epoch 마다 학습 곡선(판별자/생성자 손실)와 FID 도 기록
- 데이터 증강
DCGAN | - GAN의 가장 기본적인 구조 - 합성곱 신경망을 이용한 생성기-판별기 구조 - 베이스라인 모델 |
WGAN_GP | - Wasserstein GAN 기법에 gradient penalty 정규화를 추가한 모델 - DCGAN 대비 모델 훈련 안정화와 모드 붕괴 감소 효과 → 작은 데이터셋에 유리할 것으로 기대됨 |
AEGAN | - VAE와 GAN을 결합한 AEGAN 구조 |
StyelGAN2-ADA | - StyleGAN2에 ADA을 적용한 최신 모델 - 소량 데이터에 특화되어 데이터 증강을 통해 판별기의 과적합을 막는 기법 - 본 프로젝트의 생성모델 중 핵심 실험이 될 것으로 예상됨 - 연산 자원 요구량이 높기 때문에 코랩 프로 사용해야할 듯 - 스탠포드의 한 프로젝트에서는 이 모델로 8GB GPU에서 1주일간 훈련하여 꽤 설득력있는 신규 포켓몬을 생성한 바 있음 |
성능 평가 지표
FID | - 생성된 이미지 분포와 실제 이미지 분포 간 거리를 측정 - 낮은 값일수록 생성 이미지가 실제와 더 유사하고 다양하게 분포함을 의미함 - FID 성능 계산은 일정 에폭 간격(10 epoch)으로 수행하여 학습 진행 동안 FID 추이도 함께 분석하기 → 학습 안정성 및 수렴 속도 평가 위함 |
MS-SSIM | - 생성 이미지들 간의 유사도를 측정하여 모델의 모드 붕괴 여부 확인 |
질적 평가 | - 팀원들이 생성 결과 이미지를 직접 눈으로 평가하여 “포켓몬처럼 보이는지”, “기존 포켓몬과 차별되는 참신한 디자인인지” 등을 확인 |
FID
참고
변환 모델
데이터 전처리
- 이미지 세그멘테이션 또는 객체 검출 기술을 활용하여 입력 이미지에서 주 피사체만 추출하고 배경을 제거하는 전처리 제안(도메인을 제한하는 것이 좋을 듯)
- 128 x 128 로 리사이즈
실험 모델
- Adam optimizer
- lr = 0.0002
- 배치 크기는 style transfer 특성상 크게 잡기 어려워 1 또는 4정도로 사용
- instance normalization 특성상 배치 1이 흔히 사용됨
- 200 epoch 정도
- 5 epoch 마다 생성된 샘플 이미지를 저장하고, 학습 진행을 모니터링
- 매 epoch 마다 학습 곡선도 기록
CycleGAN | - 짝지어진 이미지 쌍 없이 두 도메인 간의 변환을 학습 - 생성기 2개, 판별자 2개를 사용 + cycle consistency loss를 통해 입력의 내용 손실을 방지 - 베이스라인 모델 - cycle consistency loss 값 확인 필요. 낮을수록 원본 정도 보존이 잘 된 것 |
CartoonGAN | - 카툰화 전용 GAN - CycleGAN과 달리 단방향 변환에 초점 - 판별자-생성기 각 1개씩 - 빠른 학습과 상대적으로 선명한 출력이지만, 단점으로 모델이 스타일만 강조하고 색상이 제한될 수 있음 |
U-GAT-IT | - Attention 메커니즘과 Adaptive Layer-Instance Normalization(AdaLIN)을 결합한 모델 - 사람 → 애니메 캐릭터 변환에 탁월한 성능을 보이는 것으로 알려져 있음. 입력을 사람으로 할 경우 유용한 모델 |
성능 평가 지표
FID | - 출력 결과와 포켓몬 데이터셋 간 FID 계산 - 값이 낮을수록 스타일 분포가 유사하며, 포켓몬다운 그림체를 얻었음을 의미함 |
LPIPS | - 두 이미지 간의 인지적 차이를 심층 신경망의 feature 공간에서 측정하는 지표 |
질적 평가 | - 팀원들이 생성 결과 이미지를 직접 눈으로 평가하여 “포켓몬처럼 보이는지”, “원본 이미지의 특징을 잘 살린 출력인지” 등을 확인 |
+) U-GAT-IT의 경우 어텐션 맵을 시각화하여 모델이 입력의 어느 부분에 집중했는지도 해석하기
참고
pretrained 모델
- StyleGAN
https://github.com/justinpinkney/awesome-pretrained-stylegan?tab=readme-ov-file#Pokemon
❌ tf ver1 으로 학습된 모델. tensor는 맥에서 지원이 안되고, colab도 tf ver1 은 더이상 지원하지 않는 버전
- text to image(stable diffusion)
https://huggingface.co/svjack/Stable-Diffusion-Pokemon-ja
- 맥에서는 환경 문제로 안 돌아감. 코랩에서 시도 중..