욤미의 개발일지

[논문 리뷰] Resolution Dependent GAN Interpolation forControllable Image Synthesis Between Domains 본문

Paper Review

[논문 리뷰] Resolution Dependent GAN Interpolation forControllable Image Synthesis Between Domains

욤미 2022. 11. 1. 20:06
728x90
반응형

NIPS 2020 Workshop

GitHub      Paper


Background

전이 학습(Transfer Learning)

  • 대규모 데이터셋으로 사전 학습된(pre-trained) 모델의 가중치를 초기 가중치로 사용
  • Task가 달라도 데이터가 유사한 특징을 가진다면 학습 속도 개선 및 정확도 향상 가능
  • 새로 학습하는 데이터셋이 작은 경우에도 높은 정확도 달성 가능

Pre-trained Model

 

 

Transfer Model

  • Freezing:  앞부분의 레이어는 얼려서 학습하지 않고 마지막에 내 task에 맞게 교체한 레이어만 학습하는 방법
  • Fine-tuning: 모든 레이어를 다 미세하게 조정해서 학습하는 방법

GAN(2014)

출처: https://m.blog.naver.com/phj8498/222346205934

  • 인위적인 샘플을 진짜처럼 합성하는 것을 목표로 하는 모델
    • Generator(G): 새로운 샘플을 생성
    • Discriminator(D): G의 출력을'진짜'일지 혹은 '가짜'일지 판별 
  • GAN의 대표적인 활용 사례 중 하나는 인공적인 얼굴 이미지를 생성하는 것


StyleGAN(2019)

  • 고화질 이미지 생성에 적합한 아키텍처
  • 1024 x 1024 해상도의 이미지를 생성할 수 있다.
  • 이미지를 구성하는 여러 특징들을 잘 분리할 수 있다.
    • 분리된 특징을 다루기 쉬워 두 이미지를 원하는 스타일로 합칠 수 있다.
  • PGGAN을 baseline으로 하는 모델
    • 저화질에서 시작해 점점 레이어를 쌓아가며, 고화질 이미지를 생성
    • 각 해상도 단계에서 인풋을 수정하여 포즈나 얼굴형과 같은 큰 특징부터 머리색과 같은 디테일까지 해당 단계에서 표현되는 특징을 조절
  • 고해상도 얼굴 데이터셋(FFHQ)을 발표했다.

 

StyleGAN을 이용한 이미지 조작 방법

  • 이미지를 인코딩해서 적절한 w 를 찾고 올바르게 변형해서 원하는 조작 결과를 얻을 수 있도록 하는 것이 목표이다.
  • latent space에서는 latent vector가 특정 방향으로 이동하면 이미지 공간에서 원하는 의미론적인 특징이 바뀌는 효과를 기대할 수 있다.

  1. 입력 이미지 x 를 latent vector w 로 인코딩
  2. 인코딩된 latent vector w 를 조작하여 변경된 최종 이미지 x′ 을 얻는다.

 

FFHQ Dataset

  • 1024×1024 해상도의 70,000개 이미지로 구성
  • 연령, 국적, 배경, 악세서리(안경, 선글라스, 모자 등) 측면에서 매우 다양하다

 

Ukiyo-e faces dataset

  • 1024x1024  해상도의 판화 얼굴 이미지 5,209개로 구성

 

 

Introduction

  • 본 논문은 두 개의 StyleGAN 을 이용해 두개의 이미지 도메인을 섞는 방법(Resolution Dependent GAN Interpolation)을 제안
    • Base 모델: FFHQ 데이터셋으로 학습된 StyleGAN
    • Transfer 모델: Ukiyo-e 데이터셋으로 전이 학습된 StyleGAN

 

Method

Layer Swapping

  • 두 개의 StyleGAN을 레이어 단위로 섞는 방법
  • 두 개의 서로 다른 도메인의 특징이 섞인 이미지를 만들 수 있다.

1. 생성기(Generator) 함수$G$는 잠재 벡터(latent vector) $z$에 함수를 적용해서 이미지$I$를 생성할 수 있다.

