AIGC专栏8——EasyPhoto 视频领域拓展-让AIGC肖像动起来
AIGC专栏8——EasyPhoto 视频领域初拓展-让AIGC肖像动起来
- 学习前言
- 源码下载地址
- 技术原理储备
- Video Inference 功能说明 & 效果展示
- 1、Text2Video功能说明
- a、实现原理简介
- b、文到视频UI介绍
- c、结果展示
- 2、Image2Video功能说明
- a、实现原理简介
- i、单图模式
- ii、首尾图模式
- b、图到视频UI
- c、结果展示
- 3、Video2Video功能说明
- a、原理与功能
- b、视频到视频UI
- c、结果展示
- 分支安装
- 1、已安装EasyPhoto
- 2、未安装EasyPhoto
学习前言
图像的AI写真是AI人像的初步应用,如何让图像动起来,形成一段视频,是AI写真领域的重要应用方向拓展。
文生视频,图生视频与视频转视频,是AI写真视频的3个方向。

源码下载地址
WebUI插件版本:https://github.com/aigc-apps/sd-webui-EasyPhoto
Diffusers版本:https://github.com/aigc-apps/EasyPhoto
麻烦各位朋友点个Star,这对我来讲还是很重要的!
技术原理储备
近年来,Stable Diffusion的开源使得更多非专业作画的用户也能通过简单的文字提示生成非常高质量的图片内容(动漫、真人、场景)。但静态图像的表达能力总是有限的,如果能直接文生动画、动图,那么Stable Diffusion的应用领域将大大增长。
随着Lora与Dreambooth的普及,人们定制化模型的能力越来越强,如果可以有一个类似于Controlnet的即用插件,那么模型便有了定制生成动画的能力。
而AnimateDiff则是这样一种可以即插即用的插件,作者提出了一种将任何定制化文生图模型拓展用于动画生成的框架,可以在保持原有定制化模型画面质量的基础上,生成相应的动画片段。
为了避免破坏原始文生图微调模型的生成能力,AnimateDiff在文生图模型中插入了一个动作建模模块,并从视频数据中学习动作先验。因为只是一个模块的插入(类似于Controlnet),加入了先验知识,其实并不改变原有的Stable Diffusion结构,所以AnimateDiff的拓展性非常强!

其实就是在Stable Diffusion的每层后面,新加上一层用于batch批次之间的理解动作信息。

因此,我们选择AnimateDiff作为EasyPhoto视频领域拓展的应用技术,让AIGC肖像成功动起来。
Video Inference 功能说明 & 效果展示
在EasyPhoto完成基于人像Lora训练后,如何使用EasyPhoto完成以下的几种功能:
- Text2Video :使用指定user_id + 描述文本,进行具有指定人脸的视频生成
- Image2Video :使用指定user_id + 模板图片 + 描述, 进行人脸图片的动态视频生成。
- Video2Video :使用指定user_id 完成视频人像编辑。
1、Text2Video功能说明
a、实现原理简介
- 在Text2Video功能中,我们首先自选的SD模型 + AnimateDiff设置的mm_sd_v15_v2.ckpt(Animate运动先验模型;默认选取,无需自己选择),以及用户设定的prompt,生成一段顺滑的带有人脸的视频。
- 在生成的视频上逐帧进行EasyPhoto的前处理,然后对视频使用(EasyPhoto选择的SD模型 + AnimateDiff + User-Lora)进行视频片段上的人脸重绘,用于生成指定ID足够相似的顺滑的人脸。
- 在重绘后的结果上,逐帧进行EasyPhoto的后处理,提升人脸的美观度和全局的和谐程度。
b、文到视频UI介绍

