Этот репозиторий содержит демонстрационные программы для аниме говорящей головы (?) Из одного изображения 3: Теперь тело тоже. Как следует из названия, проект позволяет вам анимировать аниме -символы, и вам нужно только одно изображение этого персонажа. Есть две демонстрационные программы:
manual_poser позволяет вам манипулировать выражением лица персонажа, вращением головы, вращению тела и расширению грудной клетки из -за дыхания через графический интерфейс пользователя.ifacialmocap_puppeteer позволяет перенести ваше движение на лице на аниме -символ. Если у вас нет необходимого оборудования (обсуждается ниже) или вы не хотите загружать код и настроить среду, чтобы запустить его, нажмите, чтобы попробовать запустить Poser в Google Colab.
Обе программы требуют недавнего и мощного графического процессора Nvidia. Я мог лично управлять ими с хорошей скоростью с Nvidia Titan RTX. Тем не менее, я думаю, что недавние высококлассные игровые графические процессоры, такие как RTX 2080, RTX 3080 или лучше, будут так же хорошо.
ifacialmocap_puppeteer требует устройства iOS, которое способно вычислять параметры формы смеси из видео подачи. Это означает, что устройство должно быть в состоянии запускать iOS 11.0 или выше, и должна иметь фронтальную камеру с фронтальной камерой TrueDepth. (Смотрите эту страницу для получения дополнительной информации.) Другими словами, если у вас есть iPhone X или что -то лучшее, вы должны быть все готово. Лично я использовал iPhone 12 Mini.
Пожалуйста, обновите драйвер устройства GPU и установите инструментарий CUDA, совместим с вашим GPU и новее версии, которую вы будете установить в следующем подразделе.
Как manual_poser , так и ifacialmocap_puppeteer доступны в качестве настольных приложений. Чтобы запустить их, вам нужно настроить среду для запуска программ, написанных на языке Python. Среда должна иметь следующие программные пакеты:
Один из способов сделать это - установить Anaconda и запустить следующие команды в вашей оболочке:
> 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
По состоянию на июнь 2006 года вы не можете использовать wxpython с Python 3.10 на Windows. В результате не используйте Python 3.10, пока эта ошибка не будет исправлена. Это означает, что вы не должны устанавливать python=3.10 в первой команде conda в списке выше.
Среда, созданная приведенными выше командами, дает вам версию Python 3.8 и установку Pytorch, которая была составлена с Cuda Toolkit версией 11.3. Эта конкретная настройка может не сработать в будущем, потому что вы можете обнаружить, что этот конкретный пакет Pytorch не работает с вашим новым компьютером. Решение - это:

manual_poser также доступен в виде юпитера Nootbook. Чтобы запустить его на местных машинах, вам также нужно установить:
В некоторых случаях вам также необходимо также включить widgetsnbextension . Итак, беги
> jupyter nbextension enable --py widgetsnbextension
После установки вышеупомянутых двух пакетов. Используя Anaconda, мне удалось сделать вышеперечисленное со следующими командами:
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
Вы также можете использовать Anaconda для загрузки и установки всех пакетов Python в одной команде. Откройте свою оболочку, измените каталог на то, где вы клонируете репозиторий, и запускаете:
> conda env create -f environment.yml
Это создаст среду под названием talking-head-anime-3-demo содержащая все необходимые пакеты Python.
Если вы хотите использовать ifacialmocap_puppeteer , вам также понадобится программное обеспечение для iOS, называемое ifacialmocap (покупка 980 иен в магазине приложений). На этот раз вам не нужно скачать парное приложение. Ваш iOS и ваш компьютер должны использовать ту же сеть. Например, вы можете подключить их к тому же беспроводному маршрутизатору.
Прежде чем запустить программы, вам необходимо загрузить файлы модели по этой ссылке Dropbox и разкапливаться в папке data/models в корневом каталоге репозитория. В конце концов, папка данных должна выглядеть как:
+ 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
Модельные файлы распространяются с международной лицензией Creative Commons Attribution 4.0, что означает, что вы можете использовать их в коммерческих целях. Однако, если вы распространяете их, вы должны, среди прочего, сказать, что я создатель.
manual_poserОткройте оболочку. Измените свой рабочий каталог на корневой каталог репозитория. Затем беги:
> python tha3/app/manual_poser.py
Обратите внимание, что перед запуском команды выше, вам, возможно, придется активировать среду Python, которая содержит необходимые пакеты. Если вы создали среду, используя Anaconda, как обсуждалось выше, вам нужно запустить
> conda activate talking-head-anime-3-demo
Если вы еще не активировали окружающую среду.
Как отмечалось в написании проекта, я создал 4 варианта системы нейронной сети. Они называются standard_float , separable_float , standard_half и separable_half . Все они имеют одинаковые функциональные возможности, но они различаются по размерам, использованию RAM, скорости и точности. Вы можете указать, какой вариант, который программа manual_poser использует через параметр командной строки --model .
> python tha3/app/manual_poser --model <variant_name>
где <variant_name> должно быть одно из 4 имен выше. Если вариант не указан, будет использоваться вариант standard_float (который является самым большим, медленным и наиболее точным).
manual_poser JupyterОткройте оболочку. Активировать окружающую среду. Измените свой рабочий каталог на корневой каталог репозитория. Затем беги:
> jupyter notebook
Окно браузера должно открыться. В нем, Open manual_poser.ipynb . Как только вы это сделаете, вы должны увидеть, что у него есть две ячейки. Запустите две ячейки в порядке. Затем прокрутите вниз до конца документа, и вы увидите там графический интерфейс.
Вы можете выбрать вариант системы для использования, изменив переменную MODEL_NAME в первой ячейке. Если вы это сделаете, вам нужно будет повторить обе ячейки, чтобы вариант был загружен и графический интерфейс был должным образом обновлен для его использования.
ifacialmocap_poserВо -первых, запустите ifacialmocap на вашем устройстве iOS. Это должно показать вам IP -адрес устройства. Записать это. Держите приложение открытым.

Откройте оболочку. Активируйте среду Python. Измените свой рабочий каталог на корневой каталог репозитория. Затем беги:
> python tha3/app/ifacialmocap_puppeteer.py
Вы увидите текстовое поле с меткой «Устройство IP -устройства». Напишите IP -адрес устройства iOS, который вы там занимались.

Нажмите на "Start Capture!" кнопка справа.

Если программы подключены должным образом, вы должны увидеть числа в нижней части окна изменяются при перемещении головы.

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

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