| 技术特点
音频驱动:JoyGen可以通过音频输入生成逼真的3D说话人脸视频。这一特点使得它在虚拟主播生成、AI互动视频制作等场景中有着广泛的应用潜力。
3D深度感知:该工具在生成说话人脸视频时,能够考虑到面部的深度信息,从而生成更加立体、逼真的视频效果。
个性化训练:JoyGen不仅提供了完整的推理代码,还支持个性化训练,可以根据不同的应用需求进行定制化的调整。
| 工作原理
JoyGen的工作原理可以分为两个阶段:
第一阶段:3D重建模型和音频运动模型分别预测身份和表情系数。这一阶段主要是通过对输入音频和参考人脸图像的分析,来提取出说话人的身份特征和表情特征。
第二阶段:将音频特征与面部深度图相结合,为面部生成中的精确唇音同步提供全面监督。这一阶段主要是利用提取出的音频特征和面部深度信息,来生成与音频同步的唇部动作,从而生成逼真的说话人脸视频。
| 数据集与训练
数据集:为了训练JoyGen,开发者构建了一个包含130小时高质量视频的中文说话人脸数据集。这一数据集为JoyGen提供了丰富的训练样本,有助于提高其生成视频的质量和准确性。
训练过程:JoyGen在开源的HDTF数据集和开发者精选的数据集上进行了训练。通过大量的训练样本和复杂的训练过程,JoyGen逐渐学会了如何根据音频输入生成逼真的3D说话人脸视频。
| 应用前景
虚拟主播:JoyGen可以生成逼真的说话人脸视频,因此非常适合用于虚拟主播的生成。通过输入音频和参考图像,就可以快速生成一个具有个性化特征的虚拟主播形象。
AI互动视频:在AI互动视频中,JoyGen可以根据用户的语音输入生成相应的说话人脸视频,从而增强视频的互动性和逼真度。
影视制作:JoyGen还可以用于影视制作中的特效处理,例如生成逼真的角色对话场景等。
如需了解更多信息,可以访问其官方网站或查阅相关的技术文档。
GitHub地址
https://github.com/JOY-MM/JoyGen
| 安装步骤
环境要求:
GPU:V100、A800
Python版本:3.8.19
创建 conda 环境并使用 pip 安装包
conda create -n joygen python=3.8.19 ffmpeg
conda activate joygen
pip install -r requirements.txt
安装 Nvdiffrast 库
git clone https://github.com/NVlabs/nvdiffrast
cd nvdiffrast
pip install .
下载预训练权重
下载地址
https://drive.google.com/file/d/1kvGsljFRnXKUK_ETdd49jJy8DbdgZKkE
下载数据集
下载地址
https://drive.google.com/drive/folders/1d9MVmYhdlVoIdSL05N0IIKma2kih6cUq?dmr=1&ec=wgc-drive-hero-goto
运行推理脚本
bash scripts/inference_pipeline.sh args1 args2 args3
args1:驱动音频文件
args2:视频文件
args3:结果目录
修剪和裁剪视频
python -u preprocess_trim_crop_video.py videos_dir results_dir
预处理训练数据
python -u preprocess_dataset.py \
--checkpoints_dir ./pretrained_models \
--name face_recon_feat0.2_augment \
--epoch=20 \
--use_opengl False \
--bfm_folder ./pretrained_models/BFM \
--video_dir ./demo \ # The directory for storing video files.
--result_dir ./results/preprocessed_dataset \
检查预处理后的数据,并生成用于训练的列表文件
python -u preprocess_dataset_extra.py data_dir
更多内容也可看笔者出版图书!