1.1. 개요

기존 Zookiz 데이터에서 얼굴만 수기로 크롭하여 정제. FFHQ 256*256 pretrained styleGAN2 model을 fine tuning 한다. 학습한 styleGAN2 모델의 generator를 활용하여 pixel2style2pixel encoder를 from scratch로 학습한다. 스케치 그림을 Zookiz 캐릭터로 복원하는 task이다.

 

 

 

랜덤하게 생성된 이미지

 

2. 1차 pixel2style2pixel

2.1. 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 서버 이용을 위해)..… 계속 학습시킬 가치가 있을까? 왜 학습이 잘 안 될까?

복사했습니다!