***** Baru: Stargan V2 tersedia di https://github.com/clovaai/sargan-v2 *****

Repositori ini memberikan implementasi Pytorch resmi dari makalah berikut:
Stargan: Jaringan permusuhan generatif terpadu untuk terjemahan gambar-ke-gambar multi-domain
Yunjey Choi 1,2 , Minje Choi 1,2 , Munyoung Kim 2,3 , Jung-Woo Ha 2 , Sung Kim 2,4 , Jaegul Choo 1,2
1 Universitas Korea, 2 Penelitian Clova AI, Naver Corp.
3 The College of New Jersey, 4 Universitas Sains dan Teknologi Hong Kong
https://arxiv.org/abs/1711.09020Abstrak: Studi terbaru telah menunjukkan keberhasilan luar biasa dalam terjemahan gambar-ke-gambar untuk dua domain. Namun, pendekatan yang ada memiliki skalabilitas dan kekokohan yang terbatas dalam menangani lebih dari dua domain, karena model yang berbeda harus dibangun secara independen untuk setiap pasangan domain gambar. Untuk mengatasi keterbatasan ini, kami mengusulkan Stargan, pendekatan baru dan skalabel yang dapat melakukan terjemahan gambar-ke-gambar untuk beberapa domain hanya menggunakan model tunggal. Arsitektur model yang terpadu dari Stargan memungkinkan pelatihan simultan dari beberapa dataset dengan domain yang berbeda dalam satu jaringan. Hal ini mengarah pada kualitas unggul Stargan dari gambar yang diterjemahkan dibandingkan dengan model yang ada serta kemampuan baru untuk menerjemahkan gambar input secara fleksibel ke domain target yang diinginkan. Kami secara empiris menunjukkan efektivitas pendekatan kami pada transfer atribut wajah dan tugas sintesis ekspresi wajah.
Untuk mengunduh dataset celeba:
git clone https://github.com/yunjey/StarGAN.git
cd StarGAN/
bash download.sh celebaUntuk mengunduh dataset RAFD, Anda harus meminta akses ke dataset dari situs web Radboud Faces Database. Kemudian, Anda perlu membuat struktur folder seperti yang dijelaskan di sini.
Untuk melatih Stargan di Celeba, jalankan skrip pelatihan di bawah ini. Lihat di sini untuk daftar atribut yang dapat dipilih dalam dataset Celeba. Jika Anda mengubah argumen selected_attrs , Anda juga harus mengubah argumen c_dim .
# Train StarGAN using the CelebA dataset
python main.py --mode train --dataset CelebA --image_size 128 --c_dim 5
--sample_dir stargan_celeba/samples --log_dir stargan_celeba/logs
--model_save_dir stargan_celeba/models --result_dir stargan_celeba/results
--selected_attrs Black_Hair Blond_Hair Brown_Hair Male Young
# Test StarGAN using the CelebA dataset
python main.py --mode test --dataset CelebA --image_size 128 --c_dim 5
--sample_dir stargan_celeba/samples --log_dir stargan_celeba/logs
--model_save_dir stargan_celeba/models --result_dir stargan_celeba/results
--selected_attrs Black_Hair Blond_Hair Brown_Hair Male YoungUntuk melatih Stargan di RAFD:
# Train StarGAN using the RaFD dataset
python main.py --mode train --dataset RaFD --image_size 128
--c_dim 8 --rafd_image_dir data/RaFD/train
--sample_dir stargan_rafd/samples --log_dir stargan_rafd/logs
--model_save_dir stargan_rafd/models --result_dir stargan_rafd/results
# Test StarGAN using the RaFD dataset
python main.py --mode test --dataset RaFD --image_size 128
--c_dim 8 --rafd_image_dir data/RaFD/test
--sample_dir stargan_rafd/samples --log_dir stargan_rafd/logs
--model_save_dir stargan_rafd/models --result_dir stargan_rafd/resultsUntuk melatih Stargan di Celeba dan Rafd:
# Train StarGAN using both CelebA and RaFD datasets
python main.py --mode=train --dataset Both --image_size 256 --c_dim 5 --c2_dim 8
--sample_dir stargan_both/samples --log_dir stargan_both/logs
--model_save_dir stargan_both/models --result_dir stargan_both/results
# Test StarGAN using both CelebA and RaFD datasets
python main.py --mode test --dataset Both --image_size 256 --c_dim 5 --c2_dim 8
--sample_dir stargan_both/samples --log_dir stargan_both/logs
--model_save_dir stargan_both/models --result_dir stargan_both/resultsUntuk melatih Stargan pada dataset Anda sendiri, buat struktur folder dalam format yang sama dengan RAFD dan jalankan perintah:
# Train StarGAN on custom datasets
python main.py --mode train --dataset RaFD --rafd_crop_size CROP_SIZE --image_size IMG_SIZE
--c_dim LABEL_DIM --rafd_image_dir TRAIN_IMG_DIR
--sample_dir stargan_custom/samples --log_dir stargan_custom/logs
--model_save_dir stargan_custom/models --result_dir stargan_custom/results
# Test StarGAN on custom datasets
python main.py --mode test --dataset RaFD --rafd_crop_size CROP_SIZE --image_size IMG_SIZE
--c_dim LABEL_DIM --rafd_image_dir TEST_IMG_DIR
--sample_dir stargan_custom/samples --log_dir stargan_custom/logs
--model_save_dir stargan_custom/models --result_dir stargan_custom/results Untuk mengunduh pos pemeriksaan model pra-terlatih, jalankan skrip di bawah ini. Pos pemeriksaan model pra-terlatih akan diunduh dan disimpan ke dalam ./stargan_celeba_128/models Directory.
$ bash download.sh pretrained-celeba-128x128 Untuk menerjemahkan gambar menggunakan model pra-terlatih, jalankan skrip evaluasi di bawah ini. Gambar yang diterjemahkan akan disimpan ke dalam direktori ./stargan_celeba_128/results .
$ python main.py --mode test --dataset CelebA --image_size 128 --c_dim 5
--selected_attrs Black_Hair Blond_Hair Brown_Hair Male Young
--model_save_dir= ' stargan_celeba_128/models '
--result_dir= ' stargan_celeba_128/results ' Jika Anda menemukan pekerjaan ini berguna untuk penelitian Anda, silakan kutip makalah kami:
@inproceedings{choi2018stargan,
author={Yunjey Choi and Minje Choi and Munyoung Kim and Jung-Woo Ha and Sunghun Kim and Jaegul Choo},
title={StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
year={2018}
}
Pekerjaan ini terutama dilakukan ketika penulis pertama melakukan magang penelitian di Clova AI Research, Naver. Kami berterima kasih kepada semua peneliti di Naver, terutama Donghyun Kwak, untuk diskusi yang mendalam.