(如需转载等事宜请联系"我爱计算机视觉")
作者单位:苏黎世联邦理工大学、Meta、鲁汶大学
论文链接:https://arxiv.org/pdf/2201.12288.pdf
代码链接:https://github.com/JingyunLiang/VRT
编者言:本文为将Swin Transformer应用于单图超分中的SwinIR的视频扩展版本,在视频复原的各领域中都有很大的提升,本文将从视频超分方向来解读VRT。
看点
VSR通常需要利用多个相邻但通常不对齐的视频帧的时间信息。现有的方法通常利用滑动窗口策略或循环架构来解决这一问题,这要么受到逐帧恢复的限制,要么缺乏远程建模能力。本文提出了一种视频恢复Transformer(VRT),亮度如下:
- VRT的特点是并行计算和远程依赖建模,它在多个尺度上提取、对齐和融合帧特征
- 本文提出了相互注意以完成帧间相互对齐,这是隐式运动估计后的广义版本图像扭曲
- VRT在视频恢复方面实现了最先进的性能,包括视频超分辨率、去模糊和去噪
方法
Overview
VRT可分为两部分:特征提取和重建。在每个尺度上,它有两种模块:时间相互自注意(TMSA)和平行扭曲,架构如下图所示:
首先通过一个2D卷积提取浅层特征
I
S
F
I^{SF}
ISF,然后使用一种基于UNet的多尺度网络,以不同的分辨率来对齐帧。具体地说,当总采样数为S时,对特征进行S-1次降采样,每次降采样将2×2邻域压缩到通道维度,并通过线性层将通道数减少到原始数。然后逐渐对特征进行上采样反求回其原始大小。在不同尺度,通过采用TMSA和平行扭曲两个模块进行特征提取以及运动处理。在多尺度特征提取、对齐和融合后,额外采用多个TMSA模块进一步进行提炼得到深层特征
I
D
F
I^{DF}
IDF。重建部分将浅层特征
I
S
F
I^{SF}
ISF和深层特征
I
D
F
I^{DF}
IDF作为输入,使用PixelShuffle以S的比例因子对特征进行上采样,选取Charbonnier函数作为损失。
时间相互自注意(TMSA)
给定参考帧
X
R
X^R
XR与支持帧
X
S
X^S
XS,通过给定投影矩阵与线性投影计算出:
Q
R
=
X
R
P
Q
,
K
S
=
X
S
P
K
,
V
S
=
X
S
P
V
Q^{R}=X^{R} P^{Q}, \quad K^{S}=X^{S} P^{K}, \quad V^{S}=X^{S} P^{V}
QR=XRPQ,KS=XSPK,VS=XSPV定义注意力图为A,
Y
i
,
;
R
Y^R_{i,;}
Yi,;R为新特征中的第
i
i
i个元素,它们被计算为:
A
=
SoftMax
(
Q
R
(
K
S
)
T
/
D
)
Y
i
,
:
R
=
∑
j
=
1
N
A
i
,
j
V
j
,
:
S
\begin{gathered} A=\operatorname{SoftMax}\left(Q^{R}\left(K^{S}\right)^{T} / \sqrt{D}\right) \\ Y_{i,:}^{R}=\sum_{j=1}^{N} A_{i, j} V_{j,:}^{S} \end{gathered}
A=SoftMax(QR(KS)T/D)Yi,:R=j=1∑NAi,jVj,:S由于
Q
R
Q^R
QR与
K
S
K^S
KS来自不同帧,因此
A
A
A反映了参考帧和支持帧中元素之间的相关性,互注意力(MA)则为
A
A
A与
V
S
V^S
VS的加权。
如上图(a)所示,当
K
k
,
;
S
K^S_{k,;}
Kk,;S与
Q
i
,
;
R
Q^R_{i,;}
Qi,;R相似时(支持帧的黄box与参考帧中的橘box),
A
i
,
k
>
A
i
,
j
A_{i, k}>A_{i, j}
Ai,k>Ai,j,在注意力图中即为:
{
A
i
,
k
→
1
,
A
i
,
j
→
0
,
for
j
≠
k
,
j
≤
N
\left\{\begin{aligned} A_{i, k} & \rightarrow 1, \\ A_{i, j} & \rightarrow 0, \end{aligned} \quad \text { for } j \neq k, j \leq N\right.
{Ai,kAi,j→1,→0, for j=k,j≤N这种计算方式将支持帧中的第k个元素移动到参考帧中的第i个元素的位置,这相当于给定光流的图像扭曲。此外,与多头自注意类似,多头互注意力(MMA)定义为进行h次MA并将结果concat。与显式运动估计和图像扭曲相比,MA有如下好处:
- 与只关注目标像素的图像扭曲相比,MA可以自适应地保留来自支持帧的信息。当没有匹配的位置时,它还可以避免黑洞伪影。
- MA没有局部性的偏差,这是大多数基于CNN的运动估计方法固有的,尤其是当两个相邻对象朝不同方向移动时
- MA是在特征级别进行运动估计和扭曲。相比之下,光流通常在RGB图像上进行估计然后在特征上进行扭曲。此外,RGB图像上的光流估计通常对光照变化、遮挡和模糊不鲁棒
本文将MA与自注意结合起来以提取和保留当前帧中的特征。在两帧
X
1
X_1
X1和
X
2
X_2
X2上使用MMA两次:将
X
1
X_1
X1向
X
2
X_2
X2扭曲,将
X
2
X_2
X2向
X
1
X_1
X1扭曲。这些扭曲的特征被组合,然后与多头自注意(MSA)的结果concat,后接一个MLP用于降维。然后,添加另一个MLP以进行进一步的特征变换。如架构图中的绿色框所示,还使用了两个LayerForm(LN)层和两个残差连接。在视频超分的恢复中,时间信息与空间信息的重建都很重要,在这里,编者对于TSMA的理解为:MMA主要通过两帧的注意力交互来提取时间维度的信息,MSA则将两帧合并一起来进行空间维度信息的提取,整合MMA与MSA的过程实质上是时间信息与空间信息的整合。
此外,受限于互注意力的设计,上面过程一次只能处理两帧。扩展到T帧的一种简单方法是顺序处理帧对,从而导致
O
(
T
2
)
O(T^2)
O(T2)的复杂度。本文提出了TMSA来解决这个问题。TMSA首先将视频序列分割成不重叠的2帧片段并并行运行,如上图(b)所示,它每隔一层将序列暂时移动1帧以启用交叉剪辑连接,从而将计算复杂度降低到
O
(
T
)
O(T)
O(T)。当多个TMSA模块堆叠在一起时,时间感受野增加,在第
i
i
i层时为
2
(
i
−
1
)
2(i-1)
2(i−1)。
平行扭曲
由于空间窗口分割,互注意机制可能无法很好地处理大运动。因此,如架构图的橙色方框所示,在每个网络阶段结束时使用特征扭曲来处理大运动。对于帧特征 X t X_t Xt,我们计算其与相邻帧特征并扭曲为 X ^ t − 1 \hat{X}_{t-1} X^t−1与 X ^ t + 1 \hat{X}_{t+1} X^t+1。然后将它们与原始特征连接起来,并使用MLP进行特征融合和降维。其中采用光流模块预测残差光流并采用可形变卷积进行对齐。
实验
消融实验
针对多尺度训练和平行扭曲的消融实验
针对TMSA中的MSA和MMA的消融实验
定量评估
在BI和BD的定量评估上均优于BasicVSR++,除了在REDS4基准上,因为VRT只在16帧上训练而BasicVSR++为30帧。
定性评估
可以看出在REDS上VRT和BasicVSR++的恢复效果相近,但在Vid4上VRT能恢复出更多的纹理。