让照片人物开口说话,SadTalker 安装及使用(避坑指南)

2023-10-08 01:28

本文主要是介绍让照片人物开口说话,SadTalker 安装及使用(避坑指南),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AI技术突飞猛进,不断的改变着人们的工作和生活。数字人直播作为新兴形式,必将成为未来趋势,具有巨大的、广阔的、惊人的市场前景。它将不断融合创新技术和跨界合作,提供更具个性化和多样化的互动体验,成为未来的一种趋势。

SadTalker介绍

西安交通大学开源了人工智能SadTaker模型,通过从音频中学习生成3D运动系数,使用全新的3D面部渲染器来生成头部运动,可以实现图片+音频就能生成高质量的视频。内含多个踩坑的解决办法,值得玩一玩。

SadTalker地址

可以根据一张图片、一段音频,合成面部说这段语音的视频。图片需要真人或者接近真人。目前项目已经支持stable diffusion webui,可以SD出图后,结合一段音频合成面部说话的视频(抖音常见的数字人)

环境准备

Anaconda介绍

Anaconda,中文大蟒蛇,是一个开源的Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。

Anaconda就是可以便捷获取包且对包能够进行管理,包括了python和很多常见的软件库和一个包管理器conda。常见的科学计算类的库都包含在里面了,使得安装比常规python安装要容易,同时对环境可以统一管理的发行版本。

下载地址:https://repo.anaconda.com/archive/

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

为什么要安装Anaconda?

Anaconda对于python初学者而言及其友好,相比单独安装python主程序,选择Anaconda可以帮助省去很多麻烦,Anaconda里添加了许多常用的功能包,如果单独安装python,这些功能包则需要一条一条自行安装,在Anaconda中则不需要考虑这些,同时Anaconda还附带捆绑了两个非常好用的交互式代码编辑器(Spyder、Jupyter notebook)。

总的来说,在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。所以对虚拟环境进行创建、删除等操作需要使用conda命令。

annoconda环境安装

annoconda环境安装与使用详见:环境安装

配置镜像源

conda config --add channels https://pypi.tuna.tsinghua.edu.cn/simple
#豆瓣源
conda config --add channels http://pypi.douban.com/simple/ # 阿里源
conda config --add channels https://mirrors.aliyun.com/pypi/simple/#中科大源
conda config --add channels https://pypi.mirrors.ustc.edu.cn/simple/conda config --remove channels https://pypi.mirrors.ustc.edu.cn/simple/
conda config --remove-key channelsconda install numpy=1.19.2conda create --name myenv python=3.8
conda env list
conda activate myenv
conda deactivate
conda env remove --name myenv

SadTalker安装

SadTalker安装倒不复杂,但是安装成功非常的不容易。所以这里给出了避坑指南。主要是依赖和需要下载的东西太多太大了,光pytouch都需要2.1G,模型文件又是几个G。

这里有个坑是:最好使用conda来安装需要的包,且指定python的版本为3.8才行。如果指定版本为3.10,最后老半天来个个别pytouch的包找不到安装失败的尴尬,又得重来一遍,很耗时。

还有需要注意的是,一定要提前设置好镜像源啊,否则几天都别想安装成功,需要下载好几个G的东西。

conda create -n sadtalker python=3.8conda activate sadtalker

网上给出的安装步骤如下:

conda create -n sadtalker python=3.8conda activate sadtalkerpip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113conda install ffmpegpip install -r requirements.txt

其实没必要这样,直接执行webui.bat脚本即可,会自动的下载所有的依赖包。

E:\test\python\SadTalker> .\webui.bat

如果以上成功,仅代表环境安装ok,但是仍然是无法使用的,需要下载模型。在 sadtalker项目根目录下新建两个目录checkpoints gfpgan,下载好的模型分别放在这两个文件夹。模型比较大,checkpoints内的文件就有3.3G大小,gfpgan下的文件大小600M左右。不建议从github上下载,那样下载太慢了。

这里给出百度云盘地址:

  • 模型checkpoints, 提取码: sadt.
  • gfpgan, 提取码: sadt.

如何使用

启动UI的方式生成

E:\test\python\SadTalker> .\webui.bat

命令行方式视频生成
通过图片+语音生成视频:

python inference.py --driven_audio data/sample.wav --source_image data/sample.png

通过视频片段+语音生成视频:

python inference.py --driven_audio data/sample.wav --source_image data/sample.mp4

通过参数对生成的视频进行控制:

