15分钟跑通SadTalker:音频驱动面部动画从环境搭建到出片
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 是一款音频驱动面部动画工具:输入一张静态人像加一段语音,就能生成嘴型、表情都与音频对齐的说话视频。这篇安装教程带你走环境、模型、出片三步。
先看效果:一张照片加一段音频能变成什么
最终产物是 mp4:人物对着镜头说话,口型、眨眼和头部微动都跟着语音走,全身照输入也不会崩坏。下面这段动图就是一次完整运行的输出。
图注:SadTalker 音频驱动面部动画的出片效果,嘴型随语音逐帧变化
原理拆开并不玄:先从照片里恢复出三维人脸参数,再把音频转成头部和口型的运动系数,最后逐帧渲染合成视频。仓库自带的演示素材都在 examples/ 目录,音频和照片可以直接拿来试。
硬件底线:你的配置够不够
| 维度 | 最低 | 更从容 |
|---|---|---|
| 显卡 | 6GB 显存(RTX 2060 一档) | 8GB 以上(RTX 3060 起) |
| 内存 | 8GB | 16GB 以上 |
| 磁盘 | 留 10GB | 留 20GB |
没有独显也能跑:脚本检测不到 CUDA 会自动切到 CPU,十几秒音频大概要等几分钟,适合先验证流程、后面再考虑提速。
环境一次搭好:conda、PyTorch 与依赖
先建隔离环境
克隆仓库后,用 conda 拉一个 Python 3.8 的独立环境,把依赖隔离开,冲突会少很多:
git clone https://gitcode.com/GitHub_Trending/sa/SadTalker cd SadTalker conda create -n sadtalker python=3.8 conda activate sadtalker再装依赖
PyTorch 按机器的 CUDA 版本去官网挑对应命令,纯 CPU 机器装 CPU 版;ffmpeg 交给 conda 最省事,最后补齐项目依赖:
pip install torch torchvision torchaudio conda install -y ffmpeg pip install -r requirements.txtmacOS 上装完还要补装 dlib,仓库 docs 目录的 install.md 里写了分平台的额外事项。
模型自动下载与第一次推理
一条命令拉全模型
bash scripts/download_models.sh它会自动创建 checkpoints 目录,把 256 和 512 两档的 safetensors 主权重、两个 mapping 网络的 pth 文件,以及 GFPGAN 人脸增强权重全部取回本地;下载用的是断点续传写法,重跑不会重复拉已存在的文件。
GPU 与 CPU 各一套参数
第一次先按 256 分辨率把全链路跑通:
python inference.py --source_image examples/source_image/full_body_1.png \ --driven_audio examples/driven_audio/bus_chinese.wav --size 256图注:上面命令默认的全身输入图,面部区域清晰是全身照能跑好的前提
完成后视频按时间戳落在 results 目录。显卡有富余,把--size提到 512、--batch_size提到 4,画面更细;CPU 机器在命令里加--cpu,并把--batch_size压到 1。除了真实照片,风格化插画也可以直接当输入:
图注:风格化插画同样能驱动出自然的说话动画
出片不顺时先查这三处
- 显存吃紧:先把
--batch_size降到 1、--size降到 256;还报 OOM,就设置PYTORCH_CUDA_ALLOC_CONF环境变量让显存分配更紧凑。 - 依赖版本打架:别在原环境里打补丁,删掉 conda 环境从头重建一次最干净。
- 加载权重报错:多半是某个模型文件没拉全,重跑一遍下载脚本即可,它会跳过已存在的文件。
最后给挑输入素材定个标:正脸、清晰、光线足,音频用 WAV 最稳。
图注:正脸清晰的这类人像,是音频驱动面部动画最省心的输入
到这里环境、模型、命令都齐了,换一张自己的照片和一段自己的音频,跑一条属于自己的出片命令就好。
【免费下载链接】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),仅供参考
