doublejy715 / Paper_review

Paper_review
1 stars 0 forks source link

Closed-Form Factorization of Latent Semantics in GANs - 'SeFa' #16

Open doublejy715 opened 2 years ago

doublejy715 commented 2 years ago

Abstract

본 논문에서

1. Introduction

배경

과거 연구 방법(Supervised Learning)

본 논문에서는...

1.1. Related Work

Generative Adversarial Networks(GAN)

Latent Semantic Interpretation

2. Method

Manipulation Model in GAN Latent Space

2.2. Unsupervised Semantic Factorization

first projection in Generation

Unsupervised approach

k개의 semantics에 대응되는 N 벡터 위 식에다가 Lagrange multipliers를 적용한다.

5

위 괄호 안의 각 항에 ni를 곱하게 되면

6

위 식이 나오게 된다. 이를 통하여 {ni}의 최고 값을 얻어 k개의 n을 서로 구분할 수 있고, N개의 column을 얻어 AtA에 적용 가능하다.

2.3 Implementation on GAN models

2.2에서 closed-form algorithm을 살펴보았다. (SeFa) 이 알고리즘은 unsupervised fashion by efficiently investigating the weights of a pre-trained GAN generator에 이용 가능하다. 이 파트에서는 GAN model에서 어떻게 쓰이는지 확인해 본다. 적용 대상은 PGGAN, StyleGAN, BigGAN이다.

PGGAN

StyleGAN

BigGAN

3. Experiments

많은 model의 interpretable directions을 통해closed-form algorithm을 평가한다. 또한 SeFa가 supervised & unsupervised에서 보이는 효과를 증명할 것이다.

3.1. Results on Diverse Models and Datasets

StyleGAN, BigGAN, StyleGAN2에서 테스트 해본다. 이 model들은 다른 dataset을 대상으로 학습하였다. FF-HQ, anime faces, scenes and objects(LSUN), streetscapes, and ImageNet이 그 대상이다.

Interavtive Editing by Tuning Interpretable Directions

우리의 알고리즘은 완전 unsupervise한 경우에도 돌아간다. model weight를 분해하여 important direction을 찾아낸 뒤, content editing을 위하여 GAN model과 상호작용 시킨다. 게다가 우리는 human-model interaction을 가능하게 하는 interface를 만들었다. 5

Result on StyleGAN

우리의 알고리즘은 style-based generator에서도 작동한다. 다양한 dataset을 학습한 모델에서 SeFa를 평가하였고(anime face, objects, scenes, and streetscapes).

1

user study를 통한 결과이다. 2K image를 각 데이터셋에서 생성하고, 각 layer의 레벨 당 top50의 direction을 이미지에서 manipulate시켰다. 괄호 안의 의미는 SeFa를 적용한 레이어의 범위이다. 12/12 에서 : 앞의 12는 사람이 보았을 때 content가 변한 개수를 의미하고, 뒤의 12는 실제 semantically meaningful의 방향이 변한 개수를 의미한다.

Result on BigGAN

large-scale의 BigGAN에 대해서도 조사해 보았다.

3.2 Comparison with Supervised Approach

Qualitative Results

1

Re-scoring Analysis

Diversity Comparison

1 SeFa를 이용해서 더 다양한 semantic를 latent space에서 찾아내었다.

3.3 Comparison with Unsupervised Baselines

Comparison with Sampling-based Baseline

GANSpace는 샘플링된 데이터에서 latent space에서 중요한 방향을 찾는데 이용된다. 이 파트에서는 GANSpace를 이용한 SeFa와 FF-HQ를 학습한 StyleGAN을 비교한다. 1

1

Comparison with Learning-based Baseline

1

SeFa 방법이 더 정확하게 조절하는 모습을 볼 수 있다.

3.4 Real Image Editing

SeFa에 의해서 나타난 semantic들을 가지고 image editing을 수행해 보았다. real image를 input 으로 받고 그대로 만들어 내는 generator가 부족하기 때문에, 우리는 SeFa알고리즘에 GAN inversion을 포함시켰다. 1

4. Conclusion

이 논문에서 우리는 GAN에 의해 학습된 latent semantics을 인수분해하는 closed-form solution을 제안한다. 광범위한 실험을 통해 unsupervised 형식으로 다양한 유형의 GAN 모델에서 다양한 의미 체계를 식별하는 알고리즘의 강력한 힘을 보여줍니다.

5. 재 정리

(이건 대화 내용을 그대로 가져온 겁니다) 학습 없이 pre-train된 model의 style 가중치를 가지고 바로 editing할 수 있는 방법 이래 generator 과정을 진행하면 latent vector space에서 image space로 mapping하는 과정을 가지고 있는데 conv layer를 거치고 나온 결과에 벡터를 더해줘서 이미지 편집을 한다고 적혀있음

원하는 attribute를 지정해서 바꾸지는 못해 SeFa에서는 이미지에 가장 많이 변화를 줄 수 있는 방향으로 latent vector가 이동하는데 그것이 특정 attribute를 변하게 하기 위해서 vector가 움직이는 게 아니라 말 그대로 많은 변화를 주는 것을 목적으로 변화를 주기 때문에 특정 attribute만을 바꾸지는 못해

입력 옵션 중에서 '--num_semantics'라는 옵션이 있는데, 이건 변화를 주는 정도의 크기를 기준으로 --num_semantics 만큼 벡터 값을 뽑아내서 latent vector에 변화를 줘

만약 --num_semantics = 3 이라면 1 = 가장 많이 영향을 주는 벡터를 conv output에 적용 2 = 두번 째로 많이 영향을 주는 벡터를 conv output에 적용 3 = 세번 째 "" 이러한 방식으로 되어있어

입력 옵션 중에서 '--num_semantics'라는 옵션이 있는데, 이건 변화를 주는 정도의 크기를 기준으로 --num_semantics 만큼 벡터 값을 뽑아내서 latent vector에 변화를 줘

만약 --num_semantics = 3 이라면 1 = 가장 많이 영향을 주는 벡터를 conv output에 적용 2 = 두번 째로 많이 영향을 주는 벡터를 conv output에 적용 3 = 세번 째 "" 이러한 방식으로 되어있어

어떻게 계산되는지는 잘 모르겠지만, 영향을 줄 벡터들의 저장 방식은 다음과 같음 'boundary'라는 변수의 2차원 array(512x512)로 저장되는데, 영향을 많이 주는 벡터 순으로 array(1x512size)가 형성되어 있었음.

6. Reference

1. 수식 설명 2. 코드 설명