--preprocess full 表示完整图片--still 可以减少头部运动--enhancer gfpgan

参数1是保留全身,如果不加这个参数,则视频中只剩头部

参数2是减少头部晃动,头部晃动是会和脖子的连接部位脱节

参数3是基于gfpgan对视频进行增强

其他资源

还是搞不懂Anaconda是什么?读这一篇文章就够了-CSDN博客

annoconda安装使用及镜像源的添加,提高软件下载速度_conda镜像安装-CSDN博客

Anaconda安装教程(带图文)及使用、配置指南含编辑器对比 - 知乎

conda常用命令详解_conda显示所有环境-CSDN博客

annoconda安装使用及镜像源的添加,提高软件下载速度_conda镜像安装-CSDN博客

八、让照片说话之SadTalk_vandh的博客-CSDN博客

手把手教安装SadTalker教程_think_张大彪的博客-CSDN博客

stable-diffussion-webui+sd-webui-text2video+SadTalker数字人生产力工具安装配置教程(Linux Ubuntu,避坑帖)_水无月繁星的博客-CSDN博客

四元数(Quaternions)

彻底搞懂“旋转矩阵/欧拉角/四元数”,让你体会三维旋转之美_欧拉角判断动作-CSDN博客

【实战】体验SadTalker-CSDN博客

SadTalker项目上手教程_Alphathur的博客-CSDN博客

SadTalker 学习笔记-CSDN博客

SadTalker(CVPR2023)-音频驱动视频生成_‘Atlas’的博客-CSDN博客

SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)_c2a2o2的博客-CSDN博客

MakeItTalk:让你的人物图片或者动画动起来(学习笔记)_一名不想学习的学渣的博客-CSDN博客

MakeItTalk用一段语音让一张照片动起来-CSDN博客

faceswap换脸程序安装及使用-CSDN博客

AI数字人:换脸模型Faceswap_智慧医疗探索者的博客-CSDN博客

AI数字人:最强声音驱动面部表情模型VideoReTalking_智慧医疗探索者的博客-CSDN博客

Faceswap使用教程_face swap-CSDN博客

AI换脸软件DeepFaceLab本地安装使用教程,AI视频换脸详细步骤 - 知乎 

最强的AI视频去码&图片修复模型:CodeFormer-CSDN博客 

Pytorch 最全入门介绍,Pytorch入门看这一篇就够了 - 知乎

【深度学习】PyTorch基础入门(爆肝2万字)_柒筱暮的博客-CSDN博客

https://download.csdn.net/download/qq_30920479/88059273?spm=1001.2014.3001.5506

这篇关于让照片人物开口说话,SadTalker 安装及使用(避坑指南)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/161762

相关文章

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

如何Python使用设置word的页边距

《如何Python使用设置word的页边距》在编写或处理Word文档的过程中,页边距是一个不可忽视的排版要素,本文将介绍如何使用Python设置Word文档中各个节的页边距,需要的可以参考下... 目录操作步骤代码示例页边距单位说明应用场景与高级用China编程途小结在编写或处理Word文档的过程中,页边距是一个

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

如何解决yum无法安装epel-release的问题

《如何解决yum无法安装epel-release的问题》:本文主要介绍如何解决yum无法安装epel-release的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录yum无法安装epel-release尝试了第一种方法第二种方法(我就是用这种方法解决的)总结yum

使用JavaConfig配置Spring的流程步骤

《使用JavaConfig配置Spring的流程步骤》JavaConfig是Spring框架提供的一种基于Java的配置方式,它通过使用@Configuration注解标记的类来替代传统的XML配置文... 目录一、什么是 JavaConfig?1. 核心注解2. 与 XML 配置的对比二、JavaConf

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

Python FastAPI实现JWT校验的完整指南

《PythonFastAPI实现JWT校验的完整指南》在现代Web开发中,构建安全的API接口是开发者必须面对的核心挑战之一,本文将深入探讨如何基于FastAPI实现JWT(JSONWebToken... 目录一、JWT认证的核心原理二、项目初始化与环境配置三、安全密码处理机制四、JWT令牌的生成与验证五、

go rate 原生标准限速库的使用

《gorate原生标准限速库的使用》本文主要介绍了Go标准库golang.org/x/time/rate实现限流,采用令牌桶算法控制请求速率,提供Allow/Reserve/Wait方法,具有一定... 目录介绍安装API介绍rate.NewLimiter:创建限流器limiter.Allow():请求是否