开源的照片数字人项目——SadTalker

发布于:2025-07-06 ⋅ 阅读:(12) ⋅ 点赞:(0)

简介

给定一张照片和一段音频,生成张嘴说话的数字人视频。
项目主页:https://github.com/OpenTalker/SadTalker
官网推荐的指导视频:https://www.bilibili.com/video/BV1Dc411W7V6/?vd_source=78b9e11be3f62acc485bf133393ebc27
因为该项目是2023年的,当时使用的模块版本都比较低,代码中使用的方法也是和模块对应的,所以如果没有修改代码的计划,最好忠实于原版本。
网络上看有网友表示如果音频时间太长,生成的视频会出现对不上口型的情况,建议不超过30s,有空的朋友可以测试一下。

实验环境

硬件

CPU:本项目使用的是pytorch。不像很其他多项目限制了必须使用CUDA,该项目单纯的使用CPU也可以跑,但是速度会慢很多(即使是很短的音频也要花上1h)。本人的显卡是英特尔,因此不幸只能选择纯CPU的方式。

软件

windows系统
anaconda

实验步骤

源代码下载

可以直接下载包含预训练模型的源代码:https://pan.baidu.com/s/1QIG5t1WIO6s-zWgxToP-9g?pwd=uo5o

环境准备

  1. 运行anaconda prompt,创建虚拟环境并激活
conda create -n sadtalker python=3.8
conda activate sadtalker
  1. 下载pytorch
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cpuonly -c pytorch

如果是其他环境(操作系统及GPU),可以在 https://pytorch.org/get-started/previous-versions/ 查看安装命令
3. 安装ffmpeg

conda install ffmpeg
  1. 安装python模块
pip install -r requirements.txt

安装模块时,有几个坑要注意一下:
(1)直接通过requirements安装可能会报错,此时就需要一个一个安装
(2)某些模块用清华源找不到,必须从官网源下载
(3)face_alignment得改成1.3.4版本的,否则也会报错
5. 将源代码中gfpgan\weights目录下的GFPGANv1.4.pth文件,拷贝至虚拟环境(可通过conda info命令查看active env location)目录下的Lib\site-packages\gfpgan\weights目录。

运行脚本

示例代码:

python inference.py --driven_audio C:\develop\SadTalker\material\voice1.wav --source_image C:\develop\SadTalker\material\pic1.png --still --preprocess full --enhancer gfpgan

示例中,将音频和视频文件放置在C:\develop\SadTalker\material\目录下,其中音频似乎只能是wav文件。
如果去掉--still --preprocess full,则只会生成人脸的视频
等待程序跑完之后,在results目录下的文件夹里,就会生成视频的mp4文件。


网站公告

今日签到

点亮在社区的每一天
去签到