论文链接:https://arxiv.org/pdf/2104.13371.pdf
代码链接:https://github.com/open-mmlab/mmediting
译者言:该文作者Kelvin C.K. Chan同为BasicVSR(2021CVPR)和Understanding Deformable Alignment…(AAAI2021)的第一作者,他用对于可变形对齐和传播架构的新理解来改进BasicVSR,在2021NTIRE挑战中一举获得三冠一亚,同时还在Vid4数据集上突破了29dB的大关。下图可以显示出该模型惊人的恢复能力,目前代码已开源。
看点
最先进的方法BasicVSR采用双向传播和特征对齐。本文重新设计了这两个组件,提出了采用二阶网格传播和流引导变形对齐的BasicVSR++。
- 所提出的二阶网格传播允许双向传播以类似网格的方式进行,并且放宽了BasicVSR中一阶马尔可夫性质的假设,将二阶连接添加进网络中,如下图(a)所示。
- 光流对齐中不准确的光流估计会影响恢复性能,变形对齐在实际中很难训练。本文提出了流引导可变形对齐,该模块使用光流作为基础偏移量而没有直接学习DCN偏移量,通过学习残差偏移量来减轻偏移量学习的负担,如下图(b)所示。
方法
给定输入帧,首先利用残差块从每一帧中提取特征。然后在二阶网格传播方案下传播特征,其中对齐为流引导可变形对齐。在传播后,通过卷积和pixel-shuffling利用聚集的特征生成输出图像。
二阶网格传播
本文设计了一种网格传播方案,该方案让中间特征以交替的方式在时间上前后传播,使来自不同帧的信息可以被“重访”用于特征细化。此外,本文放宽了BasicVSR中一阶Markov性质的假设,添加了二阶连接。这样可以从不同的时空位置聚集信息,提高在遮挡区域和精细区域的鲁棒性和有效性。
每个二阶网格传播单元的过程如下:令
x
i
x_i
xi代表第输入图像,
g
i
g_i
gi是利用多个残差块从
x
i
x_i
xi中提取的特征,
f
i
j
f_i^j
fij是第i个时间步处的第j个传播分支计算出的特征。为了计算输出特征
f
i
j
f_i^j
fij,首先使用流引导可变形对齐对齐
f
i
−
1
j
f_{i-1}^j
fi−1j和
f
i
−
2
j
f_{i-2}^j
fi−2j:
其中,
s
i
→
i
−
1
s_{i→i-1}
si→i−1,
s
i
→
i
−
2
s_{i→i-2}
si→i−2为i帧到i-1和i-2帧的光流,A表示流引导的可变形对齐。然后将这些特征串联起来传递到堆叠的残差块中:
其中
f
i
0
=
g
i
f_i^0=g_i
fi0=gi,R表示残差块,c表示沿通道维度的串联。理论上,本文提出的传播方案可以推广到更高的阶和更多的传播迭代。然而,当从一阶增加到二阶时,性能增益是相当可观,但进一步增加迭代次数和次数并不会导致显著的改善。
流动导向变形对准
可变形对齐相比光流的优势在于偏移多样性。然而,可变形对齐模块很难训练。训练的不稳定常常导致补偿溢出,从而影响性能。为了在克服不稳定性的同时利用偏移分量,由于可变形对齐和光流对齐之间存在着很强的关系,本文提出利用光流来引导可变形对齐,如下图所示。
在第i个时间步,首先通过
s
i
→
i
−
1
s_{i→i-1}
si→i−1扭曲
f
i
−
1
f_{i-1}
fi−1:
然后使用预先对齐的特征
f
ˉ
i
−
1
\bar f_{i-1}
fˉi−1来计算残差偏移量和调制掩膜
m
i
→
i
−
1
m_{i→i-1}
mi→i−1,其中,残差偏移量和光流相加得到DCN偏移量
o
i
→
i
−
1
o_{i→i-1}
oi→i−1:
然后将DCN应用于未扭曲的特征
f
i
−
1
f_{i-1}
fi−1:
上述公式仅用于对齐单个特征,对于二阶传播做如下细微调整(通道叠加起来一起参与计算):
实验
消融实验
所提出的组件的消融实验:
提出的流引导对齐模块的有效性实验:
轻量模型BasicVSR++(S)与BasicVSR和IconVSR具有相似的复杂性,但PSNR仍有相当大的改进
定量评估
在Vid4、UDM10等测试集上的定量评估: