Этот репозиторий содержит демонстрационные программы для аниме Talking Head из одного изображения 2: более выразительный проект. Подобно предыдущей версии, у него есть две программы:
manual_poser позволяет вам манипулировать выражением лица и вращением головы аниме -символа, приведенного в одном изображении, через графический пользовательский интерфейс. Poser доступен в двух формах: стандартное приложение GUI и ноутбук Jupyter.ifacialmocap_puppeteer позволяет перенести ваше движение лица, захваченное коммерческим приложением для iOS, называемого ifacialmocap, на изображение аниме -символа. Если у вас нет необходимого оборудования (обсуждается ниже) или вы не хотите загружать код и настроить среду, чтобы запустить его, нажмите, чтобы попробовать запустить Poser в Google Colab.
Обе программы требуют недавнего и мощного графического процессора Nvidia. Я мог лично управлять ими с хорошей скоростью с Nvidia Titan RTX. Тем не менее, я думаю, что недавние высококлассные игровые графические процессоры, такие как RTX 2080, RTX 3080 или лучше, будут так же хорошо.
ifacialmocap_puppeteer требует устройства iOS, которое способно вычислять параметры формы смеси из видео подачи. Это означает, что устройство должно быть в состоянии запускать iOS 11.0 или выше, и должна иметь фронтальную камеру с фронтальной камерой TrueDepth. (Смотрите эту страницу для получения дополнительной информации.) Другими словами, если у вас есть iPhone X или что -то лучшее, вы должны быть все готово. Лично я использовал iPhone 12 Mini.
Обе программы были написаны в Python 3. Чтобы запустить GUI, требуются следующие программные пакеты:
В частности, я создал среду для запуска программ с Anaconda, используя следующие команды:
> 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
Примечание. Вы можете обнаружить, что конкретные версии Python (3.8) и Cuda Toolkit (10.2) могут не работать для вашей конкретной настройки компьютера. Когда это произойдет, замените эти версии теми, которые работают с вашим аппаратным обеспечением. Команда станет:
> 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
В общем, последняя версия Python и последняя версия Cuda Toolkit, показанная на веб -сайте Pytorch, будет работать.
Чтобы запустить версию ноутбука Jupyter manual_poser , вам также нужно:
Это означает, что, в дополнение к приведенным выше командам, вам также необходимо запустить:
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
Наконец, ifacialmocap_puppeteer требует ifacialmocap, который доступен в приложении для 980 иен. Вам также необходимо установить парное настольное приложение на вашем ПК или Mac. (Пользователи Linux, извините!) Ваш iOS и ваш компьютер также должны использовать ту же сеть. (Например, вы можете подключить их к тому же беспроводному маршрутизатору.)
Вы также можете использовать Anaconda для загрузки и установки всех пакетов Python в одной команде. Откройте свою оболочку, измените каталог на то, где вы клонируете репозиторий, и запускаете:
conda env create -f environment.yml
Это создаст среду под названием talking-head-anime-2-demo содержащая все необходимые пакеты Python.
Прежде чем запустить программы, вам необходимо загрузить файлы модели по этой ссылке Dropbox и расстегнуть их в папку data каталога репозитория. В конце концов, папка data должна выглядеть как:
+ 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
Модельные файлы распространяются с международной лицензией Creative Commons Attribution 4.0, что означает, что вы можете использовать их в коммерческих целях. Однако, если вы распространяете их, вы должны, среди прочего, сказать, что я создатель.
manual_poserОткройте оболочку. Измените свой рабочий каталог на корневой каталог репозитория. Затем беги:
> python tha2/app/manual_poser.py
Обратите внимание, что перед запуском команды выше, вам, возможно, придется активировать среду Python, которая содержит необходимые пакеты. Если вы создали среду, используя Anaconda, как обсуждалось выше, вам нужно запустить
> conda activate talking-head-anime-2-demo
Если вы еще не активировали окружающую среду.
manual_poser JupyterОткройте оболочку. Активировать окружающую среду. Измените свой рабочий каталог на корневой каталог репозитория. Затем беги:
> jupyter notebook
Окно браузера должно открыться. В нем открыть tha2.ipynb . Как только вы это сделаете, вы должны увидеть, что у нее есть только одна ячейка. Запустить это. Затем прокрутите вниз до конца документа, и вы увидите там графический интерфейс.
ifacialmocap_puppeteerВо -первых, запустите ifacialmocap на вашем устройстве iOS. Это должно показать вам IP -адрес устройства. Записать это. Держите приложение открытым.

Затем запустите приложение Companion Desktop.

Нажмите «Откройте расширенную настройку >>». Приложение должно расширяться.

Нажмите кнопку с надписью «Майя» на правой стороне.

Затем нажмите «Блендер».

Затем замените IP -адрес на левой стороне IP -адресом вашего устройства iOS.

Нажмите «Подключиться к блендеру».

Откройте оболочку. Активировать окружающую среду. Измените свой рабочий каталог на корневой каталог репозитория. Затем беги:
> python tha2/app/ifacialmocap_puppeteer.py
Если программы подключены должным образом, вы должны увидеть, что многие панели прогресса в нижней части окна ifacialmocap_puppeteer должны двигаться, когда вы перемещаете лицо перед фронтальной камерой устройства iOS.

Если все хорошо, загрузите изображение персонажа, и он должен следовать вашему лицевому движению.
Чтобы модель хорошо работала, входное изображение должно подчиняться следующим ограничениям:
Обратите внимание, однако, что независимо от размера входного изображения, программы всегда будут изменять его размер до 256x256 и всегда будут выводить изображение 256x256. Это внутреннее ограничение системы.

Если ваша академическая работа получает выгоду от кода в этом хранилище, пожалуйста, укажите веб -страницу проекта следующим образом:
Прамук Хунгурн. Говорящий аниме из одного изображения 2: более выразительный. http://pkhungurn.github.io/talking anime-2/, 2021. Доступ: yyyy-mm-dd.
Вы также можете использовать следующую запись 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},
}
Хотя автор является сотрудником Google Japan, это программное обеспечение не является продуктом Google и не поддерживается Google.
Авторское право этого программного обеспечения принадлежит мне, так как я просил его с помощью процесса IARC. Тем не менее, Google может претендовать на права на интеллектуальную собственность этого изобретения.
Код выпускается по лицензии MIT. Модель выпущена по международной лицензии Creative Commons Attribution 4.0.