[논문 리뷰] HyperStyle

Chaewon Kim
KLleon
Published in
12 min readApr 18, 2022

Introduction

이번에 소개드릴 논문은 CVPR 2022에 올라온 따끈따끈한 논문입니다 :)

본론으로 들어가기 전에, Hyperstyle로 어떤 재미있는 실험들을 할 수 있는지 구경해 볼까요?

마블 영화, 롤 게임 캐릭터의 어린 시절 모습, 먼 미래의 모습 또는 웃는 모습이 궁금했던 적 있지 않으신가요?

HyperStyle을 이용하면 실제 사람이 아닌 도메인에서도 사물의 ID를 유지하면서 이미지를 복원할 수 있어, 원하는 방향으로 실시간 수정이 가능합니다!

Figure 1. HyperStyle을 이용해 수정한 마블 영화, 롤 게임 캐릭터 이미지

HyperStyle을 자세히 설명하기 전에 StyleGAN의 latent 공간 내에 존재하는 몇 가지 상충관계(trade-off)들을 짚고 넘어가겠습니다.

1) Time-accuracy Trade-off

현재, 목표 이미지를 생성하기 위해 좋은 latent를 찾는 GAN inversion에 대한 연구가 많이 진행되고 있습니다. 그리고 보다 더 정확한 이미지 재건을 위한 GAN inversion 방법은 크게 두 가지로 분류할 수 있습니다.

  1. optimization-based :
  • 임의의 latent로부터 생성된 이미지가 목표 이미지에 가까워지도록 per-image 거리를 최소화하는 방향으로 latent를 업데이트하는 방법입니다. 정확도는 높지만 매우 느리다는 단점이 있습니다.

2. encoder-based :

  • 여러 장의 이미지를 latent 공간으로 매핑하는 encoder를 학습하는 방법입니다. per-image가 아니기 때문에 빠르지만 정확도는 떨어집니다.

최근 발표된 논문 중, 이미지별로 좋은 latent를 찾은 뒤 그 latent를 입력으로 받는 generator를 fine-tuning 하는 논문[1] 이 있습니다. Per-image 학습이 진행되기 때문에 optimization-based로 분류할 수 있지만 latent를 업데이트하는 것이 아닌, latent 이 고정된 상태에서 generator를 튜닝하는 것이 특징입니다.

아래의 그림처럼 생성된 이미지와 주어진 이미지 간의 차이를 줄이기 위해, 다음 loss (eq (1))로 generator weight를 학습합니다.

eq (1). Generator Finetuning Loss
Figure 2. Generator Finetuning Framework

Hyperstyle 역시 pre-trained StyleGAN generator의 가중치를 업데이트하며, 빠른 inference time을 위해 hypernetwork를 도입하여 encoder-based 방법처럼 빠른 inference time 을 가능하게 합니다.

실제로 기존 파인튜닝 방법들은 한번 업데이트하는데 이미지 별로 10초의 시간이 걸린 반면 hyperstyle은 2초 이하의 시간만 걸려, real-time inference 가 가능한 매우 큰 장점이 있습니다.

2) Distortion-Editability Trade-off

GAN inversion으로 출력된 latent는 W 또는 W+ 공간에 존재한다고 볼 수 있습니다.

W 공간은 StyleGAN에서 mapping network를 통과한 뒤 generator의 입력으로 존재하는 공간이고, W+는 generator의 다른 레이어마다 다른 latent를 할당한 공간이라고 볼 수 있습니다.

W 공간으로 반전된(inverted) 이미지들은 latent 공간에서의 적은 수정으로도 이미지를 부드럽게 변경할 수 있는 editability가 좋은 반면, 다양한 범위의 이미지를 표현할 수 있는 표현력이 부족합니다. 따라서, 많은 연구들은 W+ 공간으로 이미지를 반전시켜 distortion을 줄이는 대신 약간의 editability를 희생하는 방법을 택하고 있습니다.

