
図1: 3つの異なるGANに適用された方法で発見されたコントロールを使用して実行された画像編集のシーケンス。白い挿入図は、セクション3.4(「レイヤーごとの編集」)で説明されている表記を使用して特定の編集を指定します。
ガンスペース:解釈可能なGanコントロールの発見
ErikHärkönen1,2 、Aaron Hertzmann 2 、Jaakko Lehtinen 1,3 、Sylvain Paris 2
1 Aalto University、 2 Adobe Research、 3 Nvidia
https://arxiv.org/abs/2004.02546要約:このホワイトペーパーでは、生成的敵対ネットワーク(GAN)を分析し、視点の変化、老化、照明、時刻などの画像合成の解釈可能なコントロールを作成する簡単な手法について説明します。活性化空間に適用される主成分分析(PCA)に基づいて、重要な潜在方向を特定します。次に、これらの編集方向のレイヤーごとのアプリケーションに基づいて、解釈可能な編集が定義できることを示します。さらに、Bigganをスタイルガンのような方法でレイヤーワイズ入力で制御できることを示します。ユーザーは、これらのメカニズムを備えた多数の解釈可能なコントロールを特定する場合があります。さまざまなデータセットのGANの結果を示します。
ビデオ: https://youtu.be/jdticda_eai
セットアップ手順を参照してください。
このリポジトリには、Biggan、Stylegan、およびLyedgan2のバージョンが変更され、層ごとの潜在ベクトルをサポートするように変更されています。
インタラクティブモデルの探索
# Explore BigGAN-deep husky
python interactive.py --model=BigGAN-512 --class=husky --layer=generator.gen_z -n=1_000_000
# Explore StyleGAN2 ffhq in W space
python interactive.py --model=StyleGAN2 --class=ffhq --layer=style --use_w -n=1_000_000 -b=10_000
# Explore StyleGAN2 cars in Z space
python interactive.py --model=StyleGAN2 --class=car --layer=style -n=1_000_000 -b=10_000
# Apply previously saved edits interactively
python interactive.py --model=StyleGAN2 --class=ffhq --layer=style --use_w --inputs=out/directions
主成分を視覚化します
# Visualize StyleGAN2 ffhq W principal components
python visualize.py --model=StyleGAN2 --class=ffhq --use_w --layer=style -b=10_000
# Create videos of StyleGAN wikiart components (saved to ./out)
python visualize.py --model=StyleGAN --class=wikiart --use_w --layer=g_mapping -b=10_000 --batch --video
オプション
Command line paramaters:
--model one of [ProGAN, BigGAN-512, BigGAN-256, BigGAN-128, StyleGAN, StyleGAN2]
--class class name; leave empty to list options
--layer layer at which to perform PCA; leave empty to list options
--use_w treat W as the main latent space (StyleGAN / StyleGAN2)
--inputs load previously exported edits from directory
--sigma number of stdevs to use in visualize.py
-n number of PCA samples
-b override automatic minibatch size detection
-c number of components to keep
メインペーパーに掲載されているすべての数字は、付属のJupyterノートブックを使用して再作成できます。
figure_teaser.ipynbfigure_pca_illustration.ipynbfigure_pca_cleanup.ipynbfigure_style_content_sep.ipynbfigure_supervised_comp.ipynbfigure_biggan_style_resampling.ipynbfigure_edit_zoo.ipynb BaseModelインターフェイスを使用して、 models/wrappers.pyでモデルのラッパーを作成します。models/wrappers.pyのget_model()にモデルを追加します。 TensorflowからGanspaceに訓練されたStyleganとStylegan2の重量をインポートすることができます。
conda install tensorflow-gpu=1.* 。__init__() 、 load_model() in models/wrappers.pyクラスStyleganの下で。checkpoints/stylegan2/<dataset>_<resolution>.ptとして保存します。__init__() 、 download_checkpoint()のmodels/wrappers.pyクラスStylegan2の下。 感謝したい:
@inproceedings{härkönen2020ganspace,
title = {GANSpace: Discovering Interpretable GAN Controls},
author = {Erik Härkönen and Aaron Hertzmann and Jaakko Lehtinen and Sylvain Paris},
booktitle = {Proc. NeurIPS},
year = {2020}
}
このリポジトリのコードは、Apache 2.0ライセンスの下でリリースされます。
ディレクトリnetdissectはGAN解剖プロジェクトの派生物であり、MITライセンスの下で提供されています。
ディレクトリmodels/bigganとmodels/stylegan2は、MITライセンスの下で提供されます。