论文研读:Tune-a-video — 微调学习单个视频内的物体动作(Arxiv: 2023-03-17)
原文:Tune-A-Video: One-Shot Tuning of Image Diffusion Models for Text-to-Video Generation
1.基本介绍
1.1 Introduction
这里主要分析了文生图模型, 即text-to-image model, T2I model
-
cross-attention
可根据文本<名词>和<动词>生成语义<图像>的能力
-
self-attention
能聚焦同一目标, 但无时间连续性
-
T2V model
图像仅具有空间特征(spatial features),因此:
text-to-video模型需要时序特征(spatio-temporal),具体区别如图:
- DDIM Inversion
只有spatio-temporal是不够的,时间的先后顺序,即连续性存在问题,为了改进这个问题:
将时序特征通过DDIM加噪(inversion)的方式,嵌入latent 特征,以保证特征去噪后具有更好的时间连续性。
1.2 Related Work
这里主要说了当前T2V模型(例如CogView)需要大量的视频进行训练,消耗较大,
而本方法仅通过一个<文本-视频>对, 即可将T2I模型转换为T2V模型
1.3 方法概述 (High-level Overview)
通过一个video的frams,将 T2I 模型微调成 T2V模型, 该模型记住了这个video的动作,可以生成类似动作
如图所示:
2. 方法介绍—微调
需要将video的frames 通过 DDIM Inversion (加噪)为噪为 LDM 的 噪声特征,连同 text 送入 SD.
在SD的U-net中,更新self-attention (ST-Attn),cross-attention (Cross-Attn), 以及一个新增的处理视频的 temporal self-attention (T-Attn)
2.1 处理self-attention (AT1):
将第一帧和后续帧concat,作为attention的可学习矩阵 W V W^V WV, W K W^K WK 完成 value 和 key的运算。
另外将后一帧作为可学习矩阵 W Q W^Q WQ, 作为self-attention的 query
具体如图所示:
这里,为了减少计算量,以第一帧为锚定,计算v和k,q仅包括第i帧, 且仅学习 W Q W^Q WQ:
KaTeX parse error: Unexpected character: '' at position 26: …v_i} , K = W^K ̲[z_{v_1} , z_{v…
在源代码中,该模块改自diffusers.models.attention的CrossAttention
2.2 处理cross-attention (AT2)
这是文生图部分,即将文本通过clip找到图像对应的特征,嵌入 W Q W^Q WQ 并更新该矩阵
在源代码中,该模块直接使用diffusers.models.attention的CrossAttention
2.3 处理 temporal self-attention (AT3)
这一步学习全局时序特征,将AT1学到的时序特征输入到AT2,学习文本到video特征,再将AT2 的输出送到AT3,
AT3,本质是一个self-attention,同时更新Q,K,V三个特征矩阵( W Q , W K , W V W^Q, W^K,W^V WQ,WK,WV)。
在源代码中,该模块直接使用diffusers.models.attention的CrossAttention
最后的方法整体结构如下(Pipeline):
原文部分摘录:
It is com posed of stacked 2D convolutional residual blocks and transformer blocks.
Each transformer block consists of a spatial self-attention layer, a cross-attention layer, and a feed-forward network (FFN).
The spatio temporal attention (ST-Attn) is designed to model temporal consistency by querying relevant positions in previous
frames. Therefore, we propose to fix parameters W^K and W^V , and only update W^Q in ST-Attn layers.
Moreover, we propose to refine the text-video alignment by updating the query projection in cross-attention (Cross-Attn).
In contrast, we finetune the entire temporal self-attention (T-Attn) layers as they are newly added.
3.实验
3.1 微调设置
- 设备 A100 GPU(这款GPU有40g和80g两个显存版本,估计是80g)
- 训练输入: 32 frames (512x512),
- 训练时间:500 次迭代, 约10min
- 学习率:3e-5-
- Batch_size: 1
- 推理方法: DDIM, classifier-free guidance, 约1min
3.2 推理设置(评估)
从 DAVIS 数据集 中选择了 42 个视频,涵盖了动物、车辆和人类等一系列类别。选定的视频项目列在表 2 中。
为了获取视频片段,使用 BLIP-2 进行自动字幕 生成(off-the-shelf)。
为每个视频手动设计三个编辑提示,总共得到 140 个编辑提示。这些编辑提示包括对象编辑、背景更改和风格转换。
4. 实验结果
4.1 消融实验
验证 AT1 与 DDIM Inversion的效果:
4.2 方法局限
图像中存在多个目标主体时,数量会出错,这个也是SD常见问题:
4.3 baseline比较
4.4 方法整体效果
- 改变text:
- 与conditional T2I model可以无缝结合(T2I-Adapter 与 ControlNet, 最后一行) :
Ref:
- Jonathan Ho, Tim Salimans, Alexey Gritsenko, William Chan, Mohammad Norouzi, and David J Fleet. Video diffusion models. arXiv:2204.03458, 2022
- https://github.com/showlab/Tune-A-Video
- https://github.com/bryandlee/Tune-A-Video
- https://github.com/showlab/Tune-A-Video/blob/main/tuneavideo/models/attention.py#L272