Dieses Repository enthält Demo -Programme für den Talking Head (?) Anime aus einem einzigen Bild 3: Jetzt auch das Körperprojekt. Wie der Name schon sagt, ermöglicht das Projekt Sie, Anime -Charaktere zu animieren, und Sie benötigen nur ein einzelnes Bild dieses Charakters, um dies zu tun. Es gibt zwei Demo -Programme:
manual_poser können Sie den Gesichtsausdruck, die Kopfrotation, die Körperrotation und die Brustausdehnung eines Charakters aufgrund des Atmens durch eine grafische Benutzeroberfläche manipulieren.ifacialmocap_puppeteer können Sie Ihre Gesichtsbewegung auf einen Anime -Charakter übertragen. Wenn Sie nicht über die erforderliche Hardware (unten besprochen werden) oder den Code nicht herunterladen und eine Umgebung einrichten möchten, um ihn auszuführen, klicken Sie auf, um den manuellen Poser auf Google Colab auszuführen.
Beide Programme erfordern eine aktuelle und leistungsstarke NVIDIA -GPU. Ich könnte sie persönlich mit der Nvidia Titan RTX mit guter Geschwindigkeit laufen lassen. Ich denke jedoch, dass die jüngsten High-End-GPUs wie die RTX 2080, der RTX 3080 oder besser genauso gut funktionieren würden.
Das ifacialmocap_puppeteer benötigt ein iOS -Gerät, das in der Lage ist, Mischformparameter aus einem Video -Feed zu berechnen. Dies bedeutet, dass das Gerät in der Lage sein muss, iOS 11.0 oder höher auszuführen und über eine truedpth-vorne-Kamera zu verfügen. (Weitere Informationen finden Sie in dieser Seite.) Mit anderen Worten, wenn Sie das iPhone X oder etwas Besseres haben, sollten Sie alle festgelegt sein. Persönlich habe ich ein iPhone 12 Mini verwendet.
Bitte aktualisieren Sie den Gerätetreiber Ihrer GPU und installieren Sie das CUDA -Toolkit, das mit Ihrer GPU kompatibel ist und neuer ist als die Version, die Sie im nächsten Unterabschnitt installieren.
Sowohl manual_poser als auch ifacialmocap_puppeteer sind als Desktop -Anwendungen verfügbar. Um sie auszuführen, müssen Sie eine Umgebung einrichten, um Programme in der Python -Sprache auszuführen. Die Umgebung muss die folgenden Softwarepakete haben:
Eine Möglichkeit, dies zu tun, besteht darin, Anaconda zu installieren und die folgenden Befehle in Ihrer Shell auszuführen:
> conda create -n talking-head-anime-3-demo python=3.8
> conda activate talking-head-anime-3-demo
> conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
> conda install scipy
> pip install wxpython
> conda install matplotlib
Ab Juni 2006 können Sie WXPython mit Python 3.10 unter Windows nicht verwenden. Verwenden Sie infolgedessen Python 3.10 erst, wenn dieser Fehler behoben ist. Dies bedeutet, dass Sie python=3.10 im ersten conda -Befehl in der obigen Auflistung nicht festlegen sollten.
Die von den obige Befehle erstellte Umgebung bietet Ihnen Python Version 3.8 und eine Installation von Pytorch, die mit CUDA Toolkit Version 11.3 zusammengestellt wurde. Dieses spezielle Setup funktioniert möglicherweise nicht in der Zukunft, da Sie möglicherweise feststellen, dass dieses spezielle Pytorch -Paket nicht mit Ihrem neuen Computer funktioniert. Die Lösung ist::

