唇合成
1.0.0
这是萨里大学计算机科学学士 Wish Suharitdamrong 的最后一年项目第 3 年的代码实现,主题是通过中间地标表示进行视听唇形合成。
在线演示可在 ?抱脸
使用 conda 或 pip 安装包有两种方法
1.从environment.yml
创建虚拟conda环境
2.使用pip安装pakages(确保使用python 3.7
或更高版本,因为旧版本可能不支持某些库)
# Create virtual environment from .yml file
conda env create -f environment.yml
# activate virtual environment
conda activate fyp
# Use pip to install require packages
pip install -r requirement.txt
本项目使用的视听数据集是LRS2和LRS3。 LRS2 数据用于模型训练和评估。 LRS3数据仅用于模型评估。
数据集 | 页 |
---|---|
远程RS2 | 关联 |
远程RS3 | 关联 |
下载权重生成器模型
模型 | 下载链接 |
---|---|
发电机 | 关联 |
生成器 + 同步损失 | 关联 |
注意力生成器 + SyncLoss | 关联 |
下载基于 Landmark 的 SyncNet 模型的权重 下载链接
Image2Image Translation 模型的预训练权重可以从 MakeItTalk 存储库的预训练模型部分 Repo Link 上下载。
├── checkpoint # Directory for model checkpoint
│ └── generator # put Generator model weights here
│ └── syncnet # put Landmark SyncNet model weights here
│ └── image2image # put Image2Image Translation model weights here
python run_inference.py --generator_checkpoint --image2image_checkpoint --input_face --input_audio
我使用与 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
# CLI for training pretrain landmark SyncNet discriminator
python run_train_syncnet.py --data_root preprocessed_lrs2_landmark/ --checkpoint_dir
本项目使用LRS2和LRS3数据集的数据进行定量评估,评估数据列表由Wav2Lip提供。文件列表(用于评估的视频和音频数据)和有关 Lip Sync 基准测试的详细信息可在其存储库中找到。
cd evaluation
# generate evaluation videos
python gen_eval_vdo.py --filelist --data_root --model_type --result_dir --generator_checkpoint --image2image_checkpoint
该项目的代码库受到 Wav2Lip 和 MakeItTalk 的启发。我要感谢这两个项目的作者,他们在线提供了他们出色工作的代码实现。