15分钟一次跑通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安装教程按操作时间线带你走完整套SadTalker配置流程:建环境、装依赖、取模型、做验证,跟着做完就能产出第一段口型动画。
开跑前先对照:硬件与软件门槛
开始配置前,把你的机器对照下表核对一遍。低于最低门槛不是不能用,而是速度会从秒级掉到分钟级:
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Windows 10 / Ubuntu 18.04 / macOS 10.15+ | Ubuntu 20.04+ |
| Python | 3.8 | 3.8.10+ |
| CUDA | 10.2+ | 11.3+ |
| GPU显存 | 4GB | 8GB+ |
| 系统内存 | 8GB | 16GB+ |
| 空闲磁盘 | 10GB | 20GB+ |
待会儿要下载的模型文件合计约4GB,磁盘按10GB预留比较稳妥。没有NVIDIA独显也不用放弃,后面CPU模式照样能跑通全流程。
三步装完 ⚙️
第1步:建独立conda环境(做完标志:激活后python版本号为3.8)
推荐用conda隔离环境,避免和你已有的包互相打架,两条命令即可:
conda create -n sadtalker python=3.8 conda activate sadtalker第2步:装依赖(做完标志:requirements.txt全部装完无报错)
先装PyTorch。下面这条对应GPU(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/cu113CPU用户只需把命令里的cu113换成cpu,其余不动。FFmpeg负责视频读写,conda install ffmpeg装好即可。剩下numpy 1.23.4、face_alignment 1.3.5、librosa 0.9.2、basicsr、gfpgan、gradio、safetensors等依赖都写在requirements.txt里,一条命令收工:
pip install -r requirements.txt第3步:取模型(做完标志:checkpoints与gfpgan/weights目录文件齐全)📥
SadTalker模型下载不用手动敲一长串命令,仓库自带官方脚本,自动建目录、跳过已存在文件,中断后重跑可续传:
bash scripts/download_models.sh脚本拉下来的就是下面这些文件,对着"放置目录"列自查一遍:
| 文件名 | 大小 | 放置目录 |
|---|---|---|
| SadTalker_V0.0.2_256.safetensors | 约1.2GB | ./checkpoints/ |
| SadTalker_V0.0.2_512.safetensors | 约1.2GB | ./checkpoints/ |
| mapping_00109-model.pth.tar | 约200MB | ./checkpoints/ |
| mapping_00229-model.pth.tar | 约200MB | ./checkpoints/ |
| alignment_WFLW_4HG.pth | 50~300MB(按文件不同) | ./gfpgan/weights/ |
| detection_Resnet50_Final.pth | 50~300MB(按文件不同) | ./gfpgan/weights/ |
| GFPGANv1.4.pth | 50~300MB(按文件不同) | ./gfpgan/weights/ |
| parsing_parsenet.pth | 50~300MB(按文件不同) | ./gfpgan/weights/ |
选哪个模型由代码自动决定:checkpoints里只要存在.safetensors,推理时按--size参数(256或512)加载对应文件;mapping_00229对应头部裁剪模式,mapping_00109对应--preprocess full全身模式,路径逻辑在src/utils/init_path.py里。
按你的硬件选配置
GPU和CPU的生成速度差一个数量级,配置差异如下:
| 配置项 | GPU环境 | CPU环境 |
|---|---|---|
| 核心硬件 | NVIDIA GPU(3060以上体验最佳) | 任意x86/ARM CPU |
| 显存峰值 | 3~6GB | 不适用 |
| 系统内存峰值 | 4~8GB | 8~16GB |
| 单段生成耗时 | 10~30秒 | 3~8分钟 |
按场景各给一条推荐命令:
- GPU:
python inference.py --driven_audio audio.wav --source_image img.png --batch_size 4 --size 512 --enhancer gfpgan - CPU:
python inference.py --driven_audio audio.wav --source_image img.png --cpu --batch_size 1 --size 256
GPU命令里的--enhancer gfpgan会用到刚下载的GFPGAN权重做人脸锐化,出片质量明显更好。
装完怎么验:3条命令验环境 ✅
按顺序执行下面3条,输出符合预期就说明SadTalker配置全部到位:
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"- 预期输出:PyTorch版本号加
True(有卡)或False(纯CPU); ffmpeg -version能打印版本信息,报"未找到"就先补装FFmpeg;ls checkpoints gfpgan/weights确认8个模型文件一个不缺。
想进一步核对CUDA版本等细节,可看docs/FAQ.md。
踩坑速查 🩹
只收录最典型的几条,遇到先看这张表:
| 错误现象 | 原因 | 解决动作 |
|---|---|---|
| ffmpeg not recognized / FileNotFoundError | FFmpeg未装或不在PATH | conda install ffmpeg,或把安装目录加入PATH |
| FileNotFoundError: checkpoints下缺文件 | 模型没下全 | 重跑bash scripts/download_models.sh,再核对目录结构 |
| unexpected EOF ... file might be corrupted | 下载不完整或文件损坏 | wget -c续传,或删掉重下并核对大小 |
| CUDA out of memory(SadTalker显存不足) | 显存吃紧 | --batch_size 1+--size 256,再设PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 |
| ModuleNotFoundError | 依赖缺包 | 重新执行pip install -r requirements.txt |
| PyTorch的CUDA与系统不匹配 | wheel装错版本 | 按系统CUDA重装对应的torch wheel |
| Illegal Hardware Instruction(macOS M1) | dlib架构不兼容 | pip uninstall dlib后重新pip install dlib |
更多参数组合与出片技巧,翻docs/best_practice.md。
收尾
SadTalker安装就是"conda环境 + 2条pip命令 + 1个下载脚本",上面3条验证命令全过即可开工。下一步建议:直接跑前文的inference命令生成你的第一段说话视频,或者python app_sadtalker.py打开Gradio网页演示(需先pip install TTS;Linux/macOS也可bash webui.sh一键起服务,细节见docs/webui_extension.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),仅供参考