论文研读:Text2Video-Zero 无需微调,仅改动<文生图模型>推理函数实现文生视频(Arxiv 2023-03-23)

论文名:Text2Video-Zero: Text-to-Image Diffusion Models are Zero-Shot Video Generators

1. 摘要

1.1 方法总结

  • 通过潜空间插值, 实现动作连续帧。

  • 以第一帧为锚定,替换原模型的self-attention,改为cross-attention

实现 保证图片整体场景不变的同时,生成具备运动信息的连续帧

1.2 光流(optical flow) 对齐

这里是论文提到的warping operation (源代码为warp_latents_independently函数), 是其方法核心部分

文中代码基于光流的空间变换,常用于背景对齐、运动补偿。

光流坐标变换的作用是将 latent features 映射到新的空间位置,使得目标特征在连续帧中保持一致

  • 背景特征:光流仅针对背景计算,背景(或不重要区域)的特征被对齐,减少运动带来的不连续性。
  • 转变前: 背景和前景特征未对齐,可能导致运动模糊或抖动。
  • 变化后: 背景平滑且稳定,对应特征对齐到相应的几何位置,输出更加自然。

代码解析:

  • 输入视频帧向量shape为 (batch_size, frames, channels, H, W) ,

  • 计算得到光流矫正向量(reference_flow),形状为 (batch_size, 2,H, W)

其中的2分别代表x方向和y方向(正值向右, 和向下),即每一个像素点有1个偏移量(dx, dy)

  • 即warped后的特征是经过光流变换后的潜向量

对于每个像素(x,y), 矫正后的值为new_coords=(x+dx,y+dy)

  • 归一化, 并插值grid_sample (mode='nearest‘),得到与latent shape相同的潜空间坐标

2.方法

2.1 将运动信息注入潜空间向量

(Motion Dynamics in Latent Codes)

  • 随机采样第一帧的潜向量, x T 1 ∼ N ( 0 , I ) x^1_T \sim N(0,I) xT1N(0,I)
  • 用一个预训练的SD对 x T 1 x^1_T xT1 进行DDIM去噪, ( δ t \delta t δt steps)
  • 定义一个方向向量delta, 这个向量根据图像全局即相机运动原理(从左上到右下),这里默认为一个单位 (1,1)
  • 针对m个帧,在方向向量delta上,增加不同的强度, 比如第k个帧:$\delta^k = \lambda (k-1)\delta $
  • 通过网格函数(warping operation)将方向向量从 δ \delta δ 转换到潜空间, 得到一个具备<delta方向> 插值效果的帧序列
  • 对帧序列进行DDPM加噪( δ t \delta t δt steps)

上述过程,得到一个具备连续方向插值的<帧序列>潜向量

2.2 改变self-attention计算以稳定帧变化

(Reprogramming Cross-Frame Attention)

潜向量注入搞定动作序列后,这一步改动了SD-Unet中attention的计算方式,

具体是将其中的self-attention计算改为cross-attention计算, 原self-attn为:

$ Self-Attn(Q,K,V) = Softmax (QK^T / c) V $

这里假设有m个特征,那么QKV计算就有m次,现在把m次当作m帧,

Q用第i帧, 即 Q^i; K和V都搞定为第一帧(锚定),那么m帧的attention计算为:

C r o s s − F r a m e − A t t n ( Q i , K 1 : m , V 1 : m ) = S o f t m a x ( Q i ) ( K 1 ) T / c ) V 1 Cross-Frame-Attn(Q^i, K^{1:m}, V^{1:m}) = Softmax(Q^i)(K^1)^T / c) V^1 CrossFrameAttn(Qi,K1:m,V1:m)=Softmax(Qi)(K1)T/c)V1

这里原文解释为可以保持图像从第一帧开始的《物体》和《背景》结构的一致性

2.3 背景稳定(非必要)

(Background smoothing —Optional)

这一步通过目标检测模型,将物体和背景分离(二值分类标注),将标注的mask图像用网格函数转换到潜空间,得到M

将M和运动潜向量进行一个同或计算(值相同时结果为真),得到一个背景特征更一致的潜向量序列: x ˉ \bar{x} xˉ,

以第k帧为例:

x ˉ t k \bar{x}^k_t xˉtk = M k ⨀ x k t M^k \bigodot x_{k_t} Mkxkt + ( 1 − M k ) ⨀ ( α x ^ t k ) (1-M^k) \bigodot (\alpha \hat{x}^k_t) (1Mk)(αx^tk) + ( 1 − α ) x t k (1-\alpha)x^k_t (1α)xtk

  • x ^ \hat{x} x^是背景图像进行空间转换后的向量(warped latent code).

  • α = 0.6 \alpha = 0.6 α=0.6 是调参的经验性设置

整体方法如图:
在这里插入图片描述

3. 附带方法

3.1 与带条件的微调方法结合 (Conditional and Specialized Text-to-Video)