$$I=G(z,p_{base})$$

$p_{base}$: 사전 훈련된 기본 모델의 매개변수

 

2.전이 모델을 만들기 새로운 데이터셋에서 모델을 전이 학습(transfer learning)한다.

  • 새로운 도메인 이미지를 생성하는 모델
  • 사전학습 모델을 새로운 데이터셋에서 학습한다

$$I'=G(z,p_{transfer})$$

$p_{transfer}$: 전이 학습된 전이 모델의 매개변수

 

3. 기본 모델과 전이 모델의 가중치를 결합 → 새로운 가중치 생성

  • 두 모델 간의 가중치를 결합하는 데 사용되는 함수는 컨볼루션 레이어의 해상도 $r$ 에 따라 달라야 한다.
  • "계층 스와핑(layer swapping)으로 각 모델의 가중치 간에 이진 선택 방법을 사용한다.
$$p_{interp} = f(p_{base},p_{transer},r)\\
p_{interp} = (1-\alpha)p_{base} + \alpha p_{transfer}\\
\alpha = \begin{cases}
1, where \quad r <=r_{swap}\\
0, where \quad r > r_{swap}
\end{cases}$$

$$I''=G(z,p_{interp})$$
$p_{interp}$: 기본모델과 전이모델의 매개변수를 결합한 새로운 매개변수
 
 
4. 새로운 가중치 $p_{interp}$ 를 사용하여 보간 모델(Interpolated model)을 생성한다.
  • 기본 데이터셋 + 전이 데이터셋 → 새로운 도메인에서 이미지를 생성

 

Result: Catoonification

  1. Base 모델을 FFHQ에서 학습한다.
  2. Base 모델을 전이 학습하여 Toonify 모델을 생성한다.
  3. Base 모델과 Toonify 모델을 섞어 Interpolated 모델을 생성한다.
  4. Base 모델에 대해 사람 이미지를 인코딩하여 latent vector $w$를 얻는다.
  5. 인코딩된 latent vector w 를 두 모델을 섞은 최종 Interpolated 모델에 넣어 cartoonification 결과 이미지를 얻는다.

 

Result: Uncurated results

  • 해상도 16 x 16 까지 Ukiyo-e 로 전이 학습된 모델의 가중치 사용
  • 해상도 16 x 16 이후 FFHQ로 학습된 모델의 가중치 사용
  • 큰 특징은  Ukiyo-e, 세부 특징은 FFHQ

 

  • 해상도 16 x 16 까지 FFHQ로 학습된 모델의 가중치 사용
  • 해상도 16 x 16 이후 Ukiyo-e 로 전이 학습된 모델의 가중치 사용
  • 큰 특징은 FFHQ, 세부 특징은 Ukiyo-e

 

  • 해상도 32 x 32까지 Ukiyo-e 로 전이 학습된 모델의 가중치 사용
  • 해상도 32 x 32 이후 FFHQ로 학습된 모델의 가중치 사용
  • 좀 더 Ukiyo-e 그림에 가까워졌다

 

  • 해상도 16 x 16까지 Cartoon으로 학습된 모델의 가중치 사용
  • 해상도 16 x 16 이후 FFHQ 로 전이 학습된 모델의 가중치 사용
  • 만화 캐릭터처럼 만들어졌다

 

 

Conclusion and Future Work

  • 본 논문은 두 개의 StyleGAN 을 이용해 이미지 도메인을 섞는 방법을 제안
  • Layer swapping이라는  단순한 해상도 종속 보간 방식을 통해 모델을 혼합했다.
  • 혼합한 모델은 두 개의 서로 다른 도메인의 특징이 섞인 이미지를 만들 수 있다.
  • 이미지 혼합 방법으로 해상도에 따라 부드럽게 변하는 방식, 특정 해상도를 타겟하는 방식, 두 개 이상의 모델을 포함하는 방식 등 을 추가적으로 연구할 수 있을 것이다. 
728x90
반응형
Comments