***** ใหม่: Stargan V2 มีให้ที่ https://github.com/clovaai/stargan-v2 *****

ที่เก็บนี้ให้การดำเนินการ Pytorch อย่างเป็นทางการของบทความต่อไปนี้:
Stargan: เครือข่าย enderative enderative สำหรับการแปลภาพหลายโดเมน
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 มหาวิทยาลัยเกาหลี, 2 Clova AI Research, Naver Corp.
3 วิทยาลัยแห่งรัฐนิวเจอร์ซีย์ 4 มหาวิทยาลัยวิทยาศาสตร์และเทคโนโลยีฮ่องกง 4 ฮ่องกง
https://arxiv.org/abs/1711.09020บทคัดย่อ: การศึกษาล่าสุดแสดงให้เห็นถึงความสำเร็จที่น่าทึ่งในการแปลภาพเป็นภาพสำหรับสองโดเมน อย่างไรก็ตามวิธีการที่มีอยู่มีความสามารถในการปรับขนาดและความทนทานในการจัดการมากกว่าสองโดเมนเนื่องจากรุ่นที่แตกต่างกันควรถูกสร้างขึ้นอย่างอิสระสำหรับโดเมนภาพทุกคู่ เพื่อจัดการกับข้อ จำกัด นี้เราเสนอ Stargan ซึ่งเป็นวิธีการใหม่และปรับขนาดได้ซึ่งสามารถทำการแปลแบบภาพเป็นภาพสำหรับหลายโดเมนโดยใช้รุ่นเดียวเท่านั้น สถาปัตยกรรมแบบครบวงจรดังกล่าวของ Stargan ช่วยให้การฝึกอบรมชุดข้อมูลหลายชุดพร้อมกันพร้อมโดเมนต่าง ๆ ภายในเครือข่ายเดียว สิ่งนี้นำไปสู่คุณภาพที่เหนือกว่าของสตาร์แกนเมื่อเทียบกับรุ่นที่มีอยู่รวมถึงความสามารถใหม่ในการแปลภาพอินพุตอย่างยืดหยุ่นไปยังโดเมนเป้าหมายที่ต้องการ เราแสดงให้เห็นถึงประสิทธิภาพของวิธีการของเราในการถ่ายโอนแอตทริบิวต์ใบหน้าและงานสังเคราะห์การแสดงออกทางสีหน้า
ในการดาวน์โหลดชุดข้อมูล Celeba:
git clone https://github.com/yunjey/StarGAN.git
cd StarGAN/
bash download.sh celebaในการดาวน์โหลดชุดข้อมูล RAFD คุณต้องขอการเข้าถึงชุดข้อมูลจากเว็บไซต์ฐานข้อมูล Radboud Faces จากนั้นคุณต้องสร้างโครงสร้างโฟลเดอร์ตามที่อธิบายไว้ที่นี่
ในการฝึกฝน Stargan บน Celeba ให้เรียกใช้สคริปต์การฝึกอบรมด้านล่าง ดูที่นี่สำหรับรายการแอตทริบิวต์ที่เลือกได้ในชุดข้อมูล Celeba หากคุณเปลี่ยนอาร์กิวเมนต์ selected_attrs คุณควรเปลี่ยนอาร์กิวเมนต์ 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 Youngเพื่อฝึก Stargan บน 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/resultsเพื่อฝึก Stargan ทั้ง Celeba และ 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/resultsในการฝึกอบรม Stargan ในชุดข้อมูลของคุณเองให้สร้างโครงสร้างโฟลเดอร์ในรูปแบบเดียวกับ RAFD และเรียกใช้คำสั่ง:
# 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 ในการดาวน์โหลดจุดตรวจสอบรุ่นที่ผ่านการฝึกอบรมมาก่อนให้เรียกใช้สคริปต์ด้านล่าง จุดตรวจสอบรุ่นที่ผ่านการฝึกอบรมมาก่อนจะถูกดาวน์โหลดและบันทึกลงในไดเรกทอรี ./stargan_celeba_128/models
$ bash download.sh pretrained-celeba-128x128 ในการแปลภาพโดยใช้โมเดลที่ผ่านการฝึกอบรมมาก่อนให้เรียกใช้สคริปต์การประเมินผลด้านล่าง ภาพที่แปลจะถูกบันทึกลงในไดเรกทอรี. ./stargan_celeba_128/results 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 ' หากคุณพบว่างานนี้มีประโยชน์สำหรับการวิจัยของคุณโปรดอ้างอิงบทความของเรา:
@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}
}
งานนี้ส่วนใหญ่ทำในขณะที่ผู้เขียนคนแรกได้ฝึกงานวิจัยที่ Clova AI Research, Naver เราขอขอบคุณนักวิจัยทุกคนที่ Naver โดยเฉพาะ Donghyun Kwak สำหรับการอภิปรายที่ลึกซึ้ง