这里介绍可以control-net 及 dreambooth 结合,实现带条件控制的编辑。

  • control-net效果(pose control):

在这里插入图片描述
在这里插入图片描述

  • dreambooth效果(edge control):

在这里插入图片描述

3.2 与图像编辑模型结合 (Video Instruct-Pix2Pix)

存在Prompt2Prompt 和 Intstruct-Pix2Pix这类在SD基础上进行图像编辑的模型,

上述模型强化了《改变文本编辑图像》的功能,但这类方法是预训练的,数据和模型消耗大。

这里同样对上述预训练模型进行self-attn 到 cross-attn的转换操作,可以实现视频的风格编辑,效果如图:

在这里插入图片描述

4.实验

4.1 参数设置

  • 模型版本: SD1.5
  • 视频格式:8 frames (这个可以增加,但每一帧都是靠第一帧计算), 512x512

4.2 消融实验

测试提出的两个改进方法效果:

  • 潜空间加光流动作
  • self-attn改为cross-frame-atten

在这里插入图片描述

4.3 整体效果

这个方法有3个作用

  1. 通过一段文字,生成对应动画:

在这里插入图片描述

  1. 通过描边或pose支架,再结合文本生成相关动画

在这里插入图片描述
在这里插入图片描述

  1. 改变动画的风格
    在这里插入图片描述

5. 论文摘录

(1) we first enrich the latent codes of gen
erated frames with motion information to keep the global
scene and the background time consistent; (2) we then use cross-frame attention of each frame on the first frame to
preserve the context, appearance, and identity of the fore
ground object throughout the entire sequence.Two novel post-hoc techniques to enforce temporally
consistent generation, via encoding motion dynamics
in the latent codes, and reprogramming each frames
self-attention using a new cross-frame attention.By using cross frame attention, the ap
pearance and structure of the objects and background as
well as identities are carried over from the first frame to
subsequent frames, which significantly increases the tem
poral consistency of the generated frames (see Fig. 10 and
the appendix, Figures 16, 20, 21).

6. Ref:

  • https://github.com/Picsart-AI-Research/Text2Video-Zero

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

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

相关文章

AI安全的挑战:如何让人工智能变得更加可信

引言 随着人工智能&#xff08;AI&#xff09;技术在各个领域的广泛应用&#xff0c;尤其是在医疗、金融、自动驾驶和智能制造等行业&#xff0c;AI正在重塑我们的工作和生活方式。从提高生产效率到实现个性化服务&#xff0c;AI带来了前所未有的便利。然而&#xff0c;在享受这…

去除el-tabs 下面的灰色横线,并修改每一项的左右间距,和字体颜色

HTML <el-tabs v-model"activeName" class"demo-tabs" tab-click"handleClick"><el-tab-pane label"全部" :name"null"></el-tab-pane><el-tab-pane label"问答陪练" name"general-t…

Selenium和WebDriver的安装与配置

1、Selenium的安装 直接黑窗口执行&#xff1a;pip install selenium3.141.0 可能遇到的问题&#xff1a; 解决方法配置环境变量&#xff1a; 找到目录&#xff1a;&#xff08;以自己电脑为准&#xff09; C:\Users\Administrator\AppData\Local\Programs\Python\Python38-…

HTML——45.单元格合并

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>表格</title></head><body><!--合并单元格&#xff1a;1.在代码中找到要合并的单元格2.在要合并的所有单元格中&#xff0c;保留要合并的第一个单元格…

APP项目测试 之 APP性能测试-- 性能测试工具(SoloPi工具)

1.SoloPi简介 &#xff08;1&#xff09;什么是SoloPi&#xff1f; SoloPi&#xff1a; 是一个无线化、非侵入式的 Android 自动化工具 &#xff0c;具备 录制回放、性能测试 等功能。 &#xff08;2&#xff09;SoloPi的作用是什么&#xff1f; 基础性能测试&#xff1a;能够…

IOS safari 播放 mp4 遇到的坎儿

起因 事情的起因是调试 IOS 手机下播放服务器接口返回的 mp4 文件流失败。对于没调试过移动端和 Safari 的我来说着实费了些功夫&#xff0c;网上和AI也没有讲明白。好在最终大概理清楚了&#xff0c;在这里整理出来供有缘人参考。 问题 因为直接用 IOS 手机的浏览器打开页面…

Mac 环境 VVenC 编译与编码命令行工具使用教程

VVenC VVenC 是一个开源的高效视频编码器&#xff0c;专门用于支持 H.266/VVC (Versatile Video Coding) 标准的编码。H.266/VVC 是继 HEVC (H.265) 之后的新一代视频编码标准&#xff0c;主要目的是提供比 HEVC 更高的压缩效率&#xff0c;同时保持或提高视频质量。H.266/VVC…

手搓一个ChatUI需要分几步

只关注项目代码的同学可以直接跳转目录中的正文部分&#xff0c;查看项目仓库和功能介绍。 引言 Chatbot的UI界面设计&#xff0c;是和传统软件不同的&#xff1a;都是当面一个简洁的对话框&#xff0c;框里预备着热乎的工具&#xff0c;可以随时更新。 像我这样做工的牛马&a…

