CentOS安装GeneFace++实战技巧
安装前需确保系统为最新状态,避免因软件包冲突导致安装失败。执行sudo yum update -y
更新所有系统软件包。
GeneFace++依赖C++编译工具链、Python环境及多媒体处理库,需安装以下依赖项:sudo yum install -y cmake python3 python3-devel libpng-devel libjpeg-devel libtiff-devel gcc-c++ make
(注:gcc-c++
和make
是编译C++代码的核心工具,若缺失会导致编译失败。)
GeneFace++的源码通常托管在GitHub,需从官方或可信仓库克隆。以常见仓库为例:git clone https://github.com/yerfor/GeneFacePlusPlus.git
(注:若仓库地址变更,需替换为实际地址;克隆前建议创建专用目录,如mkdir -p ~/geneface && cd ~/geneface
。)
进入源码目录,创建build
目录(隔离编译文件,保持源码整洁):mkdir build && cd build
执行cmake ..
生成Makefile(需确保cmake
版本≥3.10,若未安装可通过sudo yum install -y cmake3
安装并使用cmake3
替代);
执行make -j$(nproc)
并行编译(-j$(nproc)
会根据CPU核心数加速编译,减少等待时间);
执行sudo make install
将编译后的文件安装到系统默认路径(通常为/usr/local/
)。
若安装路径非系统标准路径(如/usr/local/geneface
),需手动配置环境变量:
编辑~/.bashrc
文件(用户级配置,仅当前用户生效)或/etc/profile
(系统级配置,所有用户生效),添加以下内容:
export PATH=$PATH:/path/to/GeneFacePlusPlus/bin # 替换为实际bin目录路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/GeneFacePlusPlus/lib # 替换为实际lib目录路径
保存后执行source ~/.bashrc
(或source /etc/profile
)使配置立即生效。
GeneFace++的Python模块需在独立虚拟环境中安装,防止与其他Python项目冲突:
使用conda
创建虚拟环境(推荐,易管理):conda create -n geneface python=3.9
(3.9
为GeneFace++推荐的Python版本,需与项目要求一致);
激活虚拟环境:conda activate geneface
;
进入项目根目录,安装Python依赖:pip install -r requirements.txt
(requirements.txt
包含PyTorch、Gradio等核心依赖)。
GeneFace++运行需3DMM文件(面部形状模型)、预处理数据集(如May的视频数据)及预训练模型(audio2motion_vae
、motion2video_nerf
):
./deep_3drecon/BFM
目录;./data/binary/videos/May
目录(需对应项目中的路径要求);audio2motion_vae
、motion2video_nerf
等模型,放置到./checkpoints
目录下的对应子目录(如./checkpoints/audio2motion_vae
)。设置Python路径(指向项目根目录),执行示例推理脚本:
export PYTHONPATH=$(pwd):$PYTHONPATH # 将项目根目录添加到Python搜索路径
python inference/genefacepp_infer.py \
--a2m_ckpt=./checkpoints/audio2motion_vae \ # audio2motion模型路径
--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 # 输出视频文件路径
运行成功后,检查demo_output.mp4
是否生成(若生成则表示安装成功)。
sudo
提升权限,但配置环境变量时无需sudo
(避免修改系统全局配置);sudo systemctl stop firewalld
)或配置端口权限;SELinux可设置为宽松模式(sudo setenforce 0
)以避免权限拦截;xxx.h
文件),需通过yum search xxx
查找并安装对应开发包(如libpng-devel
对应libpng.h
);若Python依赖安装失败,可尝试升级pip
(pip install --upgrade pip
)或使用国内镜像源(如pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
)。