Skip to content

Files

Latest commit

 

History

History
 
 

StarGAN

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

StarGAN

Summary

stargan

CycleGANはシングルドメイン間でしか変換出来なかった。多ドメイン間では、また別のネットワークを用意する必要があった。
そこで多ドメイン間でも変換できるようにしたのがこのStarGAN。

  • Generatorは、どのドメインへと変化させるか、そのドメインを表すベクトルをconcatして代入する
  • Discriminatorは、real/fakeの判別だけでなく、どのドメインかを分類することも行う(ACGANと同様?)

Usage

データとデータラベルを.npyファイルを予め用意しておいて以下のコマンドを実行。

$ python stargan.py --nc_size <DOMAIN>
  • DOMAINに今回変換するドメインの数を指定する。6以下がよい。

Experiment

  • 論文中ではDiscriminatorとGeneratorの全層に対してInstance Normalizationを用いているが、学習が進まなかったためBatch Normalizationを用いている、
  • また、ドメイン数であるが私の環境では7以上は以下のようにうまく変換出来なかった、論文中では勿論7以上でも出来ているのでそういう意味では不完全である。 domain7

Result

私の環境で生成した画像を以下に示す。今回は髪色変換を行った。 image

  • 画像サイズは128 * 128
  • バッチサイズは24
  • ドメイン数は6
  • 最適化手法はAdam(α=0.0001, β1=0.5)
  • ドメインを表すベクトルは、対応するindexの要素だけ1にしている(例えばドメイン数3の場合は(1,0,0),(0,1,0),(0,0,1))