cedro-blog

StyleGAN-Humanで、全身画像を生成する

1.はじめに

 今まで、GANで人の鮮明な全身画像を生成することは、その複雑な形状から難しい課題でした。今回ご紹介するのは、それを可能にしたStyleGAN-Humanという技術です。

2.StyleGAN-Humanとは?

 現時点で、まだこの技術の論文は公開されていませんので詳細は不明ですが、Abstract(概略)を眺めて見ると、

 StyleGANを使って、学習データのサイズ、分散、アラインメントについて特に注力して研究した結果以下の3点が明らかになった。

  1. データサイズは、40Kを超える大規模なものが必要
  2. バランスの取れたトレーニングセットが重要だが、衣服のテクスチャ分布のバランスをとるだけでは十分ではない。
  3. アライメントはボディセンターを使うモデルが、顔のセンターや骨盤の位置を使うモデルよりも優れている。

               

 まだベールに包まれていますが、とりあえずコードが公開されているので動かしてみましょう。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンク」をクリックし表示されたノートブックの先頭にある「Colab on Web」ボタンをクリックすると動かせます。

 まず、セットアップを行います。

 

 まず、単純に画像生成してみましょう。seeds に数字を指定(1,2 の様にカンマで区切っても、0-4の様に範囲でもOK)して、実行します。なお、表示の関係で数字は50個以内にして下さい。

 次に、2つの画像で補間動画を作成してみましょう。seeds に2つ数字を指定(3つ以上指定した場合は先頭の2つのみ有効)して、実行します。

 今度は、InterfaceGANで衣服の長さを編集してみましょう。attr_nameでupper_length(上半身)かbotom_length(下半身)を選択し、実行します。

 左から、元画像、InterfaceGAN、StyleSpace、Sefa です(stylespaceとSefaは比較)。ついでに下半身も変化していますが、ご愛嬌ということで。

 styleGANを使っているので、当然style-mixingができます。rows(縦軸)とcols(横軸)を数字で選んで実行します。縦軸の人が横軸の人のスタイルに影響を受けて画像が変化します。

 最後に、insetGANを使って、顔とボディを組み合わせてみます。

 この技術、ファッション関係の様々なルーチン作業を根本的に変革させるパワーを秘めていますね。凄い!

 では、また。

(オリジナルgithub)https://github.com/stylegan-human/StyleGAN-Human