개요
기존 Zookiz 데이터에서 얼굴만 수기로 크롭하여 정제. FFHQ 256*256 pretrained styleGAN2 model을 fine tuning 한다. 학습한 styleGAN2 모델의 generator를 활용하여 pixel2style2pixel encoder를 from scratch로 학습한다. 스케치 그림을 Zookiz 캐릭터로 복원하는 task이다.
1차 pixel2style2pixel
data preprocessing
- cv2를 활용해 기존 데이터를 스케치 버전으로 변환 (sketch - target)
- test 데이터 설정 (test - target)
- 원본 데이터가 아닌 styleGAN2가 생성한 데이터를 활용했어야 했음
for f in os.listdir('/content/drive/MyDrive/stylegan_exp01/try02/cropped_resized_dataset/'):
if 'jpg' in f:
img = cv2.imread(f'/content/drive/MyDrive/stylegan_exp01/try02/cropped_resized_dataset/{f}', 0)
blur = cv2.GaussianBlur(255-img, ksize=(21,21), sigmaX=0, sigmaY=0)
dodge = lambda image, mask: cv2.divide(image, 255-mask, scale=256)
blended = dodge(img, blur)
cv2.imwrite(f'/content/drive/MyDrive/stylegan_exp01/try03/sketch/{f}', blended)
- 6시간 동안 11450 steps processed
- L2 loss와 LPIPS loss는 조금씩 꾸준히 줄어드는데, W norm loss는 오히려 증가하는 모습
- 기존 0.3~0.4 정도 하던 loss가 0.2~0.3 정도로 비교적 안정화됨 - 그러나 아주 조금씩 변화 …
- best_model은 1000 step 마다 갱신되고 있다
- --start_from_latent_avg를 train 옵션에 넣지 않았는데, 이것을 넣어야 했던 것 같다 (주말 동안에 해보자!)
- 눈동자를 못 그리는 치명적인 문제가 있다. 그리고 봉봉의 얼굴은 전혀 표현하지 못함.
원본 레파지토리를 수정해서 내 개인 레파지토리에 올려놨는데 (AWS 서버 이용을 위해)..… 계속 학습시킬 가치가 있을까? 왜 학습이 잘 안 될까?
'인공지능 > computer vision' 카테고리의 다른 글
GAN실험 - 이미지전처리 (0) | 2022.08.10 |
---|---|
GAN 실험(4) - latent encoding + layer swapping (0) | 2022.08.10 |
GAN 실험(2) - layer swapping (0) | 2022.08.10 |
GAN 실험(1) - 주키즈 캐릭터 (0) | 2022.08.10 |
few-shot GAN ada 이해하기 (0) | 2022.08.01 |