只需3步,使用Stable Diffusion无限生产AI数字人视频

news2024/10/7 4:22:22

效果演示

先看效果,感兴趣的可以继续读下去。

没有找到可以上传视频的地方,大家打开这个网盘链接观看:https://www.aliyundrive.com/s/CRBm5NL3xAE
 

基本方法

搞一张照片,搞一段语音,合成照片和语音,同时让照片中的人物动起来,特别是头、眼睛和嘴。

语音合成

语音合成的方法很多,也比较成熟了,大家可以选择自己方便的,直接录音也可以,只要能生成一个语音文件就行了。

这里分享一个文字转语音的工具:在线免费文字转语音 - TTSMaker | 马克配音https://ttsmaker.cn/在线免费文字转语音 - TTSMaker | 马克配音,不用注册不用花钱,使用起来很简单。(广告时间:目前国内的AI资源也很丰富了,我做了一个汇总:https://toai.fireflysoft.net,不用特殊网络设置,快速找到想用的AI工具)

如下图所示 :输入你的文字,选择播音员,填写验证码,点击转换按钮。

生成速度挺快的,然后在左边这里可以试听和下载。

照片生成

这里介绍的方法需要使用比较真实的照片,如果太二次元了,视频人脸的效果会比较差。大家可以使用自己真实的照片,也可以使用Stable Diffusion生成一张,也可以使用图生图稍微改造下自己的照片,总之要尽量真实一些。

另外这张照片尽量正面一些,侧脸生成的视频可能会出现头和身体拼接不太好的情况,所以如果有证件照是最好的。

我这里演示生成一张真实照片,看AI生成的美女都有些厌倦了,今天我们生成个帅哥。

(1)生成工具使用 Stable Diffusion WebUI,模型选择 realisticVisionV20,这个模型生成的图片看起来比较真实。

提示词:best quality, front photo of a young man, chinese, portrait,black t-shirt, short hair, (looking at viewer), Sense of technology, in an office, computers, screen, books, upper body,

反向提示词: easy_negative, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, skin spots, acnes, skin blemishes, age spot, (ugly:1.331), (duplicate:1.331), (morbid:1.21), (mutilated:1.21), (tranny:1.331), mutated hands, (poorly drawn hands:1.5), blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs, (disfigured:1.331), (missing arms:1.331), (extra legs:1.331), (fused fingers:1.61051), (too many fingers:1.61051), (unclear eyes:1.331), lowers, bad hands, missing fingers, extra digit,bad hands, missing fingers, (((extra arms and legs))),

(2)采样器这里选择DPM++ 2M SDE Karras,选择别的也没问题,只要生成一张人物照片就可以了。

采样步数根据采样器选择,这里是40,建议20-40,以实际出图效果为准。

尺寸这里选择竖版,放到手机里会比较合适。

生成次数:建议先把提示词写好了,然后一次多生成几张,从里边选择最好的,节省时间。

(3)这里我选择一张自认为看起来还不错的图片,把这张图下载下来备用。

视频合成

这是最关键的一步,这里还是使用Stable Diffusion WebUI,不过只是使用其中的一个插件,这个插件的名字就是SadTalker。

SadTalker是Github上开源的,主要成员也都是国内的技术大佬,地址:https://github.com/OpenTalker/SadTalker.git

这里默认大家都安装好Stable Diffusion WebUI了,如果还没安装过的朋友,建议去AutoDL上租一个服务器体验下,方便不贵,选择A5000规格的就差不多了,安装教程网上应该挺多的,这里就不啰嗦了,还不会的可以联系我。

关于SadTalker插件的安装方法我这里介绍两种。

安装方法一

适合访问Github或者外网比较顺畅的用户,因为需要自动下载很多东西。

在SD WebUI中通过扩展插件页面安装,如下图所示:

这个插件需要下载的文件很多,有的文件还比较大,请耐心等待。如果不确定是不是出问题了,可以看看控制台输出的内容,有没有错误。

安装完了,不要忘了重启Stable Diffusion,要整个重启,不要只重启WebUI。

安装方法二

适合访问外网不太方便的用户,把这个插件需要的文件通过别的方式提前下载好,比如迅雷下载,只要上传到指定的目录就行了。

  • 主程序:

放到 stable-diffusion-webui/extensions/SadTalker

https://github.com/OpenTalker/SadTalker/archive/refs/heads/main.zip

  • 视频模型:

放到 stable-diffusion-webui/extensions/SadTalker/checkpoints

https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/mapping_00109-model.pth.tar

https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/mapping_00229-model.pth.tar

https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/SadTalker_V0.0.2_256.safetensors

https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/SadTalker_V0.0.2_512.safetensors

  • 修脸模型:

放到 stable-diffusion-webui/extensions/SadTalker/gfpgan/weights 和 stable-diffusion-webui/models/GFPGAN

https://github.com/xinntao/facexlib/releases/download/v0.1.0/alignment_WFLW_4HG.pth

https://github.com/xinntao/facexlib/releases/download/v0.1.0/detection_Resnet50_Final.pth

