大家好,我是Happy。
最近,Transformer在CV领域搅翻了天,在各个CV领域打出了半片天。比如,Detection、Segmentation、Classification等等均出现了Transformer这个“搅局者”;甚至Low-level领域也被Transformer占领多个高峰,比如超分、降噪、去雨等等。一直以为视频超分可能还会再等一段时间,哪成想,视频超分领域也成了Transformer的附属地。
标题&作者团队
paper: https://arxiv.org/abs/2106.06847
code: https://github.com/caojiezhang/VSR-Transformer
Abstract
视频超分旨在由低分辨率视频进行高分辨率视频重建,是一种空-时序列预测问题。近来,Transformer由于其对序列到序列问题的并行计算能力获得了极大关注。乍一看,好像可以将Transformer直接应用到视频超分中。然而,Transformer的经典设计方式(全连接自注意力层与词级前馈层)并不适用于视频超分问题,主要由以下两个原因:
- 因其依赖于线性层计算注意力图,全连接自注意力层难以探索数据局部特性;
- 词级前馈层缺乏特征对齐能力,而这对于视频超分非常重要。
本文首次采用Transformer对视频超分任务进行了适配。具体来说,为解决第一个问题,我们提出一种空时卷积自注意力层以探索局部信息;为解决第二个问题,我们设计了一种双向光流前馈层以挖掘近邻视频帧相关性并进行对齐。最后,我们在几个基准数据集上验证了所提方案的有效性。
Method
上图给出了本文所提VSR-Transformer架构示意图,它包含特征提取、Transformer编码器以及重建网络。具体来说,给定视频序列,我们首先采用堆叠残差模块从视频中提取特征;然后VSR-Transformer将特征编码为连续表达序列;最后重建网络从上述表达中进行高分辨率视频重建。
Spatial-Temporal Convolutional Self-Attention
上图给出了本文所提STCSA(Spatial-Temporal Convolutional Self-Attention, STCSA)模块示意图,假设输入视频帧特征为
,我们采用三个独立网络
提取每一帧的空域信息,其卷积核信息为
。不同于ViT采用线性投影方式从图像中提取多个块,我们参考COLA-Net采用unfolde操作按照步长s为Transformer提取
的块。此时,我们可以得到三组3D块,每组块数为
。然后,我们通过如下方式生成
:
其中,
表示unfold操作。接下来,我们需要将每个query与key块reshape为
:
其中,
表示unfolde与reshape的复合操作。最后,我们计算相似矩阵
并与
集成得到新的特征。通过上述方式,我们可以同时进行空时信息集成。最后,我们采用fold操作
将前述所得特征重聚为尺寸为
的特征并通过
处理得到输出特征。,总而言之,上述STCSA可以通过如下公式描述:
其中,
表示reshape操作与folde操作的复合。在实验中,采用单头即可取得非常好的性能。
Spatial-temporal Positional Encoding 本文所提VSR-Transformer具有置换不变性,而VSR任务需要精确的空时位置信息。为解决该问题,我们提出采用3D固定位置编码并将其与注意力层的输入相加。具体来说,位置编码包含两个空域位置信息与一个时序位置信息。表示如下:
其中,
,k表示
之间的整数,pos表示对应维的位置信息,d表示通道维度。注:维度d应当被3整除。
Bidirectional Optical Flow-based Feed-forward
传统Transformer的全连接前馈层包含两个线性层外加GeLU激活,而这种方式在视频超分任务中无法有效探索不同帧间的相关性,进而导致较差的性能。
为解决该问题,我们提出了双向光流前馈层,见上图。具体来说,给定STCSA的输出特征
,我们首先学习近邻帧间的双向光流
;然后我们可以通过仿射函数
得到反向特征与前向特征:
实际上,我们采用SpyNet估计双向光流,即
我们在前向与反向传播阶段分别计算光流,见前面Figure3-right。然后,我们对仿射帧与视频帧进行集成以保持视频信息。为学习近邻帧相关性,我们提出采用卷积前向与反向网络,并修改全连接前馈网络如下:
实际上,我们还可以扩展两层网络到多层,所以上述公式可以重写如下:
相比ViT,所提方案可以有效捕获不同帧之间的相关行;不同于BasicVSR的递归计算光流与特征,所提方案可以有效避免递归,采用并行计算。
Experiments
训练数据:REDS与Vimeo90K;度量准则:PSNR与SSIM。
Results on REDS
上图给出了REDS数据集上不同方案的性能对比,从中可以看到:
- 相比其他方案,所提方案具有更高的PSNR指标;
- 当仅采用5帧进行训练时,BasicVSR与IconVSR比EDVR性能还要差,这意味着两者严重依赖于序列信息集成;
- 所提方法仅需64个通道即可取得比128通道的EDVR-L更好的性能;
- 所提方法可以重建更多的细节、更锐利的边缘。
Results on Vimeo90K
上图给出了Vimeo90K-T与Vid4数据集上的性能对比,从中可以看到:
- 相比其他方案,所提方案取得了最佳的PSNR指标;
- 在Vid4测试集上,所提方案的泛化性能要优于EDVR与BasicVSR,但弱于IconVSR。一个可能的原因:IconVSR采用全部测试帧,而所提方案仅采用了7帧。更重要的是:Vimeo90K-T与Vid4之间存在分布偏差。
- 视觉效果见下图,可以看到:所提方案具有更锐利而逼真的HR结果。
Ablation Study
为验证所提方案中光流的有效性,我们进行了消融实验对比,结果见上图。可以看到:当移除光流后,生成的HR图像就变得模糊,细节不再锐利。这意味着:光流对于信息传播与特征对齐非常重要。
附录
作者在文末的补充材料中提供了关于VSR-Transformer网络的结构信息配置,见下表。
此外,为更公平对比,还提供了关于Vid4上相同帧数测试结果,见下表。所提方案取得了更佳的PSNR指标。
全文到此结束,更多消融实验与分析建议查看原文。
推荐阅读
- “重参数宇宙”再添新成员:RepMLP,清华大学&旷视科技提出将重参数卷积嵌入到全连接层
- 新坑!谷歌提出MLP-Mixer:一种无卷积、无注意力,纯MLP构成的视觉架构
- CVPR2021 | 动态滤波器卷积新高度!DDF:同时解决内容不可知与计算量两大缺陷
- CVPR2021|“无痛涨点”的ACNet再进化,清华大学&旷视科技提出Inception类型的DBB
- TNT|为充分利用局部与全局结构信息,华为诺亚提出全新Transformer:TNT
- 金字塔Transformer,更适合稠密预测任务的Transformer骨干架构
- 来自Transformer的降维打击:ReID各项任务全面领先,阿里&浙大提出TransReID
- ResNet被全面超越了,是Transformer干的:依图科技开源“可大可小”T2T-ViT,轻量版优于MobileNet
- CNN与Transformer的强强联合!谷歌最新开源BoTNet,ImageNet达84.7%准确率
- Transformer再下一城!low-level多个任务榜首被占领,北大华为等联合提出预训练模型IPT