
Abbildung 1: Sequenzen von Bildabschnitten, die unter Verwendung von Control durchgeführt wurden, die mit unserer Methode entdeckt wurden und auf drei verschiedene Gans angewendet wurden. Die weißen Insets geben die jeweiligen Änderungen an, die unter Verwendung von Notation in Abschnitt 3.4 („Schicht-Weise“) unter Verwendung von Notation angegeben sind.
GANSPACE: Entdecken Sie interpretierbare GaN -Kontrollen
Erik Härkönen 1,2 , Aaron Hertzmann 2 , Jaakko Lehtinen 1,3 , Sylvain Paris 2
1 Aalto University, 2 Adobe Research, 3 Nvidia
https://arxiv.org/abs/2004.02546Abstract: In diesem Artikel wird eine einfache Technik zur Analyse generativer kontroverser Netzwerke (GANs) und der Erstellung interpretierbarer Steuerelemente für die Bildsynthese wie Änderung des Standpunkts, Alterns, Beleuchtung und Tageszeit beschrieben. Wir identifizieren wichtige latente Richtungen anhand der im Aktivierungsraum angewendeten Hauptkomponentenanalyse (PCA). Anschließend zeigen wir, dass interpretierbare Änderungen basierend auf der Ebene der Ebene dieser Bearbeitungsanweisungen definiert werden können. Darüber hinaus zeigen wir, dass Biggan auf stylegan-ähnliche Weise mit schichtweisen Eingaben kontrolliert werden kann. Ein Benutzer kann eine große Anzahl interpretierbarer Steuerelemente mit diesen Mechanismen identifizieren. Wir zeigen Ergebnisse zu Gans aus verschiedenen Datensätzen.
Video: https://youtu.be/jdticda_eaii
Siehe die Setup -Anweisungen.
Dieses Repository enthält Versionen von Biggan, Stylegan und Stylegan2, die modifiziert wurden, um pro Schicht latente Vektoren zu unterstützen.
Interaktive Modellexploration
# 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
Visualisieren Sie die Hauptkomponenten
# 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
Optionen
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
Alle im Hauptpapier vorgestellten Zahlen können mit den mitgelieferten Jupyter -Notizbüchern nachgebildet werden:
figure_teaser.ipynbfigure_pca_illustration.ipynbfigure_pca_cleanup.ipynbfigure_style_content_sep.ipynbfigure_supervised_comp.ipynbfigure_biggan_style_resampling.ipynbfigure_edit_zoo.ipynb BaseModel -Schnittstelle einen Wrapper für das Modell in models/wrappers.py .get_model() in models/wrappers.py . Es ist möglich, geschulte Stylegan- und Stylegan2 -Gewichte aus Tensorflow in Ganspace zu importieren.
conda install tensorflow-gpu=1.* .__init__() , load_model() in models/wrappers.py unter Klassenstilgan.checkpoints/stylegan2/<dataset>_<resolution>.pt .__init__() , download_checkpoint() in models/wrappers.py unter Klassenstylegan2. Wir möchten uns danken:
@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}
}
Der Code dieses Repositorys wird unter der Apache 2.0 -Lizenz veröffentlicht.
Das Verzeichnis netdissect ist ein Derivat des GaN Dissektionsprojekts und wird im Rahmen der MIT -Lizenz bereitgestellt.
Die Verzeichnismodelle models/biggan und models/stylegan2 werden im Rahmen der MIT -Lizenz bereitgestellt.