https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.4.pth

https://github.com/xinntao/facexlib/releases/download/v0.2.2/parsing_parsenet.pth

为了方便使用这种方式部署,我也把相关的文件做了一个打包,大家不用一个一个下载。关注公众号:萤火遛AI,发消息:数字人,即可获得下载地址。

(1)首先把文件下载到本地或者你的云环境,这里以AutoDL为例,我把它放到 /root 目录中。

(2)然后解压文件到 stable diffusion webui的扩展目录,并拷贝几个文件到SD模型目录:

tar -xvf /root/SadTalker.tar -C /root/stable-diffusion-webui/extensions
cp -r /root/stable-diffusion-webui/extensions/SadTalker/gfpgan/weights/* /root/stable-diffusion-webui/models/GFPGAN/

看到下边的结果,就基本上差不多了。

扩展目录下边有这个文件夹:

SD models 目录下有这几个文件:

部署完毕,不要忘了重启。

使用方法

在SD WebUI的Tab菜单中找到SadTalker,按照下边的顺序进行设置。

1、上传人物照片。

2、上传语音文件。

3、选择视频人物的姿势:实际就是人说话时头部的动作,个人感觉有点摇头晃脑,可以使用不同的数字看看。

4、分辨率:512的视频分辨率比256大。

5、图片处理方法:corp是从图片截取头部做视频,resize适合大头照或者证件照,full就是全身照做视频,extcorp和extfull没做细致研究,大家自己对比下。

6、Still Model:让头部不要动作太大,以致偏离身体,负面效果是头不怎么动了。

7、GFPGAN:修脸,说话时嘴和眼的动作可能让脸有些变形,选上他让脸部好看一些。

最后点击“生成”,根据硬件的运行速度和你的勾选设置,可能需要几分钟的时间,耐心等待。

我这里生成的视频(视频太占地,截个图算了):

图片

 

可能遇到的问题

(1) 启动的时候报错:SadTalker will not support download...

这个错误就是模型下载不下来,告诉我们要去手动下载。

这里有两个方法:

  • 执行下边的命令触发下载,注意 cd 之后的路径替换成你自己的SadTalker安装路径:
cd stable-diffusion-webui/extensions/SadTalker
chmod 755 scripts/download_models.sh
scripts/download_models.sh
  • 下载所有的模版,然后手工上传到相关目录,上边安装方法二中已经介绍过,可以使用我打包好的文件包。

(2) 合成视频时报错:No module named 'xxx'

使用 pip install xxx 就可以了,注意如果使用了python虚拟环境,需要先激活它,比如这里要先执行source xxx。

source /root/stable-diffusion-webui/venv/bin/activate
pip install librosa

(3)合成视频时报错:No such file or directory: '/tmp/gradio/xxx',创建目录就可以了:

mkdir -p /tmp/gradio

(4)如果提示找不到 ffmpeg,我这里没遇到,如果出现请先下载安装:http://ffmpeg.org/download.html


以上就是本文的主要内容了,使用这种方法就可以无限制作自己的AI专属数字人,想要什么样的风格都可以,想做多少个都可以,有兴趣的快去试试吧。当然要遵纪守法,不要搞出事情来。

如果你有任何问题,欢迎与我交流,V/X:yinghuojun007。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

APP抓包-资产获取+Frida反代理绕过和证书校验绕过

app抓包获取资产 1.打开模拟器,和电脑连接同一个wifi,让模拟器和电脑处于同一局域网,在模拟器配置代理。 burp开启监听 模拟器开启app,burp成功获取资产信息 有时候明明配置没问题,为什么抓不到app数据包呢&#xff1f…

Folx Pro 5 最好用的Mac磁力链接BT种子下载工具

除了迅雷,还有哪个支持磁力链接下载?Mac电脑如何下载磁力链接?经常有小伙伴问老宅。今天,老宅给大家推荐Folx Pro For Mac,Mac系统超好用的磁力下载工具。 Folx是一款功能强大且易于使用的Mac下载管理器,并…

ChatGPT开放自定义系统级别的指令,可设置偏好变成专属助理

OpenAI官方消息https://openai.com/blog/custom-instructions-for-chatgpt OpenAI为其大型语言模型接口ChatGPT引入了自定义指令,旨在为用户提供更加量身定制和个性化的体验,可以设置您的偏好,ChatGPT将在未来的所有对话中记住它们。 该功…

linux:cloudfare证书申请及应用到nginx

参考: 免费申请网站SSL证书 有效期15年 全站开启https_哔哩哔哩_bilibili 总结: 登陆www.cloudfare.com 注册账号 Add a Site 增加站点 站点设置完毕后Add record 记住这个Proxy status一定要勾选,这是cloudfare代理https请求转发到你的服务器…

Java开发基础系列(十):异常处理

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: Java开发基础系列(十):异常处理 ⏱️ 创作时间: 2023年07月…

深度学习——生成对抗网络GAN

基本概念 概述 GAN是一种深度学习模型,它是一种无监督学习算法,用于从随机噪声中生成逼真的数据,比如图像、音频、文本等。GAN的结构由两个神经网络组成:生成器(Generator)和判别器(Discrimin…

谈谈面试大厂中碰到的问题

面试IT公司的小技巧 非常不建议在简历上造假,简历上能起到关键作用、有分量的部分,别人都是有办法去核实的,比如教育背景、关键性的证书、奖项等;核实不了的,又基本上也对结果产生不了太大影响,又何必去画…

USG6000v防火墙的基本使用:制定安全策略让不同安全区域的设备进行访问

目录 一、首先配置环境: 二、实验拓扑及说明 拓扑: PC1和PC2配置ip地址:​编辑​编辑 r4路由器配置ip: 进行防火墙的设置: 1、创建trust1区域和untrust1区域 2、制定防火墙的策略: 3、为防火墙增加可以…

【PostgreSQL内核学习(四)—— 查询规划】

查询规划 查询规划总体处理流程pg_plan_queries函数standard_planner函数subquery_planner函数inheritance_planner函数grouping_planner函数 总结 声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求…

SpringBoot原理分析 | 任务:异步、邮件、定时

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 任务 异步任务 Java异步指的是在程序执行过程中,某些任务可以在后台进行,而不会阻塞程序的执行。通常情况下,Java异步使用线程池来…

Apikit 自学日记:如何使用定时执行测试用例功能呢?

API自动化测试其实可以设置定时任务,实现项目在无人值守的情况下自动测试并且发送报告给相应的邮箱,监控项目监控情况。 这样一来,就能大大提高工作效率。 目前在 APIkit中这一部分主要功能有: 1.允许对测试任务进行分组&#xf…

Llama 2: Open Foundation and Fine-Tuned Chat Models

文章目录 TL;DRIntroduction背景本文方案 实现方式预训练预训练数据训练细节训练硬件支持预训练碳足迹 微调SFTSFT 训练细节 RLHF人类偏好数据收集奖励模型迭代式微调(RLHF)拒绝采样(Rejection Sampling)PPO多轮一致性的系统消息&…

GAMS---典型优化模型和算法介绍、GAMS安装和介绍、GAMS程序编写、GAMS程序调试、实际应用算例演示与经验分享

优化分析是很多领域中都要面临的一个重要问题,求解优化问题的一般做法是:建立模型、编写算法、求解计算。常见的问题类型有线性规划、非线性规划、混合整数规划、混合整数非线性规划、二次规划等,优化算法包括人工智能算法和内点法等数学类优…

S32K144 GPIO外设分析

1. S32K144 GPIO外设特性 下面的内容来自于S32K用户手册的翻译,或者网上关于S32K系列的一些pdf文件介绍。有些内容可能会出现理解不到位或者翻译错误方面,如果大家有疑问最好可以查阅用户手册。 GPIO和PORT的数量 从用户手册,对于PCR&#x…

python try/except/finally

稍微总结一下&#xff0c;否则总是忘。 x abc def fetcher(obj, index): return obj[index] fetcher(x, 4) 输出&#xff1a; File "test.py", line 6, in <module> fetcher(x, 4) File "test.py", line 4, in fetcher return obj[index] …

实验四 回溯法

实验四 回溯法 售货员问题 1.实验内容 1、理解回溯法的深度优先搜索策略&#xff0c;掌握用回溯法解题的算法框架 2、设计并实现旅行售货员问题问题&#xff0c;掌握回溯算法。 2.实验环境 Java 3.问题描述 旅行售货员问题&#xff1a;设有一个售货员从城市1出发&#…

docker-compose自建RustDesk远程控制服务器

github&#xff1a; rustdesk/rustdesk-server: RustDesk Server Program (github.com) 一、创建 docker-compose.yml 文件&#xff0c;复制以下 docker-compose 配置文件内容到文件 version: 3networks:rustdesk-net:external: falseservices:hbbs:container_name: hbbspor…

开源ThinkMusic搭建音乐网站,并实现公网连接

1、前言 在我们的日常生活中&#xff0c;音乐已经成为不可或缺的要素之一&#xff0c;听几首喜欢的音乐&#xff0c;能让原本糟糕的心情变得好起来。虽然现在使用电脑或移动电子设备听歌都很方便&#xff0c;但难免受到诸多会员或VIP限制&#xff0c;难免让我们回想起音乐网站…

DAY6,C++(将顺序栈,顺序循环队列定义成模板类);

1.将顺序栈定义成模板类&#xff1b;​​​​​​ 顺序栈模板代码--- #include <iostream>using namespace std;template<typename T> class Stack { private:T *data; //指向堆区空间int top; //记录栈顶位置public:Stack(); //无参构造Stack(T size); //有…

子网划分路由网卡安全组

1."IPv4 CIDR" "IPv4 CIDR" 是与互联网协议地址&#xff08;IP address&#xff09;和网络的子网划分有关的概念。 - "IPv4" 代表 "Internet Protocol version 4"&#xff0c;也就是第四版互联网协议&#xff0c;这是互联网上最广泛使…