DynaGAN: Dynamic Few-shot Adaptation of GANs to Multiple Domains
Official PyTorch Implementation of the SIGGRAPH Asia 2022 Paper
DynaGAN: Dynamic Few-shot Adaptation of GANs to Multiple Domains
Seongtae Kim, Kyoungkook Kang, Geonung Kim, Seung-Hwan Baek, Sunghyun Cho
Few-shot domain adaptation to multiple domains aims to learn a complex image distribution across multiple domains from a few training images. A naïve solution here is to train a separate model for each domain using few-shot domain adaptation methods. Unfortunately, this approach mandates linearly-scaled computational resources both in memory and computation time and, more importantly, such separate models cannot exploit the shared knowledge between target domains. In this paper, we propose DynaGAN, a novel few-shot domain-adaptation method for multiple target domains. DynaGAN has an adaptation module, which is a hyper-network that dynamically adapts a pretrained GAN model into the multiple target domains. Hence, we can fully exploit the shared knowledge across target domains and avoid the linearly-scaled computational requirements. As it is still computationally challenging to adapt a large-size GAN model, we design our adaptation module light-weight using the rank-1 tensor decomposition. Lastly, we propose a contrastive-adaptation loss suitable for multi-domain few-shot adaptation. We validate the effectiveness of our method through extensive qualitative and quantitative evaluations.
git clone https://github.com/blueGorae/DynaGAN.git
cd DynaGANAll python dependencies for defining the environment are provided in ./environment/environment.yml.
conda env create -f environment/environment.ymlDownload files under pretrained_models/.
| Model | Description |
|---|---|
| ffhq.pt | StyleGAN model pretrained on FFHQ with 1024x1024 output resolution. |
| ffhq_PCA.npz | PCA components of the pretrained StyleGAN(FFHQ) latent space. |
| ArcFace | Pretrained face recognition model to calculate identity loss. |
| afhqcat.pt | StyleGAN model pretrained on AFHQ_Cat with 512x512 output resolution. |
| afhqcat_PCA.npz | PCA components of the pretrained StyleGAN(AFHQ_Cat) latent space. |
Before training your model, put target images in the target_data/raw_data/ directory and run
bash ./scripts/train.shTo generate multiple domain image samples, run
bash ./scripts/generate.shThe outputs will be stored in samples/.
This code is borrowed from MindtheGap.
@inproceedings{Kim2022DynaGAN,
title = {DynaGAN: Dynamic Few-shot Adaptation of GANs to Multiple Domains},
author = {Seongtae Kim and Kyoungkook Kang and Geonung Kim and Seung-Hwan Baek and Sunghyun Cho},
booktitle = {Proceedings of the ACM (SIGGRAPH Asia)},
year = {2022}
}