论文:利用非局部时空相关性的渐进融合视频超分网络
文章检索出处: 2019 ICCV
摘要和简介
提出了一种渐进式视频序列融合网络,它包含一系列渐进融合残差块(PFRBs),能更好地利用时空信息,并被证明比现有的直接融合、慢融合和三维卷积策略更有效。此外,PFRB采用了参数共享策略,使得即使在很少的参数下也能保持良好的性能。在这个框架下,进一步引入了非局部残差块(NLRB)来直接捕获长距离时空相关性,以避免复杂的运动估计和运动补偿(ME&MC)。模型效果达到了SOTR,且速度快,参数少。
方法
overview
首先采用非局部块来处理LR帧。然后,在一个5×5的卷积层之后,在网络中加入一系列PFRBs,充分提取多个LR帧之间的帧内空间相关性和帧间时间相关性。最后,我们将PFRB中所有通道的信息合并并放大得到一个残差图像,将其与双三次放大图像相加,得到HR图像。合并和放大模块使用亚像素放大层。整个过程非常简单,我们设计了两个复杂的残差块以获得更好的性能。
PFRB块
上图右侧展示了一个PFRB块的结构,我们首先用相同数量(N=5)的滤波器进行3×3个卷积层,描述为:
It0I_t^0It0?表示输入帧,Ct1(?)C_t^1(·)Ct1?(?) 是卷积层的第一个深度。It1I_t^1It1?表示提取的特征映射,这些特征映射包含来自每个输入帧的独立的特征。然后,将特征映射{
It?21,…,It+21I_{t?2}^1,…,I_{t+2}^1It?21?,…,It+21?}串联为一个部分,该部分包含来自所有输入帧的信息,当以五帧为输入时,该合并特征图的深度为5×N。也就是说,这个聚合的深度特征映射包含了大量的时间相关信息。然后我们使用一个卷积层来进一步利用这个特征映射的时间信息。由于这个特征映射比较深,我们将核大小设置为1×1,以避免太多的参数。
C2(?)C^2(·)C2(?)表示具有1×1核的卷积层的第二深度。之后,输出的特征I2I^2I2连接到所有先前的特征映射中,变成{
It?23,…,It+23I_{t?2}^3,…,I_{t+2}^3It?23?,…,It+23?}。这样,所有通道的特征图都包含了两种信息:独立的空间信息和完全混合的时间信息。很容易观察到这些特征图的深度为2×N,我们进一步采用3×3卷积层从中提取时空信息:
Ct3(?)C^3_t(·)Ct3?(?)表示卷积层的第三深度,它具有N个滤波器,以获得具有更简洁有效信息的N深度输出。
总的来说,我们设计了一个复杂的残差块来保持输入输出帧的数量和大小不变,其中帧内空间相关性和帧间时间相关性都被逐步地提取出来。虽然一个PFRB的参数个数可以随输入帧数的增加而线性增长,但是我们在一个剩余块内进行通道参数共享从而几乎不损失性能。
非局部残差块
从数学上讲,非局部运算描述如下:
其中x表示输入,y表示输出,其大小应与x相同。i是输出位置的索引,j是所有可能位置的索引。函数f(·)计算两个输入之间某种关系。C(x)用于标准化。这种非局部运算试图通过计算它与所有可能位置之间的相关性来获得一个位置的输出。出于参数量考虑,这里应用高斯函数f(xi,xj)=exiTxjf(x_i,x_j)=e^{x_i^Tx_j}f(xi?,xj?)=exiT?xj?,C(x)=∑?jf(xi,xj)C(x)=\sum_{\forall j}f(x_i,x_j)C(x)=∑?j?f(xi?,xj?)用于归一化。
我们首先将XXX重塑为X1X_1X1?,将时间维度转换为通道维度。也就是说,时间相关性不是直接计算的,而是通过通道相关性来捕获的。此外,我们将X1X_1X1?重塑为X2X_2X2?,减小了输入大小以加深其通道,r表示缩小因子。这样,特征映射F的形状变为HW/r2×HW/r2HW/r^2×HW/r^2HW/r2×HW/r2,不再与帧数T有关。对于4×video-SR,我们选择r=2,使我们的网络能够重建1920×1080全高清视频帧(480×270lr帧作为输入)。NLRB不改变输入形状,因此可以方便地插入到已有的模型中。
实验
实施细节
我们采用(Multi-memory convolutional neural network for video super-resolution)中的公共视频数据集进行训练。该视频数据集包含522个训练视频序列,它们是从10个视频中采集的。此外,我们还收集了另外20个视频序列,以便在训练期间进行评估。我们首先将高斯模糊应用到HR帧中,其中核大小设置为13×13,标准差设置为1.6,然后通过每4个像素采样降低其比例以生成LR帧。在训练过程中,我们设置批量大小为16,输入LR帧大小为32×32。我们选择Charbonnier函数作为损失函数。ε根据经验设置为10?310^{?3}10?3。使用Adam优化器,我们将初始学习速率设置为10?310^{?3}10?3,并在120K次迭代后衰减到10?410^{?4}10?4,然后再进一步降低到10?510^{?5}10?5。我们在每个卷积层后采用Leaky ReLU激活,参数α=0.2。
比较非局部运算和运动估计与补偿
为了简单起见,我们构建了一个包含11个卷积层的网络(不包括尾部的合并和放大模块),其中第一个卷积层使用5×5核来获得大的感受野,而其余的使用3×3核。此外,还采用了残差学习,使训练过程更加稳定。基于这个称为VSR的网络,我们分别采用STMC和SPMC作为预处理步骤,训练了VSR、VSR-STMC和VSR-SPMC三种模型。值得一提的是,涉及ME和MC的模型还引入了额外的子网络用于运动估计,因此需要额外的限制。总损失函数可以描述为:
LMEL_{ME}LME?为运动估计的损失。我们进一步训练采用一个NLRB的模型,其中VSR-NLr1和VSR-NLr2分别设置r=1和r=2。如图4所示。结果表明,VSR-NLr1优于基本模型VSR(约0.14dB),优于VSR-STMC和VSR-SPMC。不幸的是,VSR-NLr1无法在一个只有11GB内存的GPU上生成高清视频帧,因此,对于大尺寸输入帧,我们必须设置r=2。幸运的是,VSR-NLr2的结果非常接近VSR-NLr1,并且能够处理大尺寸的输入。
可以观察到,VSR、VSR-STMC和VSR-SPMC都会产生闪烁伪影,而我们的VSRNLr2能够重建时间一致的HR帧。虽然NLRB的目的不是补偿参考帧,但它能够产生一致的结果,具有良好的视觉质量。
比较不同融合网络
我们首先采用提出的PFRBs设计了一个基站网络,称为PFS。它包含20个PFRBs,每个卷积层有N=32个滤波器。其他有三种主要的融合策略:直接融合、慢融合和三维卷积。我们使用这些策略训练了三个网络,分别表示为DFS、SFS和3DFS。DFS模型也包含20个残差块,每个残差块与PFRB相似,但都是单通道的。为了使PFS和DFS具有相似数量的参数,将卷积层滤波器的基本数目设为N=85。SFS模型基于DFS,但是之前有一个额外的合并过程。我们仍然为3DFS模型设置了20个残差块,每个残差块由两个3×3×3核的三维卷积层组成,卷积层滤波器的基本数目设为N=60,原因同上。值得注意的是,PFS、DFS、SFS和3DFS的主体前均采用NLRB,主体后采用合并放大模块。我们所提出的PFRB的多通道设计使得采用交叉通道参数共享(CCPS)方案成为可能。在PFS的基础上,我们采用CCPS方案训练了一个模型,称为PFS-PS,对于DFS和SFS等单信道模型,我们采用了跨块参数共享(CBPS)方案。由于3DFS已经在时间维上共享了参数,因此必须对3DFS采用CBPS方案。在实际应用中,由于DFS、SFS和3DFS中有20个剩余块,我们将每4个剩余块看作一个递归块,并在这5个递归块之间共享参数。虽然CCPS和CBPS可以减少参数的数量,但它们并没有减少计算成本和测试时间成本。下图可以观察到输入的帧越多,我们的网络可以获得更好的性能,但是计算成本随输入帧数线性增长。
与SOTR模型比较
仅供学习使用,请勿转载。