SadTalker 安装与配置:5 步跑通音频驱动面部动画生成
【免费下载链接】SadTalker[CVPR 2023] SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation项目地址: https://gitcode.com/GitHub_Trending/sa/SadTalker
SadTalker 是一个 CVPR 2023 的音频驱动面部动画系统,输入一张人像照片加一段音频,输出说话人视频。本文给出 SadTalker 安装的一条完整落地路径:按硬件选路、一条命令式流程搭好环境、模型下载与校验、首次推理命令,外加一张按报错关键词组织的问题速查表。全部命令基于仓库真实脚本,可直接复制。
一、选路:你的硬件走哪条路
这一节帮你判断走 GPU 还是 CPU。做完你能明确自己的部署路线。
| 对比项 | GPU 路线 | CPU 路线 |
|---|---|---|
| 硬件要求 | NVIDIA GPU,建议 4GB 显存起步 | 任意 x86/ARM CPU |
| 依赖 | CUDA 11.3 版 PyTorch | PyTorch CPU 版 |
| 内存 | 16GB 内存 | 建议 32GB 内存 |
| 10 秒音频量级耗时 | 10–30 秒 | 3–8 分钟 |
结论:有 4GB 以上显存的 NVIDIA 显卡就直接走 GPU;没有显卡的机器走 CPU 兜底,结果一致,只是慢一个量级。设备是自动检测的,inference.py 发现 CUDA 可用就分配给 GPU,加--cpu参数才强制走 CPU。
选好路线,下一步把环境搭起来。
二、一条命令式流程搭好 SadTalker 运行环境
这一节按顺序执行 5 个步骤。做完你的 conda 环境能直接加载全部依赖,torch.cuda.is_available()返回True。
- 克隆仓库并创建 conda 环境:
git clone https://gitcode.com/GitHub_Trending/sa/SadTalker cd SadTalker conda create -n sadtalker python=3.8 conda activate sadtalker- 按 CUDA 分支装 PyTorch(CUDA 11.3 或 CPU 二选一):
# CUDA 11.3 pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113 # CPU 兜底 pip install torch==1.12.1+cpu torchvision==0.13.1+cpu torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cpupython -c "import torch; print(torch.__version__, torch.cuda.is_available())"- 安装 FFmpeg:
conda install ffmpegffmpeg -version- 安装依赖(清单见 requirements.txt):
pip install -r requirements.txt跑 Gradio 网页演示需要额外装 Coqui TTS:pip install TTS。
- 环境自检:
python -c "import numpy, librosa, face_alignment; print('OK')"环境就绪后,还差预训练模型这一环。
三、模型文件下载清单与校验
这一节把模型下到正确位置。做完你的项目目录下会出现checkpoints/和gfpgan/weights/两个目录,且每个文件的大小符合预期。
| 文件 | 位置 | 大小 | 用途 |
|---|---|---|---|
SadTalker_V0.0.2_256.safetensors | checkpoints/ | 约 1.2GB | 256 分辨率面部渲染主模型 |
SadTalker_V0.0.2_512.safetensors | checkpoints/ | 约 1.2GB | 512 分辨率面部渲染主模型 |
mapping_00229-model.pth.tar | checkpoints/ | 约 200MB | crop 模式 MappingNet |
mapping_00109-model.pth.tar | checkpoints/ | 约 200MB | full 模式 MappingNet |
alignment_WFLW_4HG.pth | gfpgan/weights/ | 数十 MB | facexlib 面部对齐 |
detection_Resnet50_Final.pth | gfpgan/weights/ | 数十 MB | facexlib 人脸检测 |
GFPGANv1.4.pth | gfpgan/weights/ | 约 300MB | GFPGAN 人脸增强 |
parsing_parsenet.pth | gfpgan/weights/ | 数十 MB | 面部解析 |
两种下载方式。方式一:Linux/macOS 直接运行仓库自带的下载脚本,自动建目录并拉取全部文件:
bash scripts/download_models.sh方式二:手动下载。在 Releases 页面下载核心模型,放入checkpoints/,另下载 GFPGAN 离线补丁包,解压后覆盖到项目根目录的gfpgan/。注意两个 mapping 文件要下全:src/utils/init_path.py 按--preprocess是否为 full 模式二选一加载。
下载后校验完整性:
du -h checkpoints/*.safetensors checkpoints/*.pth.tar du -h gfpgan/weights/*.pthsafetensors 文件应在 1.2GB 量级,两个 pth.tar 在 200MB 量级。明显偏小说明下载不完整,用wget -nc断点续传补齐。
模型就位,下面跑第一次推理。
四、跑通 SadTalker 第一次推理
这一节用最少参数生成第一条视频。做完results/下会出现一个时间戳目录,里面是一条带口型动画的 mp4。
最小参数集:
python inference.py --driven_audio examples/driven_audio/bus_chinese.wav \ --source_image examples/source_image/art_0.png \ --enhancer gfpgan仓库自带示例音频和示例人像,可直接使用。
两个关键参数。--size:选 256 还是 512 分辨率主模型,init_path 会自动加载对应的SadTalker_V0.0.2_512.safetensors或 256 版本,默认 256;512 质量更好,显存需求更高。--enhancer gfpgan:用 GFPGAN 修复人脸细节,不需要增强就去掉。输入是全身照时,加--still --preprocess full保持原始头部姿态并贴回全身画面;只生成人脸特写就用默认 crop 模式。更多组合见 docs/best_practice.md。
ls results/视频已生成,剩下就是性能预期和报错自查。
五、性能表现与报错关键词速查
这一节给耗时预期和按报错关键词组织的问题表。对照速查表,90% 的安装问题能直接定位。
| 硬件 | 10 秒音频量级耗时 |
|---|---|
| GPU | 10–30 秒 |
| CPU | 3–8 分钟 |
| 报错关键词 | 原因 | 解法 |
|---|---|---|
CUDA out of memory | 显存不足 | 降--batch_size、--size 256,或设PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 |
ffmpeg is not recognized | FFmpeg 未装或不在 PATH | conda install ffmpeg后ffmpeg -version验证 |
unexpected EOF, The file might be corrupted | 模型下载不完整 | 按清单表校验大小,重新下载 |
No such file or directory | 模型目录结构不对 | 对照第三节目录结构检查 checkpoints/ 与 gfpgan/weights/ |
No module named 'ai'/Illegal Hardware | 多为 Mac M1 上 dlib 不兼容 | 单独重装pip install dlib |
Invalid data found when processing input | 音频格式不对 | 输入只支持 wav 或 mp3 |
更完整的案例见 docs/FAQ.md。
环境、模型、推理三步落地后,SadTalker 的安装配置就算完成。 再遇到问题,回这张速查表按关键词查即可。
【免费下载链接】SadTalker[CVPR 2023] SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation项目地址: https://gitcode.com/GitHub_Trending/sa/SadTalker
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考