打开终端,执行以下命令更新系统软件包至最新版本,确保依赖兼容性:
sudo yum update -y # CentOS 7使用yum;若为CentOS 8及以上,可替换为dnf
安装Git、wget(用于下载文件)、unzip(用于解压文件)等基础工具:
sudo yum install -y git wget unzip
CentOS 7默认Python版本为2.7,需安装Python 3.9+及pip:
sudo yum install -y epel-release # 启用EPEL仓库,提供Python 3.9包
sudo yum install -y python39 python39-devel python39-pip
# 验证安装
python3.9 --version # 应输出Python 3.9.x
pip3.9 --version # 应输出pip版本信息
避免项目依赖与系统Python冲突,使用conda(推荐)或virtualenv创建隔离环境:
# 使用conda(需提前安装Miniconda/Anaconda)
conda create -n geneface python=3.9 -y
conda activate geneface
# 或使用virtualenv(未安装时可运行:sudo yum install -y python39-virtualenv)
python3.9 -m venv ~/geneface_env
source ~/geneface_env/bin/activate
打开终端,执行以下命令克隆GeneFace++官方仓库到本地:
git clone https://github.com/yerfor/GeneFacePlusPlus.git
cd GeneFacePlusPlus # 进入项目根目录
在项目根目录下,执行以下命令安装requirements.txt
中列出的Python依赖:
pip install -r requirements.txt
注意:若安装过程中出现依赖冲突,可尝试升级pip后再安装:
pip install --upgrade pip
pip install -r requirements.txt
GeneFace++需依赖预处理数据和预训练模型才能运行,需手动下载以下文件:
3DMM(3D Morphable Model)是3D人脸重建的核心模型,需下载至./deep_3drecon/BFM
目录:
mkdir -p deep_3drecon/BFM
# 替换为实际下载链接(项目文档中提供)
wget -O deep_3drecon/BFM/3DMM.zip https://example.com/path/to/3DMM.zip
unzip deep_3drecon/BFM/3DMM.zip -d deep_3drecon/BFM
rm deep_3drecon/BFM/3DMM.zip # 删除压缩包
以May数据集为例,解压后放入./data/binary/videos/May
目录:
mkdir -p data/binary/videos/May
# 替换为实际下载链接
wget -O data/binary/videos/May.zip https://example.com/path/to/May_dataset.zip
unzip data/binary/videos/May.zip -d data/binary/videos/May
rm data/binary/videos/May.zip
预训练模型包括audio2motion_vae
(音频转动作)、motion2video_nerf
(动作转视频),需放入对应checkpoints
目录:
mkdir -p checkpoints/audio2motion_vae
mkdir -p checkpoints/motion2video_nerf/may_head
mkdir -p checkpoints/motion2video_nerf/may_torso
# 替换为实际下载链接
wget -O checkpoints/audio2motion_vae/model.pth https://example.com/path/to/audio2motion_vae.pth
wget -O checkpoints/motion2video_nerf/may_head/model.pth https://example.com/path/to/may_head.pth
wget -O checkpoints/motion2video_nerf/may_torso/model.pth https://example.com/path/to/may_torso.pth
GeneFace++需通过环境变量定位项目路径,执行以下命令:
export PYTHONPATH=$(pwd):$PYTHONPATH
注意:若需永久生效,可将上述命令添加至~/.bashrc
(当前用户)或/etc/profile
(全局)文件末尾,然后运行source ~/.bashrc
使配置生效。
执行以下命令运行GeneFace++示例,生成3D说话人脸视频:
python inference/genefacepp_infer.py \
--a2m_ckpt=checkpoints/audio2motion_vae \ # 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 # 输出视频文件名
参数说明:
--a2m_ckpt
:音频转动作模型路径;--head_ckpt
/--torso_ckpt
:头部/躯干动作转视频模型路径;--drv_aud
:输入音频文件路径(支持WAV格式);--out_name
:输出视频文件名(默认保存至项目根目录)。若运行时报错“CUDA driver not found”或“CUDA version mismatch”,需安装对应版本的CUDA驱动:
# 查看GPU型号(确认支持CUDA)
lspci | grep -i nvidia
# 安装NVIDIA驱动(以CentOS 7为例)
sudo yum install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r)
sudo yum install -y https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
sudo yum install -y cuda-driver
sudo reboot # 重启系统
# 验证驱动安装
nvidia-smi # 应显示GPU型号及驱动版本
若pip install -r requirements.txt
报错,可尝试逐个安装依赖,或使用--ignore-installed
强制安装:
pip install --ignore-installed -r requirements.txt
若运行时提示“Out of memory”,可尝试减少模型参数规模(如使用--small_model
参数)或增加系统交换空间(swap):
# 创建10GB交换文件
sudo fallocate -l 10G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 永久生效(添加至/etc/fstab)
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
若示例推理成功运行并生成demo_output.mp4
视频文件,且视频中包含同步的唇部动作及逼真的人脸渲染,则说明GeneFace++安装成功。