Der manual_poser ist auch als Jupyter -Nootbook erhältlich. Um es auf Ihren lokalen Maschinen auszuführen, müssen Sie auch installieren:
In einigen Fällen müssen Sie auch die widgetsnbextension aktivieren. Also renn
> jupyter nbextension enable --py widgetsnbextension
Nach der Installation der oben genannten zwei Pakete. Mit Anaconda habe ich es mit den folgenden Befehlen geschafft:
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
Sie können auch Anaconda verwenden, um alle Python -Pakete in einem Befehl herunterzuladen und zu installieren. Öffnen Sie Ihre Shell, ändern Sie das Verzeichnis, wo Sie das Repository klonen, und führen Sie aus:
> conda env create -f environment.yml
Dadurch wird eine Umgebung namens talking-head-anime-3-demo geschaffen, die alle erforderlichen Python-Pakete enthält.
Wenn Sie ifacialmocap_puppeteer verwenden möchten, benötigen Sie auch eine iOS -Software namens iFacialMocap (ein 980 -Yen -Kauf im App Store). Diesmal müssen Sie die gepaarte Anwendung nicht herunterladen. Ihr iOS und Ihr Computer müssen dasselbe Netzwerk verwenden. Zum Beispiel können Sie sie mit demselben drahtlosen Router anschließen.
Bevor Sie die Programme ausführen, müssen Sie die Modelldateien von diesem Dropbox -Link herunterladen und in den Ordner data/models unter dem Stammverzeichnis des Repositorys entpacken. Am Ende sollte der Datenordner wie:
+ data
+ images
- crypko_00.png
- crypko_01.png
:
- crypko_07.png
- lambda_00.png
- lambda_01.png
+ models
+ separable_float
- editor.pt
- eyebrow_decomposer.pt
- eyebrow_morphing_combiner.pt
- face_morpher.pt
- two_algo_face_body_rotator.pt
+ separable_half
- editor.pt
:
- two_algo_face_body_rotator.pt
+ standard_float
- editor.pt
:
- two_algo_face_body_rotator.pt
+ standard_half
- editor.pt
:
- two_algo_face_body_rotator.pt
Die Modelldateien werden mit der internationalen Lizenz der Creative Commons Attribution 4.0 verteilt, was bedeutet, dass Sie sie für kommerzielle Zwecke verwenden können. Wenn Sie sie jedoch verteilen, müssen Sie unter anderem sagen, dass ich der Schöpfer bin.
manual_poserÖffnen Sie eine Hülle. Ändern Sie Ihr Arbeitsverzeichnis in das Root -Verzeichnis des Repositorys. Dann rennen Sie:
> python tha3/app/manual_poser.py
Beachten Sie, dass Sie vor dem Ausführen des obigen Befehls möglicherweise die Python -Umgebung aktivieren müssen, die die erforderlichen Pakete enthält. Wenn Sie eine Umgebung mit Anaconda erstellt haben, wie oben erläutert, müssen Sie laufen
> conda activate talking-head-anime-3-demo
Wenn Sie die Umgebung noch nicht aktiviert haben.
Wie in der Erstellung des Projekts erwähnt, habe ich 4 Varianten des neuronalen Netzwerksystems erstellt. Sie werden als standard_float , separable_float , standard_half und separable_half bezeichnet. Alle haben die gleichen Funktionen, aber sie unterscheiden sich in ihren Größen, RAM -Nutzung, Geschwindigkeit und Genauigkeit. Sie können angeben, welche Variante das Programm manual_poser über die Befehlszeilenoption --model verwendet.
> python tha3/app/manual_poser --model <variant_name>
wobei <variant_name> einer der 4 Namen oben sein muss. Wenn keine Variante angegeben ist, wird die standard_float -Variante (die die größte, langsamste und genaueste ist) verwendet.
manual_poser Jupyter NotebookÖffnen Sie eine Hülle. Aktivieren Sie die Umgebung. Ändern Sie Ihr Arbeitsverzeichnis in das Root -Verzeichnis des Repositorys. Dann rennen Sie:
> jupyter notebook
Ein Browserfenster sollte sich öffnen. Open manual_poser.ipynb . Sobald Sie dies getan haben, sollten Sie sehen, dass es zwei Zellen hat. Führen Sie die beiden Zellen in Ordnung. Scrollen Sie dann bis zum Ende des Dokuments nach unten und Sie werden die GUI dort sehen.
Sie können die Systemvariante auswählen, indem Sie die Variable MODEL_NAME in der ersten Zelle ändern. Wenn Sie dies tun, müssen Sie beide Zellen umgeben, damit die Variante geladen und die GUI ordnungsgemäß aktualisiert wird, um sie zu verwenden.
ifacialmocap_poserFühren Sie zuerst IfacialMocap auf Ihrem iOS -Gerät aus. Es sollte Ihnen die IP -Adresse des Geräts zeigen. Notiere es. Halten Sie die App offen.

Öffnen Sie eine Hülle. Aktivieren Sie die Python -Umgebung. Ändern Sie Ihr Arbeitsverzeichnis in das Root -Verzeichnis des Repositorys. Dann rennen Sie:
> python tha3/app/ifacialmocap_puppeteer.py
Sie sehen ein Textfeld mit Beschriftung "Capture Device IP". Schreiben Sie die IP -Adresse des iOS -Geräts, die Sie dort unten notiert haben.

Klicken Sie auf die Erfassung "Start!" Button nach rechts.

Wenn die Programme ordnungsgemäß verbunden sind, sollten Sie die Zahlen im unteren Teil des Fensters ändern, wenn Sie Ihren Kopf bewegen.

Jetzt können Sie ein Bild eines Charakters laden und es sollte Ihrer Gesichtsbewegung folgen.
Damit das System gut funktioniert, muss das Eingabebild den folgenden Einschränkungen befolgen:

Weitere Informationen zum Eingabebild finden Sie im Projekt des Projekts.
Wenn Ihre akademische Arbeit aus dem Code in diesem Repository profitiert, zitieren Sie bitte die Webseite des Projekts wie folgt:
Pramook Khungurn. Talking Head (?) Anime aus einem einzigen Bild 3: Jetzt auch der Körper. http://pkhungurn.github.io/talking-head-anime-3/, 2022. Zugriff: yyyy-mm-dd.
Sie können auch den folgenden Bibtex -Eintrag verwenden:
@misc{Khungurn:2022,
author = {Pramook Khungurn},
title = {Talking Head(?) Anime from a Single Image 3: Now the Body Too},
howpublished = {url{http://pkhungurn.github.io/talking-head-anime-3/}},
year = 2022,
note = {Accessed: YYYY-MM-DD},
}
Während der Autor ein Mitarbeiter von Google Japan ist, ist diese Software nicht das Produkt von Google und wird von Google nicht unterstützt.
Das Urheberrecht dieser Software gehört mir, da ich sie mit dem IARC -Prozess angefordert habe. Google könnte jedoch die Rechte an dem geistigen Eigentum dieser Erfindung beanspruchen.
Der Code wird unter der MIT -Lizenz veröffentlicht. Das Modell wird unter der internationalen Lizenz der Creative Commons Attribution 4.0 veröffentlicht. In der Datei readme.md finden Sie im data/images -Verzeichnis für die Lizenzen für die Bilder dort.