JoyVASA项目使用与启动教程
1. 项目介绍
JoyVASA是一个基于扩散模型的音频驱动面部动画生成方法。它通过分离动态面部表情和静态3D面部表示,实现了更高效的面部动画生成,能够创建高质量的视频,并支持多语言。该项目旨在提供一种新的面部动画生成框架,不仅适用于人类肖像,还能无缝地动画化动物面部。
2. 项目快速启动
系统要求
- Ubuntu 20.04,CUDA 12.1,测试GPU:A100
- Windows 11,CUDA 12.1,测试GPU:RTX 4060 Laptop 8GB VRAM GPU
创建环境
- 创建基础环境
conda create -n joyvasa python=3.10 -y
conda activate joyvasa
- 安装依赖
pip install -r requirements.txt
- 安装ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg -y
- (可选)安装MultiScaleDeformableAttention以支持动物图像动画
cd src/utils/dependencies/XPose/models/UniPose/ops
python setup.py build install
cd ../../../../../../
准备模型 checkpoints
确保已安装git-lfs
,并下载以下预训练权重到pretrained_weights
目录:
- 下载JoyVASA运动生成器预训练权重
git lfs install
git clone https://huggingface.co/jdh-algo/JoyVASA
- 下载音频编码器预训练权重
支持两种音频编码器:wav2vec2-base
和hubert-chinese
。运行以下命令下载hubert-chinese
预训练权重:
git lfs install
git clone https://huggingface.co/TencentGameMate/chinese-hubert-base
若要获取wav2vec2-base
预训练权重,运行以下命令:
git lfs install
git clone https://huggingface.co/facebook/wav2vec2-base-960h
- 下载LivePortraits预训练权重
!pip install -U "huggingface_hub[cli]"
huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
pretrained_weights
目录内容
最终的pretrained_weights
目录结构如下:
./pretrained_weights/
├── ...
└── ...
推断
- 使用命令行推断
动物:
python inference.py -r assets/examples/imgs/joyvasa_001.png -a assets/examples/audios/joyvasa_001.wav --animation_mode animal --cfg_scale 2.0
人类:
python inference.py -r assets/examples/imgs/joyvasa_003.png -a assets/examples/audios/joyvasa_003.wav --animation_mode human --cfg_scale 2.0
可以通过修改cfg_scale
来获取不同的表情和姿势。
- 使用web demo推断
使用以下命令启动web demo:
python app.py
Demo将在http://127.0.0.1:7862
创建。
3. 应用案例和最佳实践
(本部分将介绍如何在实际项目中使用JoyVASA,包括具体的应用案例和最佳实践。)
4. 典型生态项目
(本部分将介绍与JoyVASA相关的典型生态项目,以及如何与其他开源项目进行集成。)
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考