c、结果展示
下面的文到视频采用的参数是:
- Stable Diffusion Model:majicmixRealistic_v7;
- seed=12345;
- max_frame=32;
- fps=8。
图中模特为 师兄亲信。
| GIF | prompt |
|---|---|
![]() | upper-body, look at viewer, 1girl, wear white dress, besides lake, smiles, Autumn Atmosphere, black eyes, black hair, (cowbody shot, realistic), daytime, f32 |
![]() | upper-body, look at viewer, 1girl, wear white dress, In the room, luxurious lighting, laser light effects, black eyes, black hair, (cowbody shot, realistic), daytime, f32 |
![]() | upper-body, look at viewer, 1girl, wear white dress, black eyes, black hair, Sitting by the edge of the grass, warm sunlight, half-body, illuminated,(cowbody shot, realistic), daytime, f32 |
2、Image2Video功能说明
a、实现原理简介
i、单图模式
- 用户会输入一张图作为封面图,该封面图会通过VAE映射到隐空间,与img2img的步骤类似,我们会对隐空间的特征进行一部分加噪。
- 为了让图像 更能动起来 并且 动的更流畅,然后我们会按照一定系数加上一个随机噪声,构成初始化的潜变量。
- 最后结合文本prompt监督,生成Image2Video的视频。
在这里我们使用了两次加噪:
- 如img2img的加噪,这个是为了让图像可以走正常的生图流程,只有在加了噪声后,模型 才有能力发生变化 与 结合prompt 进行生成;
- 按照一定系数加上一个随机噪声,这个 随机噪声 是 符合正态分布 的;这次 加噪声 是为了生成的视频更流畅。
ii、首尾图模式
- 用户会输入两张图作为封面图和尾图,该封面图和尾图会通过VAE映射到隐空间;
- 我们修改了隐向量的初始化,利用首图和尾图的隐向量 插值 构成的 [init_latent, … ,end_latent]作为初始化。从而能生成连贯的从初始图到输出图的变化视频,
b、图到视频UI

c、结果展示
图中模特为 师兄亲信。
| first | end | GIF | prompt |
|---|---|---|---|
![]() | ![]() | ![]() | 1girl,elegent,smiles,shininglight |
![]() | ![]() | ![]() | 1girl,elegent,smiles,from elegent to spotlight, dark to shining |
3、Video2Video功能说明
a、原理与功能
- 在视频上逐帧进行EasyPhoto的前处理,然后对视频使用(EasyPhoto选择的SD模型 + AnimateDiff + User-Lora)进行视频片段上的人脸重绘,用于生成指定ID足够相似的顺滑的人脸。
- 在重绘后的结果上,逐帧进行EasyPhoto的后处理,提升人脸的美观度和全局的和谐程度。
b、视频到视频UI

c、结果展示
图中模特为 师兄亲信。
| GIF | src | link |
|---|---|---|
![]() | ![]() | 原视频链接 |
![]() | ![]() | 原视频链接 |
分支安装
当前尚未与main合并,需要从分支上进行安装。
1、已安装EasyPhoto
如您已经下载并体验了EasyPhoto插件的人脸版本(main),您可进入EasyPhoto 安装目录进行分支的切换来使用(或者备份原来文件夹,然后走未安装的方案重装):
进入EasyPhoto插件所在目录
git branch -a
git fetch origin
git checkout -b feature/keyframe_video remotes/origin/feature/keyframe_video
2、未安装EasyPhoto
从WebUI 的网址下载安装。

或者手动下载 EasyPhoto feature/keyframe_video 代码文件包放置到相关文件夹。

