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

效果演示

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

没有找到可以上传视频的地方,大家打开这个网盘链接观看: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.mzph.cn/news/6235.shtml

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

相关文章

SpringBoot+jasypt-spring-boot-starter实现配置文件明文加密

1.使用环境 springboot:2.1.4.RELEASE JDK:8 jasypt-spring-boot-starter:3.0.2 2.引入依赖 !-- 配置文件加密 --> <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><ver…

uni-app:请求后端数据uni.request

完整代码&#xff1a; onLoad() {uni.request({url: getApp().globalData.position Produce/select_employee,data: {username: getApp().globalData.username,},method: POST,dataType: json,success: res > {this.employee_name res.data.info.employee_name;// consol…

sketch如何在线打开?有没有什么软件可以辅助

Sketch 在线打开的方法有哪些&#xff1f;这个问题和我之前回答过的「Sketch 可以在线编辑吗&#xff1f;」是一样的答案&#xff0c;没有。很遗憾&#xff0c;Sketch 没有在线打开的方法&#xff0c;Sketch 也做不到可以在线编辑。那么&#xff0c;那些广告里出现的设计软件工…

数学建模学习(4):TOPSIS 综合评价模型及编程实战

一、数据总览 需求&#xff1a;我们需要对各个银行进行评价&#xff0c;A-G为银行的各个指标&#xff0c;下面是银行的数据&#xff1a; 二、代码逐行实现 清空代码和变量的指令 clear;clc; 层次分析法 每一行代表一个对象的指标评分 p [8,7,6,8;7,8,8,7];%每一行代表一个…

Docker 基本管理

目录 一、Docker 概述 二、为什么容器越来越受欢迎&#xff1f; 三、Docker 与 虚拟机 的区别 四、 Linux Namespace的6大类型 五、Docker 核心概念 1.镜像 2.容器 3.仓库 六、安装 Docker 1.安装依赖包 2.设置阿里云镜像源&#xff0c;安装Docker 3.查看 docker 版…

PostgreSQL 的事务管理和并发控制机制解析

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

视频参数简介

max-mbps:表示每秒钟能处理的最大宏块数量。 max-fs: 表示接收端能够解码的一帧图像的最大尺寸&#xff0c;这个尺寸用这帧图像包含的宏块数来量化&#xff0c;即max-fs的数值。常见的分辨率与max-fs关系如下&#xff1a; 640x360P : 920 1280x720P: 3600 1920x1080P: 8160 max…

BEVPoolv2 A Cutting-edge Implementation of BEVDet Toward Deployment 论文学习

Github Repo: https://github.com/HuangJunJie2017/BEVDet/tree/dev2.0 Arxiv Paper: https://arxiv.org/abs/2211.17111 1. 解决了什么问题&#xff1f; 多相机 3D 目标检测是自动驾驶领域的基本任务&#xff0c;受到学术界和工业界的大量关注。Lift-Splat-Shoot view trans…

React知识点梳理

React是一个用于构建用户界面的JavaScript库。它采用组件化的开发模式&#xff0c;将用户界面拆分为独立的、可重用的组件&#xff0c;通过组件的组合和交互来构建复杂的用户界面。 下面是React的一些核心概念和知识点的梳理&#xff0c;并附带详细示例&#xff1a; 组件(Comp…

MFC第十九天 记事本项目功能完善和开发、CTabCtrl类与分页模式开发

文章目录 记事本项目功能完善和开发查找界面的记忆功能 、使用F3快捷键自动向下查找功能 的开发单次替换的算法研究 CFileDialog 构造函数详解 应用另存为时选择编码 &#xff08;三种方案&#xff09;vista 样式文件对话框 bVistaStyle 为TRUE时 1pch.hCApp NotePad.cpp 对编码…

视频对比工具(基于python+ffmpeg+airtest实现视频抽帧比较工具)

