当前位置: 首页 > article >正文

论文研读: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.kler.cn/a/463973.html

相关文章:

  • docker Error response from daemon
  • 华为ensp-BGP路由过滤
  • Web安全 - “Referrer Policy“ Security 头值不安全
  • Linux下部署ElasticSearch集群
  • Couchbase 和数据湖技术的区别、联系和相关性分析
  • 头歌实训数据结构与算法 - 字符串匹配(第2关:实现KMP字符串匹配)
  • 机器学习之线性回归算法预测数据
  • [简单指南] 轻松将联系人从 Sony Xperia 转移到 Android
  • 无人机踏勘:革新传统勘探方式的优势与前景
  • 如何在 Ubuntu 22.04 上部署 Nginx 并优化以应对高流量网站教程
  • Qt自定义步骤引导按钮
  • Vue3入门(9)
  • macos git上传通过全局设置不上传.DS_Store
  • C++之模板进阶
  • 详细讲一讲webpack部分的配置(入口和输出配置,模块处理配置(Loader),插件配置(Plugins),优化配置, 开发服务器配置,解析配置,性能配置
  • 《计算机网络A》单选题-复习题库解析-2
  • 电力系统优化分析/系统机组组合/水电优化运行/鲁棒优化/多能源互补优化/分布鲁棒优化
  • 智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之10 方案再探之1:特定于领域的模板 之1 随想交流
  • 如何在没有 iCloud 的情况下将数据从 iPhone 传输到 iPhone
  • 闻泰科技涨停-操盘训练营实战-选股和操作技术解密
  • 【每日学点鸿蒙知识】gbk2313传到native、NAPI打印日志问题、table表格控件、Web 触发新窗口卡住、修饰列表
  • 云计算与服务是什么
  • 模电面试——设计题及综合分析题0x01(含答案)
  • 深入剖析Android SoundPool及其JNI实现
  • python爬虫——爬取全年天气数据并做可视化分析
  • 【机器学习】工业 4.0 下机器学习如何驱动智能制造升级