相关文章:
AIGC专栏8——EasyPhoto 视频领域拓展-让AIGC肖像动起来
AIGC专栏8——EasyPhoto 视频领域初拓展-让AIGC肖像动起来 学习前言源码下载地址技术原理储备Video Inference 功能说明 & 效果展示1、Text2Video功能说明a、实现原理简介b、文到视频UI介绍c、结果展示 2、Image2Video功能说明a、实现原理简介i、单图模式ii、首尾图模式 b、…...
C++ RBTree 理论
目录 这个性质可以总结为 红黑树的最短最长路径 红黑树的路径范围 code 结构 搞颜色 类 插入 插入逻辑 新插入节点 思考:2. 检测新节点插入后,红黑树的性质是否造到破坏? 解决方法 变色 旋转变色 第三种情况,如果根…...
制作这种在线宣传画册,可轻松收获客户!
制作企业宣传画册,首先要了解企业制作宣传画册的需求以及展示方向,如今互联网时代,宣传画册的制作也应该要创新,而制作一本在线电子宣传画册用于线上宣传是非常有必要的。如何制作呢? 我们 可以使用FLBOOK平台在线制作…...
数据结构 | 图
最小生成树算法 Prime算法 算法思路:从已选顶点所关联的未选边中找出权重最小的边,并且生成树不存在环。 其中,已选顶点是构成最小生成树的结点,未选边是不属于生成树中的边。 例子: 第一步: 假设我们从顶…...
[文件读取]shopxo 文件读取(CNVD-2021-15822)
1.1漏洞描述 漏洞编号CNVD-2021-15822漏洞类型文件读取漏洞等级⭐⭐漏洞环境VULFOCUS攻击方式 描述: ShopXO是一套开源的企业级开源电子商务系统。 ShopXO存在任意文件读取漏洞,攻击者可利用该漏洞获取敏感信息。 1.2漏洞等级 高危 1.3影响版本 ShopXO 1.4漏洞复现…...
zookeeper应用之分布式锁
在分布式系统中多个服务需要竞争同一个资源时就需要分布式锁,这里使用zookeeper的临时顺序节点来实现分布式锁。 在节点X下创建临时顺序节点,getChildren()获取节点X的所有子节点,判断当前节点是否是第一个子节点,如果是就获取锁…...
20. 机器学习——PCA 与 LDA
机器学习面试题汇总与解析——PCA 与 LDA 本章讲解知识点 什么是数据降维PCA本专栏适合于Python已经入门的学生或人士,有一定的编程基础。 本专栏适合于算法工程师、机器学习、图像处理求职的学生或人士。 本专栏针对面试题答案进行了优化,尽量做到好记、言简意赅。这才是一…...
深度学习准召
准确率(Precision)和召回率(Recall)是两个用来评价一个模型的好坏的指标,它们有不同的意义: 准确率(Precision):准确率是在所有被模型判断为正例的样本中,有…...
AtCoder ABC154
C - Distinct or Not 签到题,注意大小写和以前的不一样 D - Dice in Line 签到题2,用个窗口即可 E - Almost Everywhere Zero 数位DP(搜索)的例题 pos表示当前搜索到的位置(开始为0,结束为n) …...
可以非常明显地感受到,一场有关直播带货的暗流正在涌动
虽然有关直播带货的争论依然还在持续,但是,我们依然无法否认今年的双十一依然是直播带货的高光时刻。无论是以淘宝、京东和拼多多为代表的传统电商平台,还是以抖音、快手为代表的新电商平台,几乎都将今年双十一的重心放在了直播带…...
C++中的四种构造函数
在C中,有几种不同类型的构造函数,基于它们的特性和用途,可以将它们分类为以下四种: 默认构造函数(Default Constructor): 如果没有为类定义任何构造函数,编译器将为其提供一个默认构造函数。这种…...
通过反射获取某个对象属性是否存在,并获取对象值
SneakyThrowspublic static void main(String[] args) {User user new User("张三", 10);// 获取指定属性名的值String propertyName "name2";Field[] fields user.getClass().getDeclaredFields();// 输出属性名Boolean flag false;for (Field field …...
【MySQL】存储过程与函数
一、存储过程 1、什么是存储过程 它是一组经过预先编译的SQL的封装它被存储在MySQL服务器上,当需要执行它时,客户端只需要向服务器发出调用命令,就可以把这一系列预先存储好的SQL语句全部执行 2、存储过程的优缺点 优点 简化操作…...
【数学】Pair of Topics—CF1324D
Pair of Topics—CF1324D 思路 很明显,需要对 a i a j > b i b j a_i a_j > b_i b_j aiaj>bibj 化简: a i − b i > b j − a j a_i - b_i > b_j - a_j ai−bi>bj−aj a i − b i > − ( a j − b j ) a_…...
Qt文档阅读笔记-Fetch More Example解析
Fetch More Example这个例子说明了如何在视图模型上添加记录。 这个例子由一个对话框组成,在Directory的输入框中,可输入路径信息。应用程序会载入路径信息的文件信息等。不需要按回车键就能搜索。 当有大量数据时,需要对视图模型进行批量增…...
QtC++与QTableView详解
介绍 QTableView 是 Qt 框架中用于显示表格数据的视图控件,它是 QAbstractItemView 类的子类。QTableView 通常与 QStandardItemModel 或者自定义的数据模型一起使用,用于展示二维表格型数据。以下是对 QTableView 的详细讲解和在 Qt 中的作用ÿ…...
HG/T 6002-2022 氟树脂粉末涂料检测
氟树脂粉末涂料是指以三氟氯乙烯-乙烯基醚、四氟乙烯-乙烯基醚等交联型氟树脂或聚偏二氟乙烯PVDF树脂为主要成膜物质,可加入颜料、填料、助剂、固化剂等制成的粉末涂料,主要用于铝型材、幕墙金属板、家电等表面的装饰和保护。 HG/T 6002-2022 氟树脂粉末…...
【java】idea可以连接但看不到database相关的files
问题 idea右侧有database工具栏,但点击没有在recent files看到数据库相关文件 问题排查 点击 help-> show log in explorer查看日志 发现显示 2023-11-13 10:28:09,694 [1244376] INFO - #c.i.c.ComponentStoreImpl - Saving appDebuggerSettings took 22…...
信驰达科技加入车联网联盟(CCC),推进数字钥匙发展与应用
CCC)的会员。 图 1 深圳信驰达正式成为车联网联盟(CCC)会员 车联网联盟(CCC)是一个跨行业组织,致力于推动智能手机与汽车连接解决方案的技术发展。CCC涵盖了全球汽车和智能手机行业的大部分企业,拥有150多家成员公司。CCC成员公司包括智能手机和汽车制造…...
p9 Eureka-搭建eureka服务
1.在user-service项目引入spring-cloud-starter-netflix-eureka-client的依赖 <dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></depen…...
Mbed OS platform_drivers:嵌入式HAL驱动核心解析
1. 项目概述platform_drivers是 Arm Mbed OS 生态中一组经过严格验证、面向硬件抽象层(HAL)的平台级设备驱动集合,其核心定位并非提供通用外设封装,而是为 Mbed OS 内核及中间件组件提供可移植、可测试、符合 RTOS 语义的底层硬件…...
网盘直链下载助手终极指南:3步实现高速下载新时代
网盘直链下载助手终极指南:3步实现高速下载新时代 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…...
10分钟掌握全网资源下载神器:res-downloader从入门到精通
10分钟掌握全网资源下载神器:res-downloader从入门到精通 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否遇…...
Linux内核container_of宏解析与应用
1. 理解container_of宏的核心作用在Linux内核开发中,container_of宏是一个极其重要且频繁使用的工具。它的核心功能是通过结构体成员的地址反推出整个结构体的起始地址。想象一下,你手里只有一张照片的某个局部,却能准确找到这张照片在相册中…...
什么是 AI Agent?它和直接调用大模型 API 做一次问答有什么本质区别?
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:AI大模型原理和应用面试题 文章目录一、🍀AI Agent概念、AI Agent和直接…...
GCN在推荐系统中的应用:如何用图神经网络提升电商个性化推荐效果
GCN在电商推荐系统中的实战指南:从二部图构建到A/B测试全流程 当你在电商平台浏览商品时,那些"猜你喜欢"的推荐背后,可能正运行着一套基于图神经网络(GCN)的复杂算法系统。与传统的协同过滤不同,GCN能够捕捉用户-商品交…...
告别盲打:用GDB和Python-pwntools动态调试分析jarvisoj_level2的栈溢出漏洞
逆向工程实战:用GDB与pwntools解剖jarvisoj_level2栈溢出漏洞 在二进制安全领域,栈溢出漏洞一直是攻防演练中的经典课题。今天我们将以jarvisoj_level2这道CTF题目为蓝本,深入探讨如何通过GDB动态调试与pwntools脚本的完美配合,实…...
3步解锁FGA智能工具:彻底解放F/GO玩家双手的效率提升指南
3步解锁FGA智能工具:彻底解放F/GO玩家双手的效率提升指南 【免费下载链接】FGA FGA - Fate/Grand Automata,一个为F/GO游戏设计的自动战斗应用程序,使用图像识别和自动化点击来辅助游戏,适合对游戏辅助开发和自动化脚本感兴趣的程…...
OpenCore Legacy Patcher:让旧Mac重获新生的终极指南
OpenCore Legacy Patcher:让旧Mac重获新生的终极指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款革命性的开源…...
手把手教你用Coze搭个‘论文小助理’:自动摘要、分类,还能给同组同学发Telegram周报
科研团队效率革命:用Coze构建智能论文协作系统 想象一下这样的场景:周五下午,当你的实验室成员正准备结束一周工作时,每个人的手机同时收到一条Telegram消息——本周团队收集的17篇前沿论文已自动完成摘要提取、关键词标记和分类存…...













