Skip to content

StyleFlow: Attribute-conditioned Exploration of StyleGAN-generated Images using Conditional Continuous Normalizing Flows

Notifications You must be signed in to change notification settings

R3dFruitRollUp/StyleFlow

 
 

Repository files navigation

StyleFlow: Attribute-conditioned Exploration of StyleGAN-Generated Images using Conditional Continuous Normalizing Flows

Python 3.7 pytorch 1.1.0 TensorFlow 1.15.0 Torchdiffeq 0.0.1 pyqt5 5.13.0

image Figure: Sequential edits using StyleFlow

High-quality, diverse, and photorealistic images can now be generated by unconditional GANs (e.g., StyleGAN). However, limited options exist to control the generation process using (semantic) attributes, while still preserving the quality of the output. Further, due to the entangled nature of the GAN latent space, performing edits along one attribute can easily result in unwanted changes along other attributes. In this paper, in the context of conditional exploration of entangled latent spaces, we investigate the two sub-problems of attribute-conditioned sampling and attribute-controlled editing. We present StyleFlow as a simple, effective, and robust solution to both the sub-problems by formulating conditional exploration as an instance of conditional continuous normalizing flows in the GAN latent space conditioned by attribute features. We evaluate our method using the face and the car latent space of StyleGAN, and demonstrate fine-grained disentangled edits along various attributes on both real photographs and StyleGAN generated images. For example, for faces, we vary camera pose, illumination variation, expression, facial hair, gender, and age. Finally, via extensive qualitative and quantitative comparisons, we demonstrate the superiority of StyleFlow to other concurrent works.

StyleFlow: Attribute-conditioned Exploration of StyleGAN-Generated Images using Conditional Continuous Normalizing Flows
Rameen Abdal, Peihao Zhu, Niloy Mitra, Peter Wonka

[Paper] [Project Page] [Demo] [Promotional Video]

Installation

Clone this repo.

git clone https://github.com/RameenAbdal/StyleFlow.git
cd StyleFlow/

This code requires PyTorch, TensorFlow, Torchdiffeq, Python 3+ and Pyqt5. Please install dependencies by

conda env create -f environment.yml

StyleGAN2 relies on custom TensorFlow ops that are compiled on the fly using NVCC. To correctly setup the StyleGAN2 generator follow the Requirements in this repo.

Installation (Docker)

Clone this repo.

git clone https://github.com/RameenAbdal/StyleFlow.git
cd StyleFlow/

You must have CUDA (>=10.0 && <11.0) and nvidia-docker2 installed first !

Then, run :

xhost +local:docker # Letting Docker access X server
wget -P stylegan/ http://d36zk2xti64re0.cloudfront.net/stylegan2/networks/stylegan2-ffhq-config-f.pkl
docker-compose up --build # Expect some time before UI appears

When finished, run :

xhost -local:docker

UI Illustration

main main

Loading images may take 2 - 3 seconds on the first click. Move the slider smoothly to render results.

Editing Images Using Pretrained Models

  1. Run the main UI

    python main.py
  2. Run the Attribute Transfer UI

    python main_attribute.py 

Training New Model

To be added

License

All rights reserved. Licensed under the CC BY-NC-SA 4.0 (Attribution-NonCommercial-ShareAlike 4.0 International) The code is released for academic research use only.

Citation

If you use this research/codebase, please cite our papers.

@article{abdal2020styleflow,
  title={Styleflow: Attribute-conditioned exploration of stylegan-generated images using conditional continuous normalizing flows},
  author={Abdal, Rameen and Zhu, Peihao and Mitra, Niloy and Wonka, Peter},
  journal={arXiv e-prints},
  pages={arXiv--2008},
  year={2020}
}
@INPROCEEDINGS{9008515,
  author={R. {Abdal} and Y. {Qin} and P. {Wonka}},
  booktitle={2019 IEEE/CVF International Conference on Computer Vision (ICCV)}, 
  title={Image2StyleGAN: How to Embed Images Into the StyleGAN Latent Space?}, 
  year={2019},
  volume={},
  number={},
  pages={4431-4440},
  doi={10.1109/ICCV.2019.00453}}

Acknowledgments

This implementation builds upon the awesome work done by Karras et al. (StyleGAN2), Chen et al. (torchdiffeq) and Yang et al. (PointFlow). This work was supported by Adobe Research and KAUST Office of Sponsored Research (OSR).

About

StyleFlow: Attribute-conditioned Exploration of StyleGAN-generated Images using Conditional Continuous Normalizing Flows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 91.6%
  • Cuda 8.1%
  • Dockerfile 0.3%