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 的模型下载与安装配置共 5 个步骤:准备 Python 运行环境、用内置脚本拉取全部权重、核对文件清单,再用仓库自带样本跑一次验证。跟做完全部内容后,你就能独立完成"一张肖像图 + 一段音频生成说话视频"从装好环境到首次出片的全流程。
SadTalker 的输入只需要一张清晰的人像,效果取决于权重文件是否配置正确。仓库内置了一张示例输入图,先感受一下:
全流程速览
- 准备环境:克隆仓库,创建 Python 3.8 虚拟环境,安装依赖与 ffmpeg。
- 一键下载:执行内置下载脚本,自动拉取全部权重文件。
- 手动下载:网络受限时改走其他渠道,自行放入指定目录。
- 核对清单:确认
checkpoints/与gfpgan/weights/下 8 个文件齐全。 - 验证测试:用自带样本运行推理,确认能生成视频。
第 1 步:准备 Python 运行环境
做什么:把项目代码拿到本地,并搭建一个干净的独立运行环境。
怎么做:打开终端依次执行下面的命令。先克隆仓库并进入目录,再新建 Python 3.8 的 conda 环境;ffmpeg 负责视频的读写,依赖清单在requirements.txt里。
git clone https://gitcode.com/GitHub_Trending/sa/SadTalker cd SadTalker conda create -n sadtalker python=3.8 conda activate sadtalker conda install ffmpeg pip install -r requirements.txt预期结果:全部命令执行完毕且没有红色报错,当前目录能看到scripts/、src/、examples/等子目录。使用 Apple 芯片的 Mac 还需单独执行pip install dlib,更多平台细节可参考 docs/install.md。
第 2 步:用内置脚本一键下载模型文件
做什么:让脚本自动建目录、拉取权重。这是 Linux 与 macOS 用户的推荐方式,运行前请确认磁盘至少还有 5 GB 可用空间。
怎么做:在项目根目录执行官方提供的下载脚本,它会把所有文件写入两个新目录:
bash scripts/download_models.sh脚本对每个文件都使用了 wget 的-nc参数。如果中途断网,直接再次执行同一条命令即可,已完成的文件会被跳过,不需要从头再来。
预期结果:执行结束后,仓库根目录多出了checkpoints/和gfpgan/weights/两个目录,合计 8 个模型文件。Windows 用户或脚本无法访问网络时,进入第 3 步。
第 3 步:通过其他渠道手动下载模型文件
做什么:内置脚本失效时,人工取回文件并放到正确位置。
怎么做:README 中列出了三个下载渠道,分别是GitHub Releases、Google Drive和百度网盘(提取码sadt)。主权重与 GFPGAN 离线包在三个渠道下各有独立入口,下载时注意区分,不要拿错。文件解压后放入checkpoints/或gfpgan/weights/目录,文件名必须与下一步的清单完全一致。
预期结果:放置完成后,两个目录的内容与脚本正常跑完的结果一致。
第 4 步:核对模型文件清单与目录结构
做什么:逐件核对文件是否齐全,缺一个都会让后续推理加载失败。
怎么做:列出上述两个目录的内容,与下表逐一比对。
| 文件 | 作用 |
|---|---|
checkpoints/mapping_00109-model.pth.tar | MappingNet 权重,负责音频到 3D 运动系数的转换 |
checkpoints/mapping_00229-model.pth.tar | MappingNet 的另一套权重 |
checkpoints/SadTalker_V0.0.2_256.safetensors | 256 分辨率面部渲染模型 |
checkpoints/SadTalker_V0.0.2_512.safetensors | 512 分辨率面部渲染模型 |
gfpgan/weights/alignment_WFLW_4HG.pth | GFPGAN 人脸对齐模型 |
gfpgan/weights/detection_Resnet50_Final.pth | GFPGAN 人脸检测模型 |
gfpgan/weights/GFPGANv1.4.pth | GFPGAN 人脸增强主模型 |
gfpgan/weights/parsing_parsenet.pth | GFPGAN 人脸解析模型 |
预期结果:8 个文件全部就位。两个SadTalker_V0.0.2_*.safetensors分别对应推理时--size 256(默认)与--size 512两种渲染分辨率,日常使用无需额外操作。
第 5 步:跑一次验证测试
做什么:用仓库自带样本完整跑一遍推理,确认权重能被正确加载。
怎么做:examples/目录里备有现成的音频与人像,直接执行:
python inference.py --driven_audio examples/driven_audio/chinese_news.wav \ --source_image examples/source_image/art_16.png测试输入也可以换成examples/source_image/下的任意一张人像,比如这张半身样图:
预期结果:程序走完流程并打印The generated video is named: ...,成品 MP4 保存在results/目录下。想让人脸更清晰,可在命令后追加--enhancer gfpgan,它依赖第 4 步核对的 GFPGAN 权重。
如果还想试整图动画模式,加上--still --preprocess full,并尽量选用全身人像,仓库提供了现成样本examples/source_image/full_body_1.png:
排障手册:从现象到解决办法
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 下载中途断开、脚本停住 | 网络不稳定 | 重新执行bash scripts/download_models.sh,-nc参数会自动跳过已完成文件 |
加载模型时报unexpected EOF一类错误 | 文件不完整或已损坏 | 重新下载对应文件并覆盖旧文件 |
提示ffmpeg: command not found | ffmpeg 未安装或未加入 PATH | Linux/macOS 执行conda install ffmpeg;Windows 安装 ffmpeg 后将其加入%PATH% |
FileNotFoundError指向checkpoints/下的文件 | 权重未下载或放错了目录 | 重新执行下载脚本,确认文件位于仓库根目录的两个指定目录内 |
CUDA out of memory | 显存不足 | 运行前设置环境变量PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 |
| 音频解码报错 | 输入格式不受支持 | 换用wav或mp3格式的音频 |
收尾:常见误区与进阶路径
先避开三个容易踩的坑。混用版本:权重文件必须与代码同版本(当前代码对应 V0.0.2 系列),新旧混用会直接加载失败。漏下增强权重:GFPGAN 人脸增强是独立于主权重的下载项,漏掉它时主流程可用,但--enhancer gfpgan会报错。期待首次运行自动补全:程序不会在下载缺失权重时自动去拉取,缺文件只会直接报错,所以务必先完成第 2 至第 4 步再跑第一次推理。
再记三条长期建议。备份模型目录:首次配置成功后把checkpoints/和gfpgan/整体复制一份,日后重建环境直接拷回即可。保持路径干净:仓库放在不含空格和中文的路径下,避免音频读取与视频写出出现意外。记录首次成功的命令:记下能跑通的完整参数,之后更换输入或调试时有据可查。
想继续深入,建议按顺序阅读:docs/best_practice.md 讲解参数调整与各动画模式,docs/FAQ.md 收录更多报错说明,docs/install.md 覆盖 macOS 与 Docker 的搭建差异。若问题仍不在上述列表中,可携带完整报错信息到项目社区发帖讨论。
【免费下载链接】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),仅供参考