JoyHallo项目安装与配置指南
1. 项目基础介绍
JoyHallo是一个数字人模型,主要用于生成普通话视频。该项目基于深度学习技术,通过音频驱动视频生成的方式,实现从音频到视频的转换。项目的目标是创建一个能够生成高质量普通话视频的模型,同时具备跨语言生成能力。项目主要使用Python编程语言。
2. 项目使用的关键技术和框架
- Chinese wav2vec2模型:用于音频特征嵌入,将音频转换为可用的特征表示。
- Semi-decoupled结构:捕捉唇部、表情和姿态特征之间的相互关系,提高信息利用效率并加速推理速度。
- 深度学习框架:如PyTorch等,用于模型的训练和推理。
3. 项目安装和配置的准备工作
在开始安装之前,请确保您的系统满足以下要求:
- 操作系统:Ubuntu 20.04
- GPU:A100
- CUDA版本:11.3
详细安装步骤
-
创建虚拟环境
conda create -n joyhallo python=3.10 -y conda activate joyhallo
-
安装依赖
pip install -r requirements.txt
-
安装FFmpeg
sudo apt-get update sudo apt-get install ffmpeg -y
-
准备模型权重
- 下载基础权重
git lfs install git clone https://huggingface.co/fudan-generative-ai/hallo pretrained_models
- 下载chinese-wav2vec2-base模型
cd pretrained_models git lfs install git clone https://huggingface.co/TencentGameMate/chinese-wav2vec2-base
- 下载JoyHallo模型
git lfs install git clone https://huggingface.co/jdh-algo/JoyHallo-v1 pretrained_models/joyhallo
- 下载基础权重
-
准备数据
- 确保您的数据符合以下目录结构,并且满足之前提到的要求:
jdh-Hallo/ |-- videos/ |-- 0001.mp4 |-- 0002.mp4 |-- 0003.mp4 `-- 0004.mp4
- 使用以下命令处理数据集:
python -m scripts.data_preprocess --input_dir jdh-Hallo/videos --step 1 -p 1 -r 0 python -m scripts.data_preprocess --input_dir jdh-Hallo/videos --step 2 -p 1 -r 0 python scripts/extract_meta_info_stage1.py -r jdh-Hallo -n jdh-Hallo python scripts/extract_meta_info_stage2.py -r jdh-Hallo -n jdh-Hallo
- 注意:执行步骤1和步骤2按顺序,因为它们执行不同的任务。步骤1将视频转换为帧,从每个视频中提取音频,并生成所需的掩码。步骤2使用InsightFace生成面部嵌入和使用Chinese wav2vec2生成音频嵌入,并且需要一个GPU。对于并行处理,使用
-p
和-r
参数。
- 确保您的数据符合以下目录结构,并且满足之前提到的要求:
完成以上步骤后,您就可以开始使用JoyHallo项目进行训练或推理了。