RAVE: Randomized Noise Shuffling for Fast and Consistent Video Editing with
Diffusion Models
Ozgur Kara1* Bariscan Kurtkaya2*† Hidir Yesiltepe4 James M. Rehg1,3 Pinar Yanardag4
1Georgia Tech 2KUIS AI Center 3UIUC 4Virginia Tech
paper&project, CVPR2024
Motivation
图像编辑方面虽然已有许多进展,但仍然存在以下问题:
- 文本到视频生成的方法非常昂贵,不适合在内容创建中广泛使用。
- 传统视频编辑方法依赖于耗时的过程。
- 采用预训练的扩散模型如何确保编辑视频内时间一致性。
- 其他问题:长视频编辑、复杂编辑以及大运动。
保持时间一致性,确保跨帧一致性和保持物体无缝运动,新的噪声变换策略,本质是引导模型在通常时间和记忆需求中一小部分执行时空注意,保持时间一致性。
根据Fig. 2展示的常见的attention策略,单独使用self-attention可以利用特征图中的像素位置获得类似的相关性,cross-attention则有关像素和文本prompts之间的对应关系如Fig. 2(a)。然而,这忽略了时间背景,缺乏一致性。
稀疏因果attention如Fig. 2(b)关注选定关键帧之间的计算,但是由于时间意识降低,该方法在较长的视频中往往出现性能下降。
相比之下,RAVE利用了所有帧的global时空注意,在采样过程中每个扩散步骤执行新的噪声变换,确保长视频中帧的一致性。
Contributions:
- 提出了RAVE,一个无需训练、zero-shot的视频编辑架构,它集成了预训练的T2I扩散模型。将空间引导于ControlNet结合实现视频样式、属性和形状编辑。
- 噪声清洗变换方法利用帧间时空交互使得提出的方法比现有的方法快25%。
- 公开了新的视频评估数据集。
Methods
Overview
输入的视频
V
K
\mathcal{V}_{K}
VK先进行RAVE的预处理,使用预训练过的T2I模型进行DDIM Inversion,并应用已有的条件预处理器进行条件提取。这些Condition送入控制网格中。使用条件网格
C
L
\mathcal{C}_{L}
CL、Latent网格
G
L
T
\mathcal{G}^{T}_{L}
GLT和目标文本提示作为ControlNet的输入,对T个时间步长进行扩散去噪。在每一步去噪过程中,对
G
L
T
\mathcal{G}^{T}_{L}
GLT和
C
L
\mathcal{C}_{L}
CL进行随机变换。经过T步后,重新排列latent grids,得到最终的输出视频
V
K
∗
\mathcal{V}_{K}^*
VK∗。
DDIM Inversion
DDIM Inversion是指从观察到的真实图像出发,反推出能够模拟出这些观察图像的扩散过程的逆向过程。具体而言,通过反向进行扩散过程中的迭代步骤,DDIM 反演能够在不直接观察或者存储生成过程的所有步骤的情况下,找到一个噪声图像,通过该图像经过扩散过程后,最终能够生成与真实观察图像相似的图像。优势:无需存储所有生成步骤、可控的生成过程和更广泛的适用性。
Video2grid
Grid Trick.
通常被称为字符表,在文本提示符中指定所需的特征,并在使用ControlNet时使用一个网格(在左边)作为一个条件。生成的输出将在编辑过程中维护网格格式,以确保一致的样式。
它通过基于卷积的残差块和Transformer块,将所有帧集体视为单个图像。Transformer块中的自注意层对于增强网格中跨帧的时间一致性尤为重要。同时,残差块内的卷积层负责捕获时间连接和空间相关性。
Grid trick for video editing.
对视频编辑技巧的直接调整包括将输入视频转换为网格布局,然后将网格输入T2I编辑工具,如ControlNet。随后,修改后的网格可以展开成单独的帧,并连续排序,生成最终的视频。
video2grid.
video2grid函数接受输入视频和网格大小
N
=
n
×
m
N=n\times m
N=n×m,在保留原始帧顺序的同时生成一系列网格。as,
v
i
d
e
o
2
g
r
i
d
(
V
K
,
N
)
=
{
G
1
(
1
,
.
.
.
,
N
)
,
.
.
.
,
G
L
(
P
,
.
.
.
,
N
)
}
=
G
L
video2grid(\mathcal{V}_{K}, N)=\{ G^{(1, ..., N)}_{1}, ...,G^{(P, ..., N)}_{L} \}=\mathcal{G}_{L}
video2grid(VK,N)={G1(1,...,N),...,GL(P,...,N)}=GL
这里的
P
=
K
−
(
N
+
1
)
P=K-(N+1)
P=K−(N+1)。在这种情况下,
L
L
L表示网格的总数,计算方法为
L
=
K
/
N
L = K/N
L=K/N,假设
K
K
K可被
N
N
N整除。
ControlNet
通过集成权重锁定策略引入扩散模型的控制机制,同时考虑文本prompt之外的线条、深度和姿态等属性。这样的机制可以得到更多的控制生成,尤其是在图像结构方面比传统LDM更有优势。
Zhang, Lvmin, et al. “Adding Conditional Control to Text-to-Image Diffusion Models.” 2023 IEEE/CVF International Conference on Computer Vision (ICCV), IEEE, 2023. Crossref, https://doi.org/10.1109/iccv51070.2023.00355.
Noise shuffling
为了实现网格间的一致性,引入新的噪声清洗方法确保独立网格间的样式一致,如Fig. 4©。根据video2grid函数的计算,提出的模型并非依次处理
G
L
\mathcal{G}_{L}
GL中的每个网格产出最终视频,而是在采样过程中每个时间步长随机打乱帧的顺序,再以随机顺序分配给不同的网格,as
s
h
u
f
f
l
e
(
G
L
)
=
{
G
1
(
i
,
.
.
.
,
j
)
,
.
.
.
,
G
L
(
k
,
.
.
.
,
l
)
}
shuffle(\mathcal{G}_L)=\{G^{(i, ..., j)}_{1}, ...,G^{(k, ..., l)}_{L} \}
shuffle(GL)={G1(i,...,j),...,GL(k,...,l)}
通过随机顺序排列延迟随机形成网格,我们希望在整个去噪过程中每一帧之间的时空交互作用。这种交互涉及到卷积层,它在全局平滑潜在向量中发挥作用,从而减少可能导致闪烁的像素位移。
Experiments
Qualitative assessment