File size: 2,613 Bytes
45126e2
e9f675f
45126e2
 
 
 
 
 
 
 
d7dbcdd
715c849
d7dbcdd
 
 
 
 
 
 
715c849
d7dbcdd
 
 
 
 
 
 
 
 
 
 
4a7bf6e
d7dbcdd
 
 
 
 
 
 
 
 
 
 
12979fc
d7dbcdd
 
 
 
 
 
 
 
0585438
 
 
 
d7dbcdd
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
---

title: User-Controllable Latent Transformer 
emoji: 🕹️
colorFrom: gray
colorTo: green
sdk: gradio
sdk_version: 3.32.0
app_file: interface/app.py
pinned: false
---

# User-Controllable Latent Transformer for StyleGAN Image Layout Editing
  <a href="https://arxiv.org/abs/2208.12408"><img src="https://img.shields.io/badge/arXiv-2208.12408-b31b1b.svg"></a>
  <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg"></a>
<p align="center">
<img src="docs/teaser.jpg" width="800px"/>
</p>

This repository contains our implementation of the following paper:

Yuki Endo: "User-Controllable Latent Transformer for StyleGAN Image Layout Editing," Computer Graphpics Forum (Pacific Graphics 2022) [[Project](http://www.cgg.cs.tsukuba.ac.jp/~endo/projects/UserControllableLT)] [[PDF (preprint)](http://arxiv.org/abs/2208.12408)]

## Prerequisites  
1. Python 3.8
2. PyTorch 1.9.0
3. Flask
4. Others (see env.yml)

## Preparation
Download and decompress <a href="https://drive.google.com/file/d/1lBL_J-uROvqZ0BYu9gmEcMCNyaPo9cBY/view?usp=sharing">our pre-trained models</a>.

## Inference with our pre-trained models
<img src="docs/thumb.gif" width="150px"/><img src="docs/car.gif" width="150px"/><img src="docs/church.gif" width="150px"/><img src="docs/ffhq.gif" width="150px"/><img src="docs/anime.gif" width="150px"/><br>
We provide an interactive interface based on Flask. This interface can be locally launched with
```

python interface/flask_app.py --checkpoint_path=pretrained_models/latent_transformer/cat.pt

```
The interface can be accessed via http://localhost:8000/.

## Training
The latent transformer can be trained with
```

python scripts/train.py --exp_dir=results --stylegan_weights=pretrained_models/stylegan2-cat-config-f.pt

```
To perform training with your dataset, you need first to train StyleGAN2 on your dataset using [rosinality's code](https://github.com/rosinality/stylegan2-pytorch) and then run the above script with specifying the trained weights. 

## Citation
Please cite our paper if you find the code useful:
```

@Article{endoPG2022,

Title = {User-Controllable Latent Transformer for StyleGAN Image Layout Editing},

Author = {Yuki Endo},

Journal = {Computer Graphics Forum},

volume = {41},

number = {7},

pages = {395-406},

doi = {10.1111/cgf.14686},

Year = {2022}

}

```

## Acknowledgements
This code heavily borrows from the [pixel2style2pixel](https://github.com/eladrich/pixel2style2pixel) and [expansion](https://github.com/gengshan-y/expansion) repositories.