Это реализация кода для проекта Виша Сухаритдамронга за последний год 3-го курса бакалавриата по компьютерным наукам в Университете Суррея по теме аудиовизуального синтеза губ посредством представления промежуточных ориентиров.
Онлайн-демонстрация доступна по адресу ? ОбниматьЛицо
Существует два способа установки пакета с помощью conda или pip.
1. Создайте виртуальную среду conda из environment.yml
2. Используйте pip для установки пакетов (убедитесь, что вы используете python 3.7
или выше, поскольку более старая версия может не поддерживать некоторые библиотеки)
# Создать виртуальную среду из файла .ymlconda env create -f Environment.yml# активировать виртуальную средуconda active fyp
# Используйте pip для установки require packagespip install -r require.txt
В этом проекте используются наборы аудиовизуальных данных: LRS2 и LRS3. Данные LRS2 использовались как для обучения, так и для оценки модели. Данные LRS3 использовались только для оценки модели.
Набор данных | Страница |
---|---|
ЛРС2 | Связь |
ЛРС3 | Связь |
Скачать модель генератора весов
Модель | Скачать ссылку |
---|---|
Генератор | Связь |
Генератор + SyncLoss | Связь |
Генератор внимания + SyncLoss | Связь |
Загрузите веса для модели SyncNet на основе Landmark. Ссылка для скачивания.
Предварительно обученный вес для модели перевода Image2Image можно загрузить из репозитория MakeItTalk в разделе Repo Link с предварительно обученными моделями.
├── контрольная точка # Каталог для контрольной точки модели│ └── генератор # поместите сюда веса модели генератора│ └── syncnet # поместите сюда веса модели Landmark SyncNet│ └── image2image # поместите сюда веса модели перевода Image2Image
python run_inference.py --generator_checkpoint <checkpoint_path> --image2image_checkpoint <checkpoint_path> --input_face <image/video_path> --input_audio <audio_source_path>
Я использовал те же способы предварительной обработки данных, что и Wav2Lip, более подробную информацию о структуре папок можно найти в их репозитории Здесь.
python preprocess_data.py --data_root data_root/main --preprocessed_root preprocessed_lrs2_landmark/
# CLI for traning attention generator with pretrain landmark SyncNet discriminator python run_train_generator.py --model_type attnlstm --train_type pretrain --data_root preprocessed_lrs2_landmark/ --checkpoint_dir <folder_to_save_checkpoints>
# CLI for training pretrain landmark SyncNet discriminator python run_train_syncnet.py --data_root preprocessed_lrs2_landmark/ --checkpoint_dir <folder_to_save_checkpoints>
В этом проекте для количественной оценки использовались данные из набора данных LRS2 и LRS3, список данных оценки предоставлен на Wav2Lip. Список файлов (видео и аудиоданные, использованные для оценки) и подробная информация о тесте Lip Sync доступны в их репозитории здесь.
cd evaluation # generate evaluation videos python gen_eval_vdo.py --filelist <path> --data_root <path> --model_type <type_of_model> --result_dir <save_path> --generator_checkpoint <gen_ckpt> --image2image_checkpoint <image2image_checkpoint>
База кода этого проекта была вдохновлена Wav2Lip и MakeItTalk. Я хотел бы поблагодарить авторов обоих проектов за то, что они сделали реализацию их замечательной работы доступной в Интернете.