VideoDiff&#xff1a;基于ffmpeg&#xff0c;实现视频抽帧比较工具 使用场景&#xff1a;在视频渲染模块发生迭代&#xff0c;快速回归测试其产出的视频是否存在问题&#xff0c;从而节省人工回归成本 源码地址&#xff1a;https://github.com/jiangliuer32/VideoDiff 原理图…

软件架构演进过程与微服务设计中的领域驱动设计(DDD)

软件架构的演进是一个不断改进和解决问题的过程。从传统架构到面向服务架构(SOA)&#xff0c;再到微服务架构&#xff0c;每个阶段都带来了新的技术和解决方案。而在微服务架构中&#xff0c;领域驱动设计(DDD)起着至关重要的作用&#xff0c;它能够提高系统的可扩展性、可维护…

快速响应和恢复:使用自动化测试进行系统性能测试

快速响应和恢复&#xff1a;使用自动化测试进行系统性能测试 在当今数字化时代&#xff0c;用户对于应用程序性能的期望越来越高。快速响应和恢复是确保用户满意度和业务成功的关键因素之一。为了保证应用程序在不同负载和条件下的可靠性和稳定性&#xff0c;进行系统性能测试…

centos7中MySQL备份还原策略

目录 一、直接拷贝数据库文件 1.1在shangke主机上停止服务并且打包压缩数据库文件 1.2 在shangke主机上把数据库文件传输到localhost主机上(ip为192.168.33.157) 1.3在localhost主机上停止服务&#xff0c;解压数据库文件 1.4 在localhost主机上开启服务 1.5 测试 二、m…

在vue项目中使用postcss-px2rem插件把px转变为rem,并配合给html根元素设置fontsize,来实现页面的自适应效果

在vue项目中使用postcss-px2rem插件把px转变为rem&#xff0c;并配合给html根元素设置fontsize&#xff0c;来实现页面的自适应效果 安装postcss-px2rem插件&#xff0c;目的&#xff1a;把px转变为remvue.config.js中配置remUnit通过js改变html的fontsize值postcss-px2rem插件…

JVM-Java虚拟机

JVM——Java虚拟机&#xff0c;是Java实现平台无关性的基石。 基本概念&#xff1a;JVM 是可运行 Java 代码的假想计算机 &#xff0c;包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收&#xff0c;堆 和 一个存储方法域。JVM 是运行在操作系统之上的&#xff0c;它与…

【Docker】基本概念和底层技术

Docker 1 什么是 Docker Docker 是一种容器技术。只要开发者将其应用和依赖包进行打包&#xff0c;放入到一个轻量级的、可移植的容器中&#xff0c;就能发布到任何流行的 linux 机器上。 Docker 的要素&#xff1a; image 镜像&#xff1a;静态的container 容器&#xff1a…

android studio 新建项目没有R文件

android studio 新建项目没有R文件&#xff0c;处理步骤 1&#xff0c;找一个能打开的项目替换根目录下的settings.gradle 2,改app 目录下的build.gradle文件 3&#xff0c;改gradle版本 4&#xff0c;改AndroidManifest.xml 5&#xff0c;改theme 改为&#xff0c;ok.

【Python】数据分析+数据挖掘——变量列的相关操作

前言 在Python和Pandas中&#xff0c;变量列操作指的是对DataFrame中的列进行操作&#xff0c;包括但不限于选择列、重命名列、添加新列、删除列、修改列数据等操作。这些操作可以帮助我们处理数据、分析数据和进行特征工程等。 变量列的相关操作 概述 下面将会列出一些基本…

Jmeter-使用http proxy代理录制脚本

Jmeter-使用http proxy代理录制脚本 第1步&#xff1a;打卡jmeter工具新增1个线程组 第2步&#xff1a;给线程组添加1个HTTP请求默认值 第3步&#xff1a;设置下HTTP请求默认值第4步&#xff1a;在工作台中新增1个----HTTP代理服务器 第5步&#xff1a;设置HTTP代理服务器…