Этот репозиторий является официальной реализацией CVPR 2024 Paper 3D выражения лица посредством анализа по синтезу.
Ухмелькает 3D -лица из монокулярных изображений с геометрией лица, которая верно восстанавливает экстремальные, асимметричные и тонкие выражения.
Вы должны установить рабочую версию Pytorch и Pytorch3d. Мы предоставляем файл requirements.txt
, который можно использовать для установки необходимых зависимостей для настройки Python 3.9 с CUDA 11.7:
Conda Create -n ухмылка python = 3,9 PIP Install -R TEDS.TXT# Установка PytorCh3d nowpip install-no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py39_cu117_pyt201/download.html
Затем, чтобы загрузить необходимые модели, запустите:
bash Quick_install.sh
Приведенная выше установка включает в себя загрузку модели пламени. Это требует регистрации. Если у вас нет учетной записи, вы можете зарегистрироваться по адресу https://flame.is.tue.mpg.de/
Эта команда также загрузит предварительную модель ухмылки, которую также можно найти на Google Drive.
Мы предоставляем две демонстрации. Тот, который можно использовать для тестирования модели на одном изображении,
python demo.py -input_path Примеры/test_image2.png -out_path Results/ -checkpoint pretried_models/smirk_em1.pt --crop
и один, который можно использовать для тестирования модели на видео,
Python demo_video.py -input_path Примеры/dafoe.mp4 -out_path Results/ -checkpoint pretryned_models/smirk_em1.pt --crop -render_orig
Ухмель был обучен комбинации следующих наборов данных: LRS3, Mead, Celeba и FFHQ.
§§Download Набор данных LRS3 отсюда. Мы знаем, что в настоящее время этот набор данных был удален с сайта. Его можно заменить любым другим подобным набором данных, например, LRS2.
Загрузите набор данных Mead отсюда.
Загрузите набор данных Celeba отсюда. Вы можете скачать непосредственно выровненные изображения img_align_celeba.zip
.
Загрузите набор данных FFHQ256 отсюда.
После загрузки наборов данных нам нужно извлечь достопримечательности с помощью MediaPipe и Fan. Мы предоставляем сценарии для предварительной обработки в datasets/preprocess_scripts
. Пример использования:
Python DataSets/preprocess_scripts/apply_mediapipe_to_dataset.py -input_dir path_to_ffhq256/images - -output_dir path_to_ffhq256/medipipe_landmarks
и для фаната:
Python DataSets/preprocess_scripts/apply_fan_to_dataset.py - -input_dir path_to_ffhq256/images -output_dir path_to_ffhq256/fan_landmarks
Обратите внимание, что для получения достопримечательностей вентилятора мы используем реализацию в https://github.com/hhj1897/face_alignment.
Затем обязательно обновите файлы конфигурации в configs
с правильными путями для наборов данных и их достопримечательностей.
На стадии предварительной подготовки мы тренируем все 3 кодера (поза, форма и выражение), используя только извлеченные достопримечательности и выходной слюды.
python train.py configs/config_pretrain.yaml train.log_path = "logs/pretrain"
После предварительной подготовки, на основной стадии ухмылки, мы замораживаем формы и позируем кодеры и обучаем энкодер выражения с помощью каркаса полной ухмылки (путь реконструкции и путь цикла).
python train.py configs/config_train.yaml resume = logs/pretrain/first_stage_pretrybine_encoder.pt train.loss_weights.emotion_loss = 1.0
Если вы найдете эту работу полезной, пожалуйста, рассмотрите возможность цитировать:
@inproceedings {Smirk: CVPR: 2024, title = {3D выражения лица через анализ по-нейралера , Anastasios и Bolkart, Timo and Maragos, Petros}, BookTitle = {конференция по компьютерному зрению и распознаванию шаблонов (CVPR)}, Год = {2024}}
Мы признаем следующие репозитории и документы, которые использовались в этой работе:
Слюда
Эмока
Автолинк