e4e [2]는 이러한 특성을 이용하여 W 가까이에 있는 W+를 예측하도록 하는 encoder를 설계하였습니다. Hyperstyle 은 pre-trained e4e를 encoder로 사용하여 W공간에 가까운 latent를 사용하였습니다.

Method

Figure 3. HyperStyle Framework
  • 목표

저자들의 목표는 이미지 x에 대하여 eq(1) 을 만족하는 generator weight를 찾는 것임을 기억합시다.

그러기 위해서는 먼저 W 공간에 가까운, 적당한 초기 latent 코드 w_init 을 찾아야 합니다. 이는 앞서 소개한 pre-trained encoder e4e[2] 를 통해 구합니다. 그리고 새로운 weight θ ̂를 예측하기 위한 hypernetwork H를 도입하게 되는데, 아래의 loss와 같이 여러 장의 이미지 x 와 처음 재건된 이미지 ŷ_init=G(ŵ_init ; θ) 간의 distortion을 줄이는 방향으로 학습이 됩니다.

eq (2). HyperStyle Loss

즉, 예측된 weight 가 θ ̂=H(y ̂_init; x) 일 때, 최종적인 이미지 재건 결과는
y ̂=G(w ̂_init; θ ̂)가 됩니다. 여기서 특징적으로 저자들은 바로 weight를 예측하지 않는 대신, 점차적으로 weight를 업데이트하기 위해 ‘iterative refinement’라는 방법을 사용합니다.

요약하자면, hyperstyle은 5번 정도의 적은 수의 step으로 layer (ℓ=1, …, M) 별 weight offset Δ_ℓ 를 구하여, 점진적으로 generator weight를 튜닝합니다 (eq(3)) . 이러한 방법은 동일한 저자들의 기존 논문 Restyle [3]에서 먼저 소개되었는데, 더욱 정확한 이미지 재건에 효과적이라고 합니다.

Hypernetwork Design

StyleGAN2의 파라미터 수가 30M 개 정도 있는 상황에서 각각의 offset을 모두 구하는 것은 매우 고가의 비용이 듭니다. 따라서 학습 경량화를 위하여 세 가지 방법을 사용합니다.

1) 각 파라미터 별로가 아닌 channel-wise로 offset을 구하며 2) 같은 크기의 합성곱 블록끼리 refinement block의 fc layer를 공유하고 3) 마지막으로 모든 layer가 아닌 특정 layer의 가중치만 업데이트하는 방법을 사용합니다.

1. channel-wise로 offset

StyleGAN의 ℓ번째 합성곱 레이어의 weight (θ_ℓ^ij)를 i 번째 합성곱 필터의 j 번째 channel 단위로 업데이트를 하게 됩니다. (i = 1, …, C_ℓ^out, j = 1, …, C_ℓ^in)

Restyle[3] 에서 소개된 weight update 방법처럼 T (=5) step을 수행한다고 했을 때 각 step t마다 offset Δ_t=H(y ̂_(t-1), x) 을 구하여, output 이미지 y ̂_t=G(w ̂_init; θ ̂_t) 를 업데이트하기 위해 weight를 다음과 같은 방식으로 튜닝합니다.

eq (3). Iterative refinement

그림으로 다시 설명하자면 hypernetwork는 그림 2의 회색 박스 부분에 해당하고, ResNet34 backbone을 통과한 16×16×512 feature map 이 다시 refinement block의 입력으로 들어가서 offset을 예측합니다. channel-wise offset의 크기가
1×1×C_ℓ^in×C_ℓ^out 기 때문에 θ_ℓ 와 크기를 맞춰주기 위해서 kernel 사이즈인 k_ℓ×k_ℓ번 복사되어 eq(3)에 사용됩니다.

2. sharing refinement block :

refinement block 은 다음 그림과 같이 여러 개의 downsampling layer들과 fc layer로 이루어져 있는데, 가장 많고 크기가 큰 3×3×512×512 합성곱 블록들끼리 같은 fc layer를 공유하도록 해줍니다.

Figure 3. Refinement Block

3. Selective layer refinement :