018-spring-基于aop的事务控制

1 先配置平台事务管理器 2 在配置 spring提供的advice 3 事务增强的aop 总结&#xff1a; 事务就是要做2个配置&#xff1a; <!-- 1 开启事务管理器 不同的框架对应不同的事务管理器 --> <bean id"transactionManager" class"org.springframework.j…

IDEA工具使用介绍、IDEA常用设置以及如何集成Git版本控制工具

文章目录 一、IDEA二、建立第一个 Java 程序三、IDEA 常用设置四、IDEA 集成版本控制工具&#xff08;Git、GitHub&#xff09;4.1 IDEA 拉 GitHub/Git 项目4.2 IDEA 上传 项目到 Git4.3 更新提交命令 一、IDEA 1、什么是IDEA&#xff1f; IDEA&#xff0c;全称为 IntelliJ ID…

让 Agent 具备语音交互能力:技术突破与应用前景(16/30)

让 Agent 具备语音交互能力&#xff1a;技术突破与应用前景 一、引言 在当今数字化时代&#xff0c;人机交互方式正经历着深刻的变革。从早期的命令行界面到图形用户界面&#xff0c;再到如今日益普及的语音交互&#xff0c;人们对于与机器沟通的便捷性和自然性有了更高的追求…

【Unity3d】C#浮点数丢失精度问题

一、float、double浮点数丢失精度问题 Unity3D研究院之被坑了的浮点数的精度&#xff08;一百零三&#xff09; | 雨松MOMO程序研究院 https://segmentfault.com/a/1190000041768195?sortnewest 浮点数丢失精度问题是由于大部分浮点数在IEEE754规范下就是无法准确以二进制…

单元测试3.0+ @RunWith(JMockit.class)+mock+Expectations

Jmockit使用笔记_基本功能使用Tested_Injectable_Mocked_Expectations_jmockit.class-CSDN博客 测试框架Jmockit集合junit使用 RunWith(JMockit.class) 写在测试案例类上的注解 Tested 在测试案例中,写在我们要测试的类上面, 一般用实现类 Injectable 在测试案例中声明…

【复刻】数字化转型是否赋能企业新质生产力发展?(2015-2023年)

参照赵国庆&#xff08;2024&#xff09;的做法&#xff0c;对来自产业经济评论《企业数字化转型是否赋能企业新质生产力发展——基于中国上市企业的微观证据》一文中的基准回归部分进行复刻基于2015-2023年中国A股上市公司数据&#xff0c;实证分析企业数字化转型对新质生产力…

【数据仓库】hadoop3.3.6 安装配置

文章目录 概述下载解压安装伪分布式模式配置hdfs配置hadoop-env.shssh免密登录模式设置初始化HDFS启动hdfs配置yarn启动yarn 概述 该文档是基于hadoop3.2.2版本升级到hadoop3.3.6版本&#xff0c;所以有些配置&#xff0c;是可以不用做的&#xff0c;下面仅记录新增操作&#…

使用 CSS 的 `::selection` 伪元素来改变 HTML 文本选中时的背景颜色

定义 ::selection 伪元素&#xff1a; 在你的 CSS 文件中&#xff0c;添加 ::selection 伪元素&#xff0c;并设置 background-color 属性来改变选中文本的背景颜色。 示例代码&#xff1a; ::selection {background-color: yellow; /* 你可以根据需要更改颜色 */color: black…

【测试】接口测试

长期更新好文,建议关注收藏! 目录 接口规范接口测试用例设计postmanRequests封装接口自动化框架实例复习HTTP超文本传输协议 复习cookie+session 实现方式 1.工具 如postman ,JMeter(后者功能更全) 2.代码 python+requests / java+httpclient【高级】接口规范 传统接口 RE…

MATLAB关于集合的运算(部分)

集合运算比较两个集合中的元素&#xff0c;以找出共性或差异 i n t e r s e c t intersect intersect表示两组数据的交集 i s m e m b e r ismember ismember表示查找数据的集合成员 u n i o n union union表示两个数据集的并集 u n i q u e unique unique表示查找数据集的…

Postman[7] 内置动态参数及自定义的动态参数

postman 内置动态参数和自定义的动态参数 1.内置动态参数 格式&#xff1a;{{$参数名}} 1.1时间戳 {{$timestamp}} //生成当前时间的时间戳 1.2随机整数 {{$randomint}} //生成0-1000之间的随机数 1.3GUID字符串 {{$guid}} //生成随机GUID字符串 2.自定义动态参数 格式…

【C++】探索一维数组:从基础到深入剖析

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;1. 什么是一维数组&#xff1f;一维数组的特点&#xff1a;示例 &#x1f4af;2. 一维数组的创建创建语法示例代码示例 1&#xff1a;创建整型数组示例 2&#xff1a;使用常…