一款开源的AI生成3D人脸说话视频应用

文摘   2025-01-30 08:03   广东  
| 项目介绍

JoyGen是一个由京东和香港大学团队联合开发的开源工具,专注于音频驱动的3D深度感知说话人脸视频编辑。它可以通过音频输入生成逼真的3D说话人脸视频,并且在个性化训练、数据集与训练以及应用前景等方面都表现出色。

| 技术特点


                            音频驱动: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、A800Python版本:3.8.19

                                            创建 conda 环境并使用 pip 安装包

                                            conda create -n joygen python=3.8.19 ffmpegconda activate joygenpip install -r requirements.txt

                                            安装 Nvdiffrast 库

                                            git clone https://github.com/NVlabs/nvdiffrastcd nvdiffrastpip 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 args3args1:驱动音频文件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
                                            关注公众号,为你推荐更多原创干货!

                                            更多内容也可看笔者出版图书

                                            —————————

                                            幼稚猿
                                            分享各类技术资讯和教程,出版多本IT图书《Django+Vue系统架构设计与实现》、《Golang+Vue.js商城项目实战》等
                                             最新文章