Este repositorio contiene programas de demostración para el anime de la cabeza parlante de una sola imagen 2: proyecto más expresivo. Similar a la versión anterior, tiene dos programas:
manual_poser le permite manipular la expresión facial y la rotación de la cabeza de un carácter de anime, dado en una sola imagen, a través de una interfaz gráfica de usuario. El Poser está disponible en dos formularios: una aplicación GUI estándar y un cuaderno de Jupyter.ifacialmocap_puppeteer le permite transferir su movimiento facial, capturado por una aplicación comercial de iOS llamada IfacialMocap, a una imagen de un carácter de anime. Si no tiene el hardware requerido (discutido a continuación) o no desea descargar el código y configurar un entorno para ejecutarlo, haga clic para intentar ejecutar el manual Poser en Google Colab.
Ambos programas requieren que se ejecute una GPU de NVIDIA reciente y poderosa. Yo personalmente podría ejecutarlos a buena velocidad con el Nvidia Titan RTX. Sin embargo, creo que las GPU de juegos de alta gama recientes como el RTX 2080, el RTX 3080 o mejor lo harían igual de bien.
El ifacialmocap_puppeteer requiere un dispositivo iOS que sea capaz de calcular los parámetros de forma de mezcla de una alimentación de video. Esto significa que el dispositivo debe poder ejecutar iOS 11.0 o más y debe tener una cámara frontal de trueDePth. (Consulte esta página para obtener más información). En otras palabras, si tiene el iPhone X o algo mejor, debería estar configurado. Personalmente, he usado un iPhone 12 Mini.
Ambos programas fueron escritos en Python 3. Para ejecutar las GUI, se requieren los siguientes paquetes de software:
En particular, creé el entorno para ejecutar los programas con Anaconda, utilizando los siguientes comandos:
> conda create -n talking-head-anime-2-demo python=3.8
> conda activate talking-head-anime-2-demo
> conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
> conda install scipy
> pip install wxPython
> conda install matplotlib
Nota: puede encontrar que las versiones particulares de Python (3.8) y CUDA Toolkit (10.2) podrían no funcionar para su configuración de computadora en particular. Cuando esto sucede, reemplace estas versiones con aquellos que trabajan con su hardware. El comando se convertiría:
> conda create -n talking-head-anime-2-demo python=[YOUR-PYTHON-VERSION]
> conda activate talking-head-anime-2-demo
> conda install pytorch torchvision cudatoolkit=[YOUR-CUDA-TOOLKIT-VERSION] -c pytorch
> conda install scipy
> pip install wxPython
> conda install matplotlib
En general, la última versión de Python y la última versión de CUDA Toolkit que se muestra en el sitio web de Pytorch funcionaría.
Para ejecutar la versión del cuaderno Jupyter del manual_poser , también necesita:
Esto significa que, además de los comandos anteriores, también debe ejecutar:
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
Por último, el ifacialmocap_puppeteer requiere Ifacialmocap, que está disponible en la tienda de aplicaciones para 980 yenes. También debe instalar la aplicación de escritorio emparejada en su PC o Mac. (¡Usuarios de Linux, lo siento!) Tu iOS y tu computadora también deben usar la misma red. (Por ejemplo, puede conectarlos al mismo enrutador inalámbrico).
También puede usar Anaconda para descargar e instalar todos los paquetes de Python en un comando. Abra su shell, cambie el directorio a donde clone el repositorio y ejecute:
conda env create -f environment.yml
Esto creará un entorno llamado talking-head-anime-2-demo que contiene todos los paquetes de Python requeridos.
Antes de ejecutar los programas, debe descargar los archivos de modelo de este enlace de Dropbox y descifrarlo a la carpeta data del directorio del repositorio. Al final, la carpeta data debe verse como:
+ data
+ illust
- waifu_00.png
- waifu_01.png
- waifu_02.png
- waifu_03.png
- waifu_04.png
- waifu_05.png
- waifu_06.png
- waifu_06_buggy.png
- combiner.pt
- eyebrow_decomposer.pt
- eyebrow_morphing_combiner.pt
- face_morpher.pt
- two_algo_face_rotator.pt
Los archivos del modelo se distribuyen con la licencia Internacional Creative Commons Attribution 4.0, lo que significa que puede usarlos con fines comerciales. Sin embargo, si los distribuye, debe, entre otras cosas, decir que yo soy el creador.
manual_poserAbra una carcasa. Cambie su directorio de trabajo al directorio raíz del repositorio. Entonces, corre:
> python tha2/app/manual_poser.py
Tenga en cuenta que antes de ejecutar el comando anterior, es posible que deba activar el entorno Python que contiene los paquetes requeridos. Si creó un entorno utilizando Anaconda como se discutió anteriormente, debe ejecutar
> conda activate talking-head-anime-2-demo
Si aún no ha activado el entorno.
manual_poser jupyterAbra una carcasa. Activar el entorno. Cambie su directorio de trabajo al directorio raíz del repositorio. Entonces, corre:
> jupyter notebook
Una ventana del navegador debe abrirse. En él, abre tha2.ipynb . Una vez que lo haya hecho, debería ver que solo tiene una celda. Ejecutarlo. Luego, desplácese hacia abajo hasta el final del documento y verá la GUI allí.
ifacialmocap_puppeteerPrimero, ejecute IfacialMocap en su dispositivo iOS. Debería mostrarle la dirección IP del dispositivo. Anótelo. Mantenga la aplicación abierta.

