CentOS 下 GeneFace++ 安装教程
一 环境准备与系统依赖
- 建议使用 CentOS 7/8,并准备 NVIDIA GPU + 对应版本的 CUDA/cuDNN(驱动版本需与 CUDA 匹配)。
- 更新系统并安装基础工具与编译链:
- sudo yum update -y
- sudo yum groupinstall -y "Development Tools"
- sudo yum install -y cmake3 python3 python3-devel libpng-devel libjpeg-devel libtiff-devel
- 建议安装 FFmpeg(含 libx264),用于音频转视频与图像序列合成:
- 方式一(EPEL/PowerTools 源):sudo yum install -y epel-release && sudo yum-config-manager --set-enabled powertools && sudo yum install -y ffmpeg
- 方式二(conda):conda install -c conda-forge ffmpeg
- 创建并激活 Python 3.9 虚拟环境(强烈推荐):
- conda create -n geneface python=3.9
- conda activate geneface
- 说明:GeneFace++ 的 Python 侧依赖较多,使用独立虚拟环境可避免与系统包冲突。
二 获取源码与 Python 依赖
- 克隆官方仓库(以 yerfor/GeneFacePlusPlus 为准):
- git clone https://github.com/yerfor/GeneFacePlusPlus.git
- cd GeneFacePlusPlus
- 安装 Python 依赖:
- pip install -r requirements.txt
- 如 requirements.txt 未覆盖全部音频/视频依赖,可补充:
- pip install numpy opencv-python scipy librosa tqdm soundfile
- 注意:不同分支/版本的 requirements 可能不同,请以仓库说明为准。
三 安装 PyTorch、PyTorch3D 与 MMCV
- 安装与 CUDA 版本匹配的 PyTorch(示例为 2.0.1 + CUDA 11.7,经验证更稳定):
- conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
- 安装 PyTorch3D(从源码构建,耗时较长,网络不稳可设置代理):
- pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable"
- 安装 MMCV(使用 mim 安装指定版本):
- pip install cython
- pip install openmim==0.3.9
- mim install mmcv==2.1.0
- 版本提示:社区经验表明 torch 2.1 + CUDA 12.1 可能触发第三方库(如 torch-ngp)兼容问题,优先选用 2.0.1 + 11.7 的组合。
四 编译与安装扩展组件
- 若项目包含 C++/CUDA 扩展或第三方子模块,按仓库脚本执行构建:
- 在项目根目录执行仓库提供的构建脚本(示例):bash docs/prepare_env/install_ext.sh
- 若脚本不存在,可检查仓库的 docs/prepare_env 目录或 README 获取最新指引。
- 构建过程会自动拉取/编译必要依赖(如 torch-ngp 等),请确保网络与磁盘空间充足。
- 如遇到子模块缺失,执行:git submodule update --init --recursive。
五 数据与模型准备及快速验证
- 准备 3DMM 模型(BFM2009) 等数据:
- 下载 BFM2009 模型文件(常见为 8 个文件),解压后放置到:/deep_3drecon/BFM/
- 目录结构示例:
- deep_3drecon/BFM/
- 01_MorphableModel.mat
- BFM_exp_idx.mat
- BFM_front_idx.mat
- BFM_model_front.mat
- Exp_Pca.bin
- facemodel_info.mat
- index_mp468_from_mesh35709.npy
- mediapipe_in_bfm53201.npy
- std_exp...
- 下载 预训练模型权重 与 预处理数据,放置到仓库指定的 checkpoints/ 与 data/ 目录(路径以仓库说明为准)。
- 快速推理验证(示例命令,路径与参数请按实际替换):
- 设置 PYTHONPATH:export PYTHONPATH=$(pwd):$PYTHONPATH
- 运行推理:
- python inference/genefacepp_infer.py \
--a2m_ckpt checkpoints/audio2motion_vae \
--head_ckpt checkpoints/motion2video_nerf/may_head \
--torso_ckpt checkpoints/motion2video_nerf/may_torso \
--drv_aud data/raw/val_wavs/example.wav \
--out_name demo_output.mp4
- 若提示缺少音频设备或多媒体库,安装:sudo yum install -y alsa-lib-devel portaudio-devel。