关注公众号,发现CV技术之美
本文将 Seq2Seq 的架构引入到了视频超分中,其次针对光流不准的问题,之前的文章选择使用DCN进行替代,本篇论文『Unsupervised Flow-Aligned Sequence-to-Sequence Learning for Video Restoration 』从另一个角度出发,通过知识蒸馏的方法来训练更准的光流,想法很好但是相比于DCN的效果还有待进一步的优化。
详细信息如下:
01
如何正确建模视频序列中的帧间关系是视频恢复中一个重要但尚未解决的问题。本研究中提出一种无监督流对齐Seq2Seq模型来解决这个问题。本文首次探索了在自然语言处理领域已被证明具有序列建模能力的Seq2Seq模型。优化的序列化建模显示了捕获帧之间的远程依赖关系的潜力。
另一方面,使用提出的无监督蒸馏损失训练流估计器,这可以缓解以前基于流的方法的数据差异和不准确的退化光流问题。通过可靠的光流,我们可以在多个帧之间建立精确的对应关系,提高序列对序列模型的潜力。以下笔者将以VSR的角度来对本文进行解析。
02
方法
S2SVR由编码器、解码器、局部注意和光流估计四个组件构成,如下图所示。
编解码器
如上图(a)所示,注意模块允许解码器关注原始序列的不同区域,上下文向量被计算为潜在向量的加权和:
其中
是一个对
位置的输入与位置的输出的匹配程度进行评分的注意模块,采用一个隐含层的前馈网络:
其中
和
表示前馈网络的第一个和第二个卷积层。
编解码器中都使用了一个深度堆叠的ConvGRU,考虑到视频的特点对原有的ConvGRU做了两处修改。首先,在ConvGRU后将多个残差块拼接在一起。此外,引入栈中残差,如下所示:
表示残差块,
为ConvGRU,这可以解决消失的梯度问题,允许对长期的时间依赖性建模。
为了提高性能,需要在多帧之间建立精确的空间对应关系。本文采用光流估计器进行运动补偿,如上图(b)所示。首先,采用一个流估计器来预测两个连续帧之间的运动。然后扭曲ResConvGRU中的输入隐藏状态
,使其与当前步的输入空间对齐。
以前基于流的运动补偿方法受到合成数据集和真实数据集之间的数据差异以及不准确的LR流的影响。为此,本文提出了一种无监督方案,该方案配备了一种蒸馏损失,以在VSR数据集上训练流估计器,如下图所示:
其中,教师网络
的光度损失是基于两个连续帧中相同物体必须具有相似强度的假设:
其中
是上采样操作,学生网络稍后将用作运动补偿的光流估计器,实现中采用了一个轻量级流模型pwclite作为光流网络。
在BI的REDS4上峰值信噪比为31.96dB(BasicVSR++为32.39dB),Vimeo-90K-T的峰值信噪比为37.63dB(VRT为38.20dB)。
定性评估