论文研读: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,一经查实,立即删除!

相关文章

python 归并排序(Merge Sort)

归并排序&#xff08;Merge Sort&#xff09; 归并排序是一种高效的排序算法&#xff0c;采用分治法&#xff08;Divide and Conquer&#xff09;策略。它的基本思想是&#xff1a;将数组递归地分成两半&#xff0c;分别对两半进行排序&#xff0c;然后将排序后的两半合并成一…

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…

C++算法20例

1、求两个数的最大公约数 int gcd(int a, int b) { 2 return b 0 ? a : gcd(b, a % b); 3} 2、判断素数 bool isPrime(int n) {if (n < 1) return false; for (int i 2; i * i < n; i) {if (n % i 0) return false;}return true; } 3、冒泡排序 void bubbleSort…

截图技术方案

安卓截屏技术附带悬浮窗自动存储功能_安卓截图浮窗-CSDN博客 https://chat.baidu.com/search?dyTabStrMCwxMiwzLDEsMiwxMyw3LDYsNSw5&pdcsaitab&setypecsaitab&extParamsJson%7B%22apagelid%22%3A%2210990774271994514433%22%2C%22enter_type%22%3A%22a_ai_index%…

气象数据Grib及Python绘图

文章较长&#xff0c;却将所有常见的气象数据类型进行了详细的介绍&#xff0c;对各种方法的优劣势进行了详细分析&#xff0c;相信对于阅读者来说会有一定程度的帮助 目录 GRIB 数据格式简介 使用Python处理Grib文件 法1&#xff1a;使用pygrib库 法2&#xff1a;使用cf…

sqlite3 python如何查表结构

在SQLite3中&#xff0c;通过Python的sqlite3模块可以方便地查询表结构。以下是几种常用的方法来获取表结构信息&#xff0c;包括列名、数据类型和其他属性。 使用 PRAGMA table_info 最直接的方法是使用 PRAGMA table_info 命令。这个命令会返回指定表中每一列的信息&#x…

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;能够…

chatgpt model spec 2024

概述 这是模型规范的初稿&#xff0c;该文档规定了我们在OpenAI API和ChatGPT中的模型的期望行为。它包括一组核心目标&#xff0c;以及关于如何处理冲突目标或指令的指导。 我们打算将模型规范作为研究人员和数据标注者创建数据的指南&#xff0c;这是一种称为从人类反馈中进…

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…

【0379】Postgres内核 Walreceiver (libpqwalreceiver API)分析

文章目录 1. libpqwalreceiver API1.1 四个函数2. Walreceiver IPC3. Walsender IPC4. Walsender - walreceiver protocol1. libpqwalreceiver API walreceiver 中与传输相关的部分,其负责连接主服务器、接收 WAL 文件以及发送消息,是动态加载的,以避免主服务器的二进制文件…

Mediatek Android13 ROM定制

目录 1、系统签名 2、默认关闭WIFI 3、默认关闭Bluetooth 4、默认关闭NFC 5、移除物理键盘支持 6、禁止 ANR、崩溃等的对话框显示 7、修改默认壁纸 8、取消USB PTP MTP MIDI等支持 9、设置Screen Lock默认为None 10、设置Data&time自动 11、设置特定时区 12、设…

手搓一个ChatUI需要分几步

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

linux更换yum源

1.备份系统源文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak2.下载国内的yum源到/etc/yum.repos.d/CentOS-Base.repo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo如无法使用wget命令也可以…

IDEA 社区版 SpringBoot不能启动

报错原因&#xff0c;Failed to load class [javax.servlet.Filter] <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope> </dependency>…

FPGA 4x4矩阵键盘 实现

1原理 FPGA(现场可编程门阵列)4x4矩阵键盘的实现原理主要基于行列扫描法,通过FPGA对键盘的扫描和识别,实现对键盘输入信号的采集和处理。以下是对FPGA 4x4矩阵键盘实现原理的详细解释: 一、矩阵键盘的基本原理 结构:4x4矩阵键盘由4行和4列组成,共16个按键。每个按键位…

如何进行有效沟通?

在信息化系统项目中进行有效沟通&#xff0c;可以参考以下策略和技巧&#xff1a; 沟通技巧 明确沟通目的&#xff1a;确保每次沟通都有明确的目标&#xff0c;了解沟通接收方的需求及偏好&#xff0c;并监督衡量沟通效果。 使用5C原则&#xff1a;正确的语法和拼写&#xff…