***** New : Stargan V2는 https://github.com/clovaai/stargan-v2에서 구입할 수 있습니다 *****

이 저장소는 다음 논문의 공식 Pytorch 구현을 제공합니다.
Stargan : 다중 도메인 이미지-이미지 변환을위한 통합 생성 적대 네트워크
Yunjey Choi 1,2 , Minje Choi 1,2 , Munyoung Kim 2,3 , Jung-ha 2 , Sung Kim 2,4 , Jaegul Choo 1,2
1 Korea University, 2 Clova AI Research, Naver Corp.
3 뉴저지 대학, 4 홍콩 과학 기술 대학교
https://arxiv.org/abs/1711.09020초록 : 최근의 연구는 두 영역에 대한 이미지 대 이미지 변환에서 현저한 성공을 보여주었습니다. 그러나 기존의 접근 방식은 2 개 이상의 도메인을 처리 할 때 확장 성과 견고성이 제한되어 있습니다. 왜냐하면 모든 이미지 도메인 쌍에 대해 서로 다른 모델을 독립적으로 구축해야하기 때문입니다. 이 제한을 해결하기 위해 단일 모델 만 사용하여 여러 도메인에 대한 이미지 간 이미지 변환을 수행 할 수있는 신규하고 확장 가능한 접근 방식 인 Stargan을 제안합니다. 이러한 StarGan의 통합 모델 아키텍처는 단일 네트워크 내에서 다른 도메인을 가진 여러 데이터 세트를 동시에 교육 할 수 있습니다. 이로 인해 기존 모델과 비교하여 Stargan의 우수한 품질의 번역 된 이미지와 원하는 대상 도메인으로 입력 이미지를 유연하게 번역하는 새로운 기능으로 이어집니다. 우리는 얼굴 속성 전송 및 얼굴 표현 합성 작업에 대한 접근 방식의 효과를 경험적으로 보여줍니다.
Celeba 데이터 세트를 다운로드하려면 :
git clone https://github.com/yunjey/StarGAN.git
cd StarGAN/
bash download.sh celebaRAFD 데이터 세트를 다운로드하려면 Radboud Faces 데이터베이스 웹 사이트에서 데이터 세트에 대한 액세스를 요청해야합니다. 그런 다음 여기에 설명 된대로 폴더 구조를 작성해야합니다.
Celeba에서 Stargan을 훈련 시키려면 아래 교육 스크립트를 실행하십시오. 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 YoungRAFD에서 Stargan을 훈련시키기 위해 :
# 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/resultsCeleba와 RAFD에서 Stargan을 훈련시키기 위해 :
# 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}
}
이 작업은 주로 이루어졌으며 첫 번째 저자는 Naver의 Clova AI Research에서 연구 인턴쉽을했습니다. 통찰력있는 토론을 위해 Naver의 모든 연구원, 특히 Donghyun Kwak에게 감사드립니다.