toRGB layer는 픽셀 별로 그 텍스처와 색을 조절하기 때문에 toRGB layer의 weight는 변경하지 않는 것이 좋습니다. 따라서 non-toRGB layer의 weight만 업데이트하는데, 이때도 course, medium, fine layer들 중 medium 과 fine에 해당하는 layer들만 튜닝합니다. 이에 대한 ablation은 논문에 나와있습니다.

Results

  • Dataset : 학습을 위해 FFHQ, 테스트를 위해 CelebA-HQ 데이터 셋을 사용합니다.
  1. Reconstruction Quality

encoder-based 방법들(pSp, e4e, Restyle) 과 비교했을 때, 훨씬 높은 정확도로 이미지를 재건하며 optimization-based 방법들 (PTI, latent vector opimization)에 비해 훨씬 적은 시간과 계산량으로도 비슷한 수준으로 이미지를 재생성합니다.

Figure 4. Qualitative comparison for reconstruction performance.
Table 1. Quantitative comparison for reconstruction performance.

2. Editability Quality

  • 정확한 이미지 생성만큼이나 높은 editability를 갖게 되는 것은 중요한데, 앞서 다뤘듯이 distortion 과 editabilty 간의 상충관계가 존재하기 때문에 둘 다 좋은 성능을 보이기는 쉽지 않습니다. 여기서 editability quality를 측정하기 위해 이미지의 ID를 유지하면서 변경 가능한 범위를 살펴보았습니다.
  • 기존 encoder-based 방법들의 한계를 먼저 살펴보면 pSp 와 Restyle_pSp는 W+ space로 이미지를 반전시키기 때문에 editibility가 좋지 않으며, e4e 와 Restyle_e4e의 경우 editability는 좋지만 얼굴의 ID를 유지하지 못합니다. Hyperstyle은 optimization-based 방법들에 비해 훨씬 빠른 속도로도 비슷한 editabilty 성능을 보입니다.
Figure 5. Qualitative comparison for editing performance.
Figure 6. Quantitative comparison for reconstruction performance.

3. Domain Adaptation

  • 다른 유사한 도메인으로 적응(adaptation) 시키기 위해 사전에 학습된 StyleGAN 을 파인튜닝할 수 있습니다. 그러나 수염이나 머리 색과 같은 몇 가지 얼굴 특성들이 사라질 수 있기 때문에 Hyperstyle은 파인튜닝된 target generator에 source generator로 학습된 offset을 적용합니다.
  • 아래 결과에서 보시다시피 Hyperstyle만이 ID를 잃지 않고 이미지를 다른 도메인으로 성공적으로 이전할 수 있습니다. 심지어는 out-of-domain으로도 좋은 generalization adaption 성능을 보이는데, 그 실험 결과들은 논문을 참조해 주시기 바랍니다.
Figure 7. Qualitative comparison for domain adaptation performance.

Conclusion

지금까지 StyleGAN inversion을 위한 방법으로 성능과 실용성을 모두 갖춘 Hyperstyle에 대해 살펴보았습니다. 실제 산업에서 이미지 재건 및 수정을 하려면 실시간으로 할 수 있어야만 실효성이 있습니다. 특히 저희 Klleon은 이미지뿐만 아니라 video를 많이 다루는데, 한 장 한 장의 이미지 frame마다 시간을 단축할 수 있어야 합니다. 이런 측면에서 기존 상충관계를 해결하여 빠른 시간으로 좋은 이미지 성능을 유지할 수 있는 Hyperstyle은 KLleon에서도 유용하게 사용할 수 있을 것 같습니다. 다음에도 stylegan inversion을 적용하여 다양한 task을 해결한 논문들을 소개하겠습니다.

References

[1] Roich, Daneil et al., ‘Pivotal Tuning for latent-based editing of real images’, arXiv 2021

[2] Tov, Omer et al., ‘Designing an encoder for stylegan image manipulation’, 2021

[3] Alaluf, Yuval., ‘Restyle: A residual-based stylegan encoder via iterative refinement’., ICCV 2021

--

--