***** جديد: Stargan V2 متاح على https://github.com/clovaai/stargan-v2 *****

يوفر هذا المستودع تنفيذ Pytorch الرسمي للورقة التالية:
ستارغان: شبكات عدوانية توحيد موحدة لترجمة صورة إلى صورة متعددة المجالات
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 جامعة هونغ كونغ للعلوم والتكنولوجيا
https://arxiv.org/abs/1711.09020الخلاصة: أظهرت الدراسات الحديثة نجاحًا ملحوظًا في ترجمة صورة إلى صورة لمجالين. ومع ذلك ، فإن الأساليب الحالية لها قابلية التوسع والمتانة المحدودة في التعامل مع أكثر من مجالين ، حيث يجب بناء نماذج مختلفة بشكل مستقل لكل زوج من مجالات الصور. لمعالجة هذا القيد ، نقترح Stargan ، وهو نهج جديد وقابل للتطوير يمكن أن يؤدي ترجمات صورة إلى صورة لمجالات متعددة باستخدام نموذج واحد فقط. تتيح هذا بنية النموذج الموحد لـ Stargan التدريب المتزامن لمجموعات البيانات المتعددة مع مجالات مختلفة داخل شبكة واحدة. يؤدي ذلك إلى جودة Stargan المتفوقة للصور المترجمة مقارنةً بالموديلات الموجودة بالإضافة إلى القدرة الجديدة لترجمة صورة الإدخال بمرونة إلى أي مجال مستهدف مطلوب. نوضح بشكل تجريبي فعالية نهجنا على نقل سمة الوجه ومهام توليف تعبير الوجه.
لتنزيل مجموعة بيانات Celeba:
git clone https://github.com/yunjey/StarGAN.git
cd StarGAN/
bash download.sh celebaلتنزيل مجموعة بيانات RAFD ، يجب عليك طلب الوصول إلى مجموعة البيانات من موقع قاعدة بيانات Radboud Faces. ثم ، تحتاج إلى إنشاء بنية مجلد كما هو موضح هنا.
لتدريب ستارجان على سيليبا ، قم بتشغيل البرنامج النصي التدريبي أدناه. انظر هنا للحصول على قائمة بالسمات القابلة للتحديد في مجموعة بيانات 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لتدريب ستارجان على 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لتدريب ستارجان على كل من سيليبا و 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 .
$ 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 ، على المناقشات الثاقبة.