这篇文章基于ESPCN
提出了针对视频重建任务的网络结构VESPCN。ESPCN在图像和视频重建任务上都相比先前的方法都有一定的提升,但ESPCN只能对单帧图像进行重建,并不能利用视频多帧图像的时间相关性
信息。该模型由对齐网络和融合时空亚像素网络组成,能够有效利用时间冗余,提高重建精度,同时保持实时速度。
文章连接:Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation
参考目录:
超分之VESPCN
Pytorch源码
VESPCN:Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation
Abstract
这篇文章是ESPCN的升级版本,ESPCN是一种SISR方法,但也可以针对视频做超分(视频只不过是连续多帧的图像)。它利用亚像素卷积实现了非常高效的性能,但其只能处理独立帧,对视频的简单扩展未能利用帧间冗余,也无法实现时间一致性。
对此,作者提出了能够利用时间冗余信息的时空亚像素卷积网络VESPCN,该方法主要针对视频超分,将ESPCN结构扩展成时序空间网络结构(Spatio-temporal Network),将时间信息加入到网络中,可以有效地利用时间冗余信息,提高重建精度,同时保持实时速度。
- 提出了一种新的
联合运动补偿算法
,该算法比其他方法效率高几个数量级,依赖于一个端到端可训练的快速多分辨率空间变换模块
。 - 提出了
多帧的融合方法
,分别使用早期融合、慢速融合和3D卷积融合对多个连续视频帧进行联合处理,通过实验研究三种方法的优劣。
1 Introduction
单图像SR中 :利用局部相关性的图像空间冗余,通过施加约束或其他类型的图像统计信息来恢复丢失的高频细节。
在多图像SR(视频)中 :假设同一场景的不同观测值可用,因此可以使用共享的时间冗余来约束问题。
从图像到视频的转换意味着加入一个具有高度相关性的额外数据维度(时间),可以利用它来提高准确性和效率。
- 在网络对齐部分,引入运动估计和补偿,是进一步约束问题和保留时间相关性的重要机制。运动补偿机制使用的是空间转换网络STN,其本身能够获取两幅图像之间的空间映射关系,且它是一个独立的网络,可以与针对其他目标任务的网络无缝结合并共同训练,以提高其性能。
- 网络融合部分,研究了早期融合、慢速融合和3D卷积融合对时间维度的不同处理。
在本文中,作者将亚像素卷积的效率
与时空网络
结合起来,提出了一种基于空间变换的运动补偿和三种不同的融合多个相邻帧的方法,是一种端到端可训练的高效解决方案。
本文的主要贡献是:
- 提出了一种基于亚像素卷积和时空网络的实时视频SR方法VESPCN,提高了SR重建的准确性和时间一致性。
- 比较早期融合、慢速融合和3D卷积融合三种方法。
- 提出了一种基于多尺度空间变换网络的密集帧间运动补偿方法。
- 将提出的运动补偿技术与时空模型相结合,提供了一种高效、端到端可训练的运动补偿视频SR算法。
2 Method
VESPCN主要由Motion-Estimation网络和Spatio-Temporal网络组成。(对齐+融合)
运动补偿网络: 以STN网络为基础,预测出前后帧的像素值。
时序空间网络: Spatio-Temporal网络是以ESPCN为基础的SR网络,其主要利用亚像素卷积层来进行上采样,此外该模块需要结合early fusion、slow fusion或者3D卷积来将时间信息加入进来。
由于STN网络本身就是可导的,因此整个运动补偿+时序空间网络的训练是一个端对端的训练。VESPCN中整个运动补偿网络在VSR中本质就是个时间对齐网络,其基于Flow-based方法,属于Image-wise。
事实上没有运动补偿模块,仅靠时序空间网络,也能够实现比较好的重建性能,但运动补偿使得前后帧内容上更加对齐增强了相关性,在时间上更连续。作者在实验部分也证实了这一点。
★★★简单梳理一下整个网络结构:★★★ 按图中:
- 输入三帧图像,当前帧 I t L R I_t^{LR} ItLR作为参考帧,前后两帧作为支持帧,前一帧 I t − 1 L R I_{t-1}^{LR} It−1LR和后一帧 I t + 1 L R I_{t+1}^{LR} It+1LR分别与当前帧 I t L R I_t^{LR} ItLR做一个运动补偿得到两张warp后的图像 I t − 1 ′ L R I_{t-1}'^{LR} It−1′LR和 I t + 1 ′ L R I_{t+1}'^{LR} It+1′LR。
这个过程的目的是使前一帧 I t − 1 L R I_{t-1}^{LR} It−1LR尽量变换到当前帧 I t L R I_t^{LR} ItLR的位置。当然后一帧也是相同。这也就是前面一直说的对齐
。把三张图像减少偏移,尽量保持一致,这样在内容上有更多的相关性,时间上也更加连续。因为支持帧不可能变换到与参考帧完全一样的,还是会有所差别,只是差别变小了,可以看成是两张图中间插入新的一帧,所以运动的连贯性被大大加强了。图中的ME模块是以STN为基础的一个加入时间元素的变体TSTN。后面会详细介绍。
- 将得到的三张warp后更加相近的图像输入时序空间网络中进行融合,其实就是结合三张图像一起提取特征,最后使用亚像素卷积层Pixel-Shuffle上采样重建图像输出 I t S R I_t^{SR} ItSR。
这个融合的过程有三种方式:early fusion、slow fusion、 3D卷积。最简单的早期融合early fusion其实就是直接在时间维度上拼接三张图像,然后一起提取特征。融合部分其实是指用怎样的方式结构时间信息去提取特征
。
以下三点介绍顺序和论文中不同,是按照网络前后顺序进行介绍的。
2.1 Spatial transformer motion compensation
首先使用高效的空间变换网络来补偿帧之间的运动再将结果输入SR网络。空间变换器可以有效地对光流进行编码,适用于运动补偿。首先在两个帧之间引入运动补偿。
粗略估计:
当前帧 I t I_t It和后一帧 I t + 1 I_{t+1} It+1同时输入,首先做一个粗略光流估计,计算两张图像的运动矢量 Δ c Δ^c Δc</