【CVPR2020视频超分辨率】Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution 阅读笔记
paper:Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution
code:Zooming-Slow-Mo-CVPR-2020
简介
本文探讨了时空视频超分辨率任务,即从低帧速率、低分辨率的视频中生成高分辨率的慢动作视频。一个简单的解决方案是将其分成两个子任务:视频帧插值(VFI)和视频超分辨率(VSR)。然而,时间域的内插和空间域的超分是有内在相关性的。如果分成两阶段操作,则不能充分利用视频的自然属性。另外,目前的VFI或VSR网络需要大的帧合成模块及超分重建模块来预测高质量的视频帧,这使得两阶段方法具有较大的模型尺寸,从而导致计算量很大,非常耗时。为了克服这些问题,文章提出了一种单步时空视频超分辨率模型,它直接从LFR,LR(低帧率、低分辨率)视频合成高分辨率慢动作视频。该方法没有像VFI网络那样合成原本不存在的LR视频帧,而是首先通过所提出的时域特征内插网络(feature temporal interpolation network),来插入LR帧特征。然后,我们提出了一个可变形的ConvLSTM来同时对齐和聚合时间信息,以便更好地利用时域特征。最后,采用了重建网络预测HR慢动作视频帧。在基准数据集上的大量实验表明,所提出的方法不仅具有较好的定量和定性表现,而且比目前最新的两阶段方法(如DAIN+EDVR和DAIN+RBPN)快3倍以上。
文章主要贡献
本文的主要贡献有三个方面:
(1)提出了一种单步时空超分辨率网络模型,它可以在统一的框架内同时处理时间域的帧内插和空间域的超分辨率。我们的单步方法比分为两步的方法更有效地利用了两个子问题之间的内在联系。由于只需要一个帧重建网络,而不是像两阶段方法中使用两个大型网络,所以计算的效率也更高。
(2) 提出了一种基于可变形采样的帧特征时态中介网络。我们设计了一种新的可变形convlsm来显式地增强时间对齐能力,并利用全局时间上下文来处理视频中的大运动。
(3) 我们的单阶段方法在Vid4和Vimeo数据集上都实现了最先进的STVSR性能。它比两阶段的网络快3倍,同时模型尺寸减少了近4倍。
本文方法介绍
目标:从低帧率、低分辨率视频合成高分辨率慢动作视频。
网络一共包括四个部分:
feature extractor
frame feature temporal interpolation module
deformable ConvLSTM
HR frame reconstructor
特征提取部分由一个卷积层和k1个残差块构成。
时间域帧特征插值模块
图上公式中T1(·)和T3(·)是两个采样函数,Φ1和Φ3是相应的采样参数,两个采样函数的网络结构相同,只是参数不同。
T1(·)应捕获F1L和F2L之间的前向运动信息,T3(·)应捕获F3L和F2L之间的后向运动信息。
但是!我们没有F2L!怎么办呢!
为了解决这个问题,我们使用F1L和F3L之间的运动信息来近似前后向的运动信息。
It takes LR frame feature maps F1L and F3L as input to predict an offset for sampling the F1L: 以T1为例,它的输入是F1L和F3L的串联结构,目的是预测采样F1L对应的偏置值(offset)。
g1:多个卷积层操作
Deformable Convolution的原理和具体实现方法可以参考:
Deformable ConvNets–Part5: TensorFlow实现Deformable ConvNets
deformable convolution(可变形卷积)算法解析及代码分析
类似地,可以得到 Δp3和T3。
H(·)是聚集采样特征的混合函数:
α和β是kernel size为1x1的卷积操作。
可变形ConvLSTM
在经过插值处理后,我们得到了连续的低分辨率图像特征{FL}2n+1,接下来需要做的就是LR-HR之间的sequence-to-sequence匹配。以前的视频恢复任务已经证明了时间信息是至关重要的。因此,我们不是从相应的单个特征对映射中重构HR帧,而是对相邻帧进行聚合。ConvLSTM是一种常用的二维序列数据建模方法,我们可以将其应用于时域聚合。
为了解决大幅度运动导致的误匹配问题以及有效地扩展全局时间关联性,我们在ConvLSTM中嵌入了一个具有可变形对齐结构的状态更新单元。(如下图)
使用可变形卷积将前一帧的隐藏状态
h
t
−
1
h_{t-1}
ht−1和单元状态
c
t
−
1
c_{t-1}
ct−1与当前帧特征
F
t
L
F^L_t
FtL对齐,
h
t
−
1
a
h^a_{t-1}
ht−1a和
c
t
−
1
a
c^a_{t-1}
ct−1a分别是对齐后的隐藏状态和单元状态。
ConvLSTM与传统的LSTM最大的不同是:ConvLSTM模型中将FC layer变成convolutional layer。
LSTM和ConvLSTM的原理可以参考:
论文笔记|Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting
HR帧重建层
本文采用的损失函数是:
实现细节:在实现过程中,k1=5和k2=40的残差块结构分别用于特征提取模块和HR帧重构模块。随机裁剪一个32×32的下采样图像块序列,取出奇数索引的4帧作为LFR和LR的输入,相应的4X大小(128x128)的连续7帧序列作为监督帧(Ground Truth)。此外,我们还通过随机旋转90°、180°和270°以及水平翻转来增强数据。
数据集:
训练:
Vimeo-90Kmore than 60,000 7-frame training video sequences
验证:
Vid4 and Vimeo
实验结果
与其他方法比较:
Ablation study
为验证Deformable Feature Interpolation模块的有效性,作者进行了(a)(b)两组实验。其中(a)只使用卷积来混合LR特征,(b)使用了可变形采样函数。
从下表中,我们发现(b)在Vid4上的PSNR比(a)高0.16dB,在Vimeo-Fast上的PSNR分别高出0.73dB。
为验证Deformable ConvLSTM模块的有效性,我们比较了四种不同的模型:(b)©(d)(e)其中©在(b)中添加了一个普通的ConvLSTM结构,(d)使用了提出的DconvLSTM,以及(e)以双向方式采用了DconvLSTM。
结论
本文提出了一种时空视频超分辨率的模型,它可以直接重建高分辨率和高帧速率的视频,而不需要合成中、低分辨率的帧。为了实现这一点,我们引入了一个可变形的特征插值网络来进行特征级的时间插值。此外,我们提出一个可变形的ConvLSTM来整合帧间信息。通过这样单级的设计,我们的网络可以很好地探索任务中时间插值和空间超分辨率之间的内在联系。大量实验表明,我们提出的单级框架比现有的两级网络更有效,并且所提出的特征插值网络和可变形ConvLSTM能够处理存在快速运动的视频。
可以用Colab对预训练模型进行测试:HighResSlowMo.ipynb
下面是官方的效果展示视频~
【CVPR2020】Zooming Slow-Mo:One-Stage Space-Time Video Super-Resolution