땡글이LAB

[논문리뷰] e4e - Designing an Encoder for StyleGAN Image Manipulation 본문

AI/논문리뷰

[논문리뷰] e4e - Designing an Encoder for StyleGAN Image Manipulation

땡글이B 2022. 6. 24. 16:13

 이전에 리뷰했었던 pSp 논문과는 달리 본 논문은 이미지 조작(manipulation)에 적합한 인코딩을 수행하는 e4e 네트워크를 제안한다. 즉, pSp 에서 주장한 인코더는 input image를 잘 inversion 해주는 latent vector를 찾는 것이 목적이었다면 본 논문은 manipulation을 잘해주는 인코더를 제안한다는 점이 pSp 와의 차이점이라고 볼 수 있을 것 같다.

 

최적화 방식과 인코딩 방식 [Image Inversion]

 최적화 방식과 인코더 방식의 차이점부터 다뤄보고자 한다. StyleGAN 혹은 StyleGANv2 에서 사용되는 최적화 방식은 input image x와 유사한 이미지를 얻기에 적합하지만, 조작(manipulation)에는 낮은 성능을 보인다.

 

 하지만 인코더 방식은 input image x 와 유사도가 낮은 이미지를 생성하지만, 조작할 때에는 더욱 유리한 방식이다. 물론 최적화(optimization) 방식과 인코더 (encoder) 방식을 함께 사용한 하이브리드 (hybrid) 방식도 존재한다.

 

 

High-quality Inversion을 위해 필요한 조건 2가지

 본 논문에서는 high quality inversion을 위하여 두 가지 조건이 만족되어야 한다고 주장한다.

  • Editability
  • Proper Reconstruction
    • Distortion
    • Perceptual quality

즉, 편집이 얼마나 잘 수행이 되는지(Editability)와 원본 이미지와 픽셀 수준에서 얼마나 유사한지(Distortion)과 원본 이미지와 지각적인 측면에서 얼마나 유사한지(Perceptual quality)에 대한 조건이 만족되어야 고품질의 inversion이 가능하다고 본 논문에서 주장한다.

 

 

본 논문의 동기(Motivation)

 본 논문에서는 최대한 W 공간에 가까운 latent code를 생성하는 인코더 네트워크를 생성하는 것을 목표로 한다. 즉, W+ 영역에 W 에 가가운 영역으로 매핑하는 역할을 수행할 수 있다.

 

 기존에 제안되었던 pSp 인코더 네트워크와 비교했을 때에는 Editing 성능이 매우 뛰어나다. 하지만 복원(reconstruction) 성능은 비교적 좋지 못하다.

 

 아래의 Figure 1을 보면 알 수 있듯이, e4e 인코더를 사용했을 때의 editing 성능이 좋아졌음을 알 수 있다. StyleGAN 에서는 사람의 얼굴에 한정적으로 잘 동작하지만, 본 논문에서 주장하는 인코더는 사람의 얼굴 뿐만이 아니라, 다양한 도메인의 이미지에도 잘 동작함을 확인할 수 있다.

Figure 1

 

본 논문의 핵심 포인트(요약)

 본 논문 저자들이 주장하는 본 논문의 핵심 포인트는 총 4가지이다.

  • StyleGAN의 latent space를 분석하고 그 구조에 대해 새로운 관점을 제안한다. 
  • Distortion, Perception, Editability 사이의 tradeoff를 소개한다.
  • 위의 tradeoff 를 특성화하고 인코더가 이를 제어하기 위해 두 가지 수단을 제안한다.
  • 반전된 실제 이미지의 후속 편집을 허용하도록 특별히 설계된 새로운 인코더인 e4e 인코더를 제안한다.

 

본 논문과 관련된 연구들

Table 1

 Table 1을 보면 알 수 있듯이, W, Wk, W*, Wk* 등 많은 용어들이 나오는데, 이들의 정의는 다음과 같다.

  • W : mapping network를 거친 뒤의 분포 (18개의 레이어가 모두 동일)
  • Wk : mapping network를 거쳐서 뽑은 뒤에 레이어 단위로 cross-over할 때의 분포
  • W* : 모든 레이어가 같은 값이 되도록 latent codes 를 최적화할 때의 분포 (기존의 w 최적화 방식)
  • Wk* : 각 레이어가 개별적이도록 latent codes를 최적화할 때의 분포 (기존의 w+ 최적화 방식)

Figure 2

 

본 논문의 핵심 아이디어

Figure 3

 인코딩을 할 때에 최대한 W 분포를 지키도록 하는 것이다. 즉, 최대한 W 에 가까운 W+ 를 찾는 것이 본 논문의 목적이다. 이를 위해 본 논문에서는 두 가지 목표를 지키는 인코더를 제안한다.

  • 각 style들이 low variance를 갖도록 한다.
    • 빨간색 화살표 : 대각선(W* 분포)에 가까워지도록 함
  • 각 style들이 개별적으로 W 분포를 따르도록 한다.
    • 파란색 화살표 : Wk 분포에 가까워지도록 함

 

본 논문의 아키텍처

Figure 6

본 논문의 아키텍처는 다음과 같다. Encoder를 통해 latent space를 찾는다. 하지만 전통적인 인코더와는 다른 방식으로 offset 값을 추가적으로 요한다. 또한 각 레이어의 스타일들이 유사하도록 학습시킨다.

 

 본 논문의 가장 큰 특징은 L(d-reg), L(adv)를 사용한다는 것이다. 두 개의 Loss function은 만들어지는 latent code가 W 분포에 가까워지도록 만들어주며 결과적으로 perceptual quality와 editability를 높일 수 있게 된다.

 

본 논문의 Loss function

전체 Loss function

 본 논문에서는 사용되는 Loss function은 다음과 같다. 

 

본 논문의 결과

Figure 12

 앞서 얘기했던 것처럼 최적화(optimization) 방식은 inversion에서는 좋은 성능을 보이지만 editing 에선 좋은 성능을 보이지 못한다. 하지만 Encoder 방식은 inversion에서는 원본 이미지와 차이가 있으나, editing에서 좋은 성능을 보이는 것을 알 수 있다.

 

Comments