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
SadTalker 是一个音频驱动的单图说话头像视频生成项目(CVPR 2023),输入一张肖像图片和一段音频,输出带口型与头部动作的视频。代码仓库本身不含任何模型权重,跑推理前必须先完成 SadTalker 模型下载,把 checkpoints 与 GFPGAN 增强模型放到指定目录。本文给出模型文件清单、下载方式对比、期望的目录结构和最小验证命令,帮你把 SadTalker 模型配置一次做对。
模型文件清单:SadTalker 实际会读取的文件
先建立「文件 → 功能」的映射,再开始下载:
| 文件 | 作用 | 规格/分辨率 | 是否必需 |
|---|---|---|---|
checkpoints/SadTalker_V0.0.2_256.safetensors | 新版打包主权重(audio2pose 姿态网络、audio2exp 表情网络、facevid2vid 渲染模型),--size 256时加载 | 256×256 面部渲染 | 必需(256/512 按渲染分辨率二选一) |
checkpoints/SadTalker_V0.0.2_512.safetensors | 同上,--size 512时加载 | 512×512 面部渲染 | 必需(与 256 版二选一) |
checkpoints/mapping_00229-model.pth.tar | MappingNet,把人脸特征映射到 StyleGAN 潜空间,默认 crop 模式使用 | — | 必需(默认模式) |
checkpoints/mapping_00109-model.pth.tar | 同上,--preprocess full全身模式使用 | — | 仅全身模式必需 |
gfpgan/weights/下 4 个.pth(alignment_WFLW_4HG、detection_Resnet50_Final、parsing_parsenet、GFPGANv1.4) | 人脸对齐、检测、语义解析与 GFPGANv1.4 人脸增强 | — | 可选,加--enhancer gfpgan时必需 |
注意src/utils/init_path.py的分发逻辑:checkpoints/目录下只要存在任意.safetensors,就按新版加载(文件名中的分辨率必须与--size一致);否则打印 WARNING 并回退到逐个加载旧版.pth文件。混用新旧版本是加载报错的常见根源。
下载方式对比与选型
| 途径 | 适用场景 | 说明 |
|---|---|---|
官方脚本scripts/download_models.sh | Linux/macOS,首选 | 一条命令下齐 checkpoints 与 gfpgan 权重;内部使用wget -nc,已下载文件自动跳过,中断可续传 |
| GitHub Releases(OpenTalker/SadTalker 的 v0.0.2-rc 标签) | 只缺个别文件、需要手动补下 | 逐文件下载,适合断点续传后的单文件重试 |
| Google Drive / 百度网盘(提取码 sadt) | 直连 GitHub 受限的环境 | 官方离线打包,国内环境优先百度网盘 |
推荐顺序:先跑脚本,失败再切到 Releases 单文件下载,国内网络不稳时直接走网盘包。脚本方式只需:
bash scripts/download_models.sh若仓库尚未克隆,先执行git clone https://gitcode.com/GitHub_Trending/sa/SadTalker,再按 docs/install.md 创建 Python 3.8 环境并安装requirements.txt中的依赖,模型下载与依赖安装互不阻塞。
落盘与目录核对:期望的 checkpoints 目录结构
脚本执行成功后,项目根目录应呈现如下结构:
checkpoints/ ├── mapping_00109-model.pth.tar ├── mapping_00229-model.pth.tar ├── SadTalker_V0.0.2_256.safetensors └── SadTalker_V0.0.2_512.safetensorsgfpgan/weights/目录也由脚本创建,放入清单表中 4 个.pth文件。代码中init_path写死从./checkpoints和./gfpgan/weights两个路径取文件,把权重放到仓库根目录、src/或其他子目录,推理启动时就会抛出 FileNotFoundError。
最小验证命令:跑一次确认配置
依赖装好后,用仓库自带素材跑一条最简推理:
python inference.py \ --driven_audio examples/driven_audio/chinese_news.wav \ --source_image examples/source_image/art_0.png --cpu预期输出特征:日志先打印3DMM Extraction for source image,结尾打印The generated video is named: results/....mp4,且results/下出现对应 mp4 文件。若日志中出现using safetensor as default,说明新版.safetensors权重被正确选中。看到最终 mp4 命名行即为配置成功。
故障速查
| 现象 | 可能原因 | 处理方法 |
|---|---|---|
| 下载中断,文件大小偏小 | 网络波动 | 重新执行同一脚本,wget -nc会自动续传并跳过已完成文件 |
| 写盘失败、空间不足 | 模型包总量数 GB | 预留至少 5GB 可用空间,清理无关大文件后重试 |
| 启动时打印 WARNING 并回退旧版权重 | checkpoints/缺.safetensors,或--size与文件名分辨率不匹配 | 按上文目录树补下对应分辨率的.safetensors,保持--size一致 |
FileNotFoundError: .../similarity_Lm3D_all.mat等路径错误 | 文件放错目录,或下载的是旧版目录结构 | 逐项对照目录树摆放,新版 BFM 相关.mat位于src/config/ |
RuntimeError: unexpected EOF, expected ... bytes | 文件截断或损坏 | 核对文件体积,删除后重新下载对应单个文件 |
完成以上步骤,SadTalker 模型下载与配置即告完成,后续参数调优、全身模式与增强选项的使用可查看 docs/best_practice.md,运行期报错可先检索 docs/FAQ.md。
【免费下载链接】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),仅供参考