【论文阅读】Text2Video-Zero:Text-to-Image Diffusion Models are Zero-Shot Video Generators

文本到图像的扩散模型,零训练的视频生成器。

paper:[2303.13439] Text2Video-Zero: Text-to-Image Diffusion Models are Zero-Shot Video Generators (arxiv.org)

目录

1.介绍

2.方法

3.扩展

4.问题


​​​​​​​

1.介绍

动机:基于用户提供的运动姿态、边缘图像、深度图像和Dreambooth 模型进行定制化文本视频生成。实现:通过运动动力学、帧间注意力机制等方法,对原始的文本-图像模型进行微调,无需训练。这意味着只要训练出 Dreambooth 文本-图像生成模型,就可以进行定制化的文本-视频生成。

【论文阅读】Text2Video-Zero:Text-to-Image Diffusion Models are Zero-Shot Video Generators_第1张图片

3个贡献

基于现有的文本-视频生成扩散模型的重数据,高需求,进行了以下改进:

1.zero-shot,仅仅使用现有的扩散模型如Stable-Diffusion。实现了相似甚至有时更好的性能

2.用motion dynamics运动信息丰富生成帧的latent code,以保持全局场景和背景的一致性。用跨帧注意力机制来保留整个序列中前景对象的上下文、外观和身份,以保持生成场景和背景的一致性。

4.该方法也适用于其他任务,例如条件和内容专用的视频生成,以及pix2pix,文本引导的视频编辑。

2.方法

优化方案:

从DDIM的采样时间序列中获取的结果,没有motion和cross-frame attention的,导致了完全随机的图像生成,仅有文本描述的语义,没有物体运动的连贯性。

解决方案:

(2)在时序 latent code中引入Motion Dynamics,以保持全局场景和背景的一致性。

(2)引入跨帧注意力机制保证前景对象的外观一致性,将整个时序序列表达式更新为:

   

伪代码表达:

(1)Motion Dynamics

并不直接从随机高斯分布进行采样,而是基于以下步骤进行:

[1] 随机在 latent code采样第一帧:

[2] 用DDIM对xT1采样,并基于SD中的Latent Code编码至xT’1

[3] 定义一个相机运动方向

[4] 为每一帧图像,计算全局平移向量

,其中γ是全局运动向量的超参数。

[5] 将上述构建的全局平移向量应用到步骤2中的Latent Code编码中:

其中wk是针对性的向量形变操作。

[6]将形变后的送入DDPM前向传播,获得最终的

[7]将序列x1:mT作为反向扩散过程的起点。

这个方法能解决帧间一致性,但是对于前景对象约束仍然有缺陷。

(2)跨帧注意力机制

目的:在整个视频中保留前景对象的外观、形状等信息。每帧的注意力都放在第一帧上。主要针对原始Stable Diffusion 中的U-net的注意力机制进行了优化,将原始

更新为:

【论文阅读】Text2Video-Zero:Text-to-Image Diffusion Models are Zero-Shot Video Generators_第2张图片

在text2video-zero中每个attention层都接收m个输入,线性投影后残生m个queries,keys和values。通过cross-frame attention,对象和背景的外观,结构和身份都从第一帧传到了后续帧,大大提高了生成帧的时间一致性。

Pipeline:

以随机采样latent code xT1为起点,使用预训练的SD模型中的DDIM 反向传播得到xT’1。然后为每一帧指定一个运动场,就是motion dynamics,通过变形函数W来完成,将xT’1变换为xT’K。之后用 DDPM 前向传播,对latent code xT’K进行传递。此时的latent code就具备了全局运动一致性。

然后将latent code传递到用帧间注意力机制修改后的 SD 模型中。帧间注意力机制使用第一帧的 key 和 value 来生成整个视频序列的图像。通过帧间注意力机制,前景物体的身份和外观可以在视频序列中保留。

还对生成的视频序列使用了背景平滑技术。给定生成序列x 1:m 0,,用显著目标检测,获得前景掩码Mk,使用第一帧变换到第k帧的潜在编码x_t^1和潜在编码x_t^k来进一步提高背景的时间一致性。

然后根据Wk定义的motion dynamics把x 1 t warp为x^ kt。然后进行凸组合:

最后在xkt上用DDIM采样,实现背景平滑的视频生成。

3.扩展

结合ControlNet

ControlNet能够使用边缘、姿态、深度等来调节生成过程。然而,在视频领域直接应用ControlNet会导致时间不一致。指导ControlNet的视频生成过程:用motion dynamics丰富latent code将UNet中的self-attention转化为跨帧注意力。在采用主UNet进行视频生成任务时,在每个扩散时间步长t的每个x上应用ControlNet预训练的每帧复制分支,并将ControlNet分支输出添加到主UNet的跳过连接中。

原文:

【论文阅读】Text2Video-Zero:Text-to-Image Diffusion Models are Zero-Shot Video Generators_第3张图片

可以看到controlnet的即插即用模式在后续的很多应用中,都是能够有非常良好的表现的。 

条件可控文本到视频生成

该方法可以将任何基于sd的文本引导图像编辑算法采用到视频域,而无需任何训练或微调。

采用文本引导的图像编辑方法instructpix2pix,与我们的方法相结合。更准确地说,根据公式8将Instruct-Pix2Pix中的自注意机制改为交叉帧注意。实验表明,这种自适应显著提高了编辑视频的一致性(见图9)。

总结:利用了预训练的Stable Diffusion来进行视频合成。在每一帧和第一帧之间执行交叉注意力机制,保持帧间一致性。通过修改latent code的采样方法来丰富运动动态。主要是与条件生成和编辑技术(如 ControlNet)结合使用,来实现可控视频生成的。

4.问题

问题:

1.能不能直接对随机生成的XT做warping,再生成视频,而不用DDIM 或DDPM?

2.为什么前面用的是DDIM Backward,后面用的是DDPM forward,为什么不全是DDIM或DDPM?

3. 先用DDIM Backward对图像进行去噪,中间为每帧指定一个运动场motion dynamics,在用DDPM forward加噪,是这样吗?为什么不直接对原始图片进行motion dynamics增强呢?(再读,去噪后得到的是latent code,在这个latent code上进行增强,好像是这样)

4. 以随机采样latent code xT1为起点,使用预训练的SD模型中的DDIM 反向传播得到xT’1。此处得到就是一帧一帧的图像。这里作为起点的噪声图片是已经加噪的原始图片吗?为每一帧指定一个运动场,就是motion dynamics,通过变形函数W来完成,将xT’1变换为xT’K。这一步是不是就将单张图像生成一序列的多张图像了?

你可能感兴趣的:(论文阅读,深度学习)