Luego, ejecute la aplicación Companion Desktop.

Haga clic en "Abra la configuración avanzada >>". La aplicación debe expandirse.

Haga clic en el botón que dice "Maya" en el lado derecho.

Luego, haga clic en "licuadora".

Luego, reemplace la dirección IP en el lado izquierdo con la dirección IP de su dispositivo iOS.

Haga clic en "Conéctese a la licuadora".

Abra una carcasa. Activar el entorno. Cambie su directorio de trabajo al directorio raíz del repositorio. Entonces, corre:
> python tha2/app/ifacialmocap_puppeteer.py
Si los programas están conectados correctamente, debe ver que las muchas barras de progreso en la parte inferior de la ventana ifacialmocap_puppeteer deben moverse cuando mueva la cara frente a la cámara frontal del dispositivo iOS.

Si todo está bien, cargue una imagen de personaje y debe seguir su movimiento facial.
Para que el modelo funcione bien, la imagen de entrada debe obedecer las siguientes restricciones:
Sin embargo, tenga en cuenta que, independientemente del tamaño de la imagen de entrada, los programas siempre lo cambiarán a 256x256 y siempre generarán una imagen de 256x256. Esta es una limitación intrínseca del sistema.

Si su trabajo académico se beneficia del código en este repositorio, cite la página web del proyecto de la siguiente manera:
PRAMOOK KHUNNGURN. Anime de la cabeza parlante de una sola imagen 2: más expresivo. http://pkhungun.github.io/talking-head-anime-2/, 2021. Accedido: aaa yyyy-mm-dd.
También puede usar la siguiente entrada de Bibtex:
@misc{Khungurn:2021,
author = {Pramook Khungurn},
title = {Talking Head Anime from a Single Image 2: More Expressive},
howpublished = {url{http://pkhungurn.github.io/talking-head-anime-2/}},
year = 2021,
note = {Accessed: YYYY-MM-DD},
}
Si bien el autor es un empleado de Google Japón, este software no es el producto de Google y no es compatible con Google.
Los derechos de autor de este software me pertenecen como lo he solicitado utilizando el proceso IARC. Sin embargo, Google podría reclamar los derechos de la propiedad intelectual de esta invención.
El código se publica bajo la licencia MIT. El modelo se publica bajo la licencia Internacional Creative Commons Attribution 4.0.