Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation
摘要
卷积神经网络实现了准确的图像超分辨率。
然而,最近受益于视频超分辨率中的时间相关性的尝试仅限于朴素或低效的架构。
在本文中,我们介绍了时空亚像素卷积网络,有效地利用时间冗余,提高重建精度,同时保持实时速度。
具体来说,我们讨论了early fusion,slow fusion和3D卷积在多个连续视频帧联合处理中的应用。
我们还提出了一种新颖的联合运动补偿和视频超分辨率算法,其效率比竞争方法高几个数量级,依赖于在一个端到端可训练的快速多分辨率空间转换模块。
这些贡献提供了更高的准确性和时间上更一致的视频,我们在质量和数量上进行了确认。
相对于单帧模型,时空网络可以将计算成本降低30%,同时保持相同的质量,或者为类似的计算成本提供0.2dB的增益。
公开数据集的结果表明,所提出的算法在准确性和效率方面都超过了当前最先进的性能。
1. 介绍
图像和视频超分辨率(SR)是信号处理的长期挑战。
SR旨在从其低分辨率(LR)版本中恢复高分辨率(HR)图像或视频,并找到从医学成像到卫星成像的直接应用,以及促进诸如 作为面部识别。
然而,来自LR输入的HR数据的构造是非常不适合的问题,其需要解决额外的约束。
虽然这些约束通常取决于应用程序,但它们通常依赖于数据冗余。
在单图像SR中,其中仅提供一个LR图像,方法利用局部相关形式的固有图像冗余,通过施加稀疏性约束来恢复丢失的高频细节或假设其他类型的图像统计,例如多尺度补丁递归。
在多图像SR中,假设对同一场景的不同观察是可用的,因此共享显式冗余可用于约束问题并尝试直接反转缩减过程。
从图像到视频的转换意味着具有高度相关性的额外数据维度(时间),也可用于提高精度和效率的性能范围
1.1 相关工作
视频SR方法主要是作为图像SR技术的改编而出现的。
核心回归方法已经被证明适用于使用3D内核而不是2D内核的视频。
字典学习方法,将LR图像定义为耦合到HR字典的字典原子的稀疏线性组合,也已经从图像改编为视频。
另一种方法是基于实例的补丁递归,其假设单个图像或视频中的补丁服从多尺度关系,因此可以从较粗尺度补丁推断出给定尺度的缺失高频内容。
Glasner等人成功地将其用于图像SR,后来又扩展到视频。
当使用从图像到视频的方法时,结合先前的知识通常是有益的,即视频的相同场景的帧可以通过单个图像和运动模式来近似。
估计和运动补偿是进一步约束问题和暴露时间相关性的有力机制。
因此,很常见的是找到通过帧明确建模运动的视频SR方法。
一种自然的选择是通过使用从现成的光流算法获得的位移场来补偿帧间运动来预处理输入帧。
然而,这需要帧预处理并且通常很昂贵。
或者,运动补偿也可以与SR任务一起执行,如Liu等人的贝叶斯方法中所做的那样,通过迭代估计运动作为降尺度过程的更广泛建模的一部分。
可以从数据训练以近似复杂非线性函数的神经网络技术的出现为包括SR在内的许多应用设定了新的性能标准。
Dong等人提出将卷积神经网络(CNN)架构用于单图像SR,后来由Kappeler等在视频SR网络(VSRnet)中进行扩展,该网络共同处理多个输入帧。
另外,利用基于总变差(TV)的光流算法补偿输入图像的运动表现出提高的准确度。
通过循环双向网络也研究了具有神经网络的SR的联合运动补偿。
基于CNN的方法的共同范例是在尝试解决SR问题之前用双三次插值对LR图像进行放大。
然而,通过内插增加输入图像尺寸显着影响CNN处理的计算负担。
Shi等人提出了一种解决方案。
利用有效的亚像素卷积网络(ESPCN),其中从网络学习从LR到HR空间直接映射的放大操作。
这种技术将运行时间降低了一个数量级,并通过使用单帧模型独立处理帧来实现实时视频SR。
基于转置卷积也提出了提高效率的类似解决方案。
1.2 用意和贡献
用于高清(HD)视频SR的现有解决方案在实时执行时未能有效地利用时间相关性。
一方面,ESPCN 利用亚像素卷积进行非常有效的操作,但其对视频处理帧的朴素扩展无法利用帧间冗余并且不会强制执行时间上一致的结果。
VSRnet 另一方面,通过联合处理多个输入帧可以改善重建质量。
然而,对于具有双三次升尺度的LR图像的预处理以及使用低效运动补偿机制,即使在小于标准清晰度分辨率的视频上,运行时间也减慢到大约每秒0.016帧。
空间转换网络提供了一种推断两个图像之间空间映射参数的方法。
这些是可区分的网络,可以与针对其他目标的网络无缝组合和联合训练,以提高其性能。
例如,最初显示空间变换网络通过将图像转换到同一参考帧上来促进图像分类。
最近,已经示出了空间变换如何利用无监督训练来编码光流特征,但是它们尚未被研究用于视频运动补偿。
假设刚性变换,视图合成已经出现了相关的方法。
在本文中,我们将亚像素卷积的效率与时空网络的性能和运动补偿相结合,以获得快速准确的视频SR算法。
我们研究了early fusion,slow fusion和3D卷积的时间维度的不同处理,之前已经建议将其从图像扩展到视频。
此外,我们构建了一个基于空间变换的运动补偿方案,该方案与时空模型相结合,为视频SR提供了一种非常有效的解决方案,具有端到端可训练的运动补偿。
图1显示了所提方法的高级图。
图1:提出的视频SR的设计
端到端地学习运动估计和ESPCN模块以获得运动补偿和快速算法
本文的主要贡献是:
- 基于亚像素卷积和时空网络呈现视频SR的实时方法,提高准确性和时间一致性。
- 将early fusion,slow fusion和3D卷积作为发现时空相关性的替代架构进行比较。
- 提出一种基于多尺度空间变换网络的密集帧间运动补偿的有效方法。
- 将所提出的运动补偿技术与时空模型相结合,以提供一种高效的端到端可训练运动补偿视频SR算法。
2. 方法
我们的出发点是实时图像SR方法ESPCN。
我们将分析限制在标准架构选择中,并且不进一步研究潜在有益的扩展,例如递归,残差连接或基于感知损失函数的训练网络。
在整篇论文中,我们假设所有图像处理都在颜色空间中的y通道上执行,因此我们将所有图像表示为2D矩阵。
2.1 亚像素卷积SR
对于给定的LR图像,假设是低通滤波的结果,并且通过因子r下采样HR图像
,CNN超分变量
可表示为
这里,是模型参数,
表示从LR到HR的映射函数。
卷积网络将该函数模拟为由权重和偏置集合定义的L层的串联,每个串联之后是非线性
,其中
。
形式上,每层的输出写为
其中。
我们假设滤波的形状为,其中
和
表示层
中滤波器的数量和大小,单帧输入意味着
。
模型参数优化最小化给定一组LR和HR示例图像对的损失,通常是均方误差(MSE):
在从LR到HR的映射之前用双三次上采样预处理的方法强加了滤波器的输出数量是
。
使用亚像素卷积允许直接在LR空间中处理,然后使用
输出滤波器来获得具有形状
的HR输出张量,其可以被重新排序以获得
。
这意味着如果存在比双三次上采样更适合该问题的上采样操作,则网络可以学习它。
而且,最重要的是,所有卷积处理都在LR空间中执行,使得这种方法非常有效。
2.2 时空网络
时空网络假设输入数据是时空信息的时间嵌入,使得代替单个输入帧,考虑连续帧序列。
这可以通过引入时间深度的附加维度在网络中表示,其中输入深度
表示奇数个连续输入帧。
如果我们将时空块的时间半径表示为,我们将以时间
为中心的输入帧组定义为
,方程(1)中的问题变成了
加权滤波器的形状也通过它们的时间尺寸
延伸,并且它们的张量形状变为
。
我们注意到可以考虑旨在联合重建多于一个输出帧的解决方案,这可能至少在计算效率方面具有优势。
然而,在这项工作中,我们专注于仅重建单个输出帧。
图2:时空模型。
输入帧采用颜色编码,以说明它们对不同特征图的贡献,括号表示连接后的卷积。
在early fusion(a)中,网络的输入过滤器的时间深度匹配折叠第一层中的所有时间信息的输入帧的数量。
在slow fusion(b)中,第一层以小于输入帧数的组合并帧。 如果强制每层中的权重共享它们的值,则可以为每个新帧重用虚线上方的特征所需的操作。
这种情况相当于使用3D卷积(c),其中时间信息与空间和时间的卷积合并
2.2.1 Early fusion
CNN处理视频的最简单方法之一是使输入层的时间深度与帧数相匹配。
这将折叠第一层中的所有时间信息,并且其余操作与单个图像SR网络中的那些相同,意味着。
对于,图2a中示出了早期融合的图示,其中时间维度已经被颜色编码,并且省略了到2D空间的输出映射。
这个设计已经被研究用于视频分类和动作识别,也是VSRnet中提出的架构之一。
但是,VSRnet需要双三次上采样而不是亚像素卷积,相比之下,这使得框架计算量大且效率较低。
2.2.2 Slow fusion
另一种选择是在分层结构中部分地合并时间信息,因此随着信息通过网络的进展而慢慢融合。
在这种情况下,网络层的时间深度被配置为,因此一些层也具有时间范围,直到所有信息已经合并并且网络的深度减小到1。
这种称为slow fusion的架构比early fusion视频分类具有更好的性能。
在图2b中,我们显示了一个slow fusion网络,其中,融合率定义是当
时
或者否则是
,意味着在每一层仅合并两个连续帧或滤波器激活,直到网络的时间深度缩小到1。
请注意,early fusion是slow fusion的特例。
2.2.3 3D卷积
slow fusion的另一种变化是迫使层权重在时间维度上共享,这具有计算优势。
假设帧的在线处理,当新帧变得可用时,可以重用前一帧的一些层的结果。
例如,参考图2b中的图并假设底部帧是接收的最新帧,虚线上方的所有激活都是容易获得的,因为它们是处理前一帧所必需的。
这种架构相当于使用3D卷积,最初被提议作为学习时空特征的有效工具,可以帮助视频动作识别。
在图2c中示出了来自3D卷积透视图针对于该设计的图示,其中相对于图2b交换了时间和滤波器特征的布置。
2.3 空间转换运动补偿
我们建议使用有效的空间转换网络来补偿馈送到SR网络的帧之间的运动。
已经示出了空间转换如何能够有效地编码光流来描述运动,因此适合于运动补偿。
我们将补偿三个连续帧的块以将补偿模块与SR网络组合,如图1所示,但为了简单起见,我们首先在两个帧之间引入运动补偿。
请注意,所使用的数据包含固有的运动模糊和(解除)遮挡,即使未使用这些效果的显式建模,也可能会改善结果。
任务是找到将新帧与参考当前帧
相关联的最佳光流表示。
假设光流是像素密集的,允许将每个像素移位到新位置,并且所得到的像素布置需要插值回到规则网格上。
我们使用双线性插值,因为它最初提出的薄板样条插值(thin-plate spline interpolation)更有效。
光流是参数的函数,并用对应于位移的两个特征图
表示 对于
和
维度,因此补偿图像可以表示为
或更多简明地
我们采用多尺度设计来表示光流,这已被证明在经典方法以及最近提出的空间变换技术中都是有效的。
该设计的示意图在图3中示出,并且流量估计模块在表1中详述。
图3:空间转换运动补偿
表1:运动补偿转换模块架构。
卷积层由内核大小(k),特征数量(n)和步幅(s)描述
首先,通过early fusion两个输入帧并用步幅卷积缩小空间维度来获得流量的
粗略估计。
用亚像素卷积对估计的光流进行放大,并且应用结果来融合缩放(warp)产生
的目标帧。
然后通过精细光流估计模块将被warp的图像与粗粗糙光流和原始图像一起处理。
这使用具有步幅和最终
放大阶段的单步幅卷积来获得更精细的光流图
。
通过用总光流来融合(warp)目标帧来获得最终运动补偿帧。
输出激活使用tanh来表示归一化空间中的像素位移,使得±1的位移意味着从图像的中心到边界的最大位移。
为了训练空间转换模块以执行运动补偿,我们优化其参数以最小化转换帧和参考帧之间的MSE。
与传统的光流方法类似,我们发现限制光流通常有助于其在空间中平稳表现,因此我们惩罚Huber流量图梯度的损失,即
在实践中,我们用(这里
)来估计Huber损失。
这个函数临近原点具有平滑的L2行为,远离远点稀疏性越大。
空间转换模块相对于其他运动补偿机制是有利的,因为它直接与SR网络组合以执行联合运动补偿和视频SR。
参考图1,相同的参数可用于模拟外部两个帧相对于中心帧的运动。
空间转换模块和SR模块都是可区分的,因此端到端可训练。
因此,它们可以联合优化以最小化复合损失,将方程(3)中的重建精度与方程(6)中的运动补偿的保真度(fidelity)相结合,即
3. 实验和结果
在本节中,我们首先单独分析视频SR的时空网络,然后评估引入运动补偿的好处。
我们限制我们的实验来解决全高清视频分辨率(1080×1920)的×3和×4升尺度,并且不应用压缩。
为了确保方法的公平比较,网络参数的数量需要具有可比性,以便性能的提升可归因于网络资源分配的特定选择,而不是容量的微不足道的增加。
对于第1层,用于重建帧浮动点操作的数量近似为
在测量具有权重共享的slow fusion网络的复杂性时,我们看一下稳态操作,其中一些层的输出从一帧到下一帧重复使用。
我们注意到一篇论文中对VSRnet变体的分析没有考虑模型的复杂性。
3.1 实验设置
3.1.1 数据集
我们使用CDVL数据库,其中包含115个未经压缩的全高清视频,不包括重复视频,并选择100个视频的子集进行训练。
缩小视频并从每个HR-LR视频对中提取30个随机样本以获得3000个训练样本,其中5%用于验证。
根据网络架构,我们将样本称为单帧网络的单个输入输出帧对,或者作为连续LR输入帧的块和用于时空网络的相应中心HR帧。 其余15个视频用于测试。
虽然训练框架的总数很大,但我们预计所提出的方法可以从更丰富,更多样化的视频集中受益。
此外,我们针对文献中反复使用的公开视频提供针对各种SR方法的基准,我们将其称为Vid4。
3.1.2 网络训练和参数设置
所有SR模型都遵循相同的协议进行训练,并共享类似的超参数。
过滤器大小设置为,并且除了输出层之外,所有非线性
都是整流的线性单元,其使用线性激活。
建议,将偏差初始化为0并且权重使用正交初始化和增益。
所有隐藏层被设置为具有相同数量的特征。
视频样本被分解为33×33的空间维度的非重叠子样本,其被随机分组以用于随机优化。
我们使用Adam,学习率为,初始批量为1。
每10个epoch批量大小加倍,直到达到最大值128。
我们为网络时间深度为1的层(图2a到2c中的灰色层)选择,并且保持我们选择的可比较的网络大小
。
这确保了early和slow fusion网络中每个隐藏层的特征数量始终相同。
例如,如图2b所示的网络,其中当且
,
。
对于SR,6层网络中的特征数量将是6,8,12,24,24,
。
3.2 时空视频SR
3.2.1 单帧与多帧early fusion
首先,我们研究了输入帧数对复杂性和准确性的影响,而没有运动补偿。
我们将单帧模型(SF)与使用3,5和7输入帧(E3,E5和E7)的early fusion时空模型进行比较。
对于6到11层网络的CDVL数据集的峰值信噪比(PSNR)结果绘制在图4中。
利用时空相关性提供了相对于帧的独立处理的更准确的结果。
early fusion的复杂性增加是微不足道的,因为只有第一层有助于增加操作。
图4:使用单帧模型(SF)和多帧早期融合模型(E3-7)的CDVL×3 SR
尽管时空模型的准确性相对类似,但我们发现E7略微表现不佳。
超过5帧的时间依赖性可能变得过于复杂,以至于网络无法学习有用的信息并充当降低其性能的噪声。
还要注意,虽然单帧网络的8层后网络深度的性能提升最小,但这种增加对于时空模型更加一致。
3.2.2 Early fusion与Slow fusion
在这里,我们比较2.2节中讨论的时间维度的不同处理。
我们假设输入为5帧的网络和具有滤波器时间深度2的slow fusion模型,如图2所示。
使用SF,E5,S5和S5-SW来指代使用slow fusion的单帧网络和5帧输入网络,slow fusion和共享权重的slow fusion,我们在表2中显示了7层和9层网络的结果。
如前所述,相对于单帧模型,slow fusion网络在操作边际增加3%时获得更高的准确度,并且预期的slow fusion架构提供了效率优势。
slow fusion比early fusion更快,因为它在初始层中使用较少的特征。
参考方程(8),slow fusion在第一层中使用并且
,这导致比在early fusion中使用的
更少的操作。
表2 时空架构的比较
虽然7层网络使用slow fusion相对于early fusion而言精确度显着降低,但9层网络可以从相同的准确度中受益,同时通过慢融合将其复杂性降低约30%。
这表明在浅层网络中,网络资源的最佳利用是利用全网络容量来共同处理所有时间信息,如early fusion所做的那样,但在更深层网络中慢慢融合时间维度是有益的,并为视频分类提供的结果。
此外,由于网络参数的减少,权重共享降低了准确性,但网络特征的可重用性意味着每帧需要的操作更少。
例如,7层S5-SW网络显示减少了近30%的操作,相对于SF的精度降低最小。
然而,使用7层E5显示出比具有9层的S5-SW更好的性能和更快的操作,并且在所有情况下我们发现early fusion或slow fusion在这种性能和效率权衡中始终优于具有共享权重的slow fusion。
时空域中的卷积显示为适用于视频动作识别,但具有更大的容量和更多的帧联合处理。
我们推测这可能是为什么从这个高级别视觉任务中得出的结论不能推断出SR问题的原因。
3.3 运动补偿视频SR
在本节中,所提出的帧运动补偿与时间深度的early fusion网络相结合。
首先,使用等式(7)独立地训练运动补偿模块,其中第一项被忽略并且。
这导致网络将通过估计外帧相对于中间帧的光流图来补偿三个连续帧的运动。
图5中示出了针对一帧获得的光流图的示例,其中我们还示出了运动补偿模块对三个连续帧的影响。
图5:空间转换模块运动补偿。
上:估计将原始帧与其连续帧相关联的光流图。
底部:没有和具有运动补偿的三个连续帧的部分(无MC和MC)。
MC的错误图不太明显。
early fusion运动补偿SR网络(E3-MC)通过补偿和SR网络分别进行初始化,然后用Eq(7)联合优化完整模型。
表3中将CDVL上的( SR)结果与单帧(
)模型和没有运动补偿的early fusion(
)进行比较。
导致PSNR有时几乎是
相对于
的两倍的改进,我们将其归因于网络适应SR输入以最大化时间冗余的事实。
在图6中,我们展示了如何在更好的结构保存中反映出这种改进。
图6:运动补偿×3 SR
联合运动补偿和SR(c)比单独的时空SR(b)产生结构上更准确的重建。
表3:使用单帧(SF)和3帧early fusion的CDVL×3 SR的PSNR,没有和有运动补偿(E3,E3-MC)
3.4 与最先进的技术进行比较
我们在表4中显示了Vid4对SRCNN,ESPCN ,VSRnet的性能以及我们称之为视频ESPCN(VESPCN)的方法。
为了证明其在效率和质量方面的优势,我们评估了两种融合模型:5层3帧网络(5L-E3)和9层3帧网络,带有运动补偿(9L-E3-MC)。
比较的指标是PSNR,结构相似性(SSIM)和MOVIE指数。
MOVIE指数被设计为衡量与人类感知相关的视频质量的度量,并结合了时间一致性的概念。
我们还直接比较所有基于CNN的方法的每帧操作次数,以扩展通用1080p帧。
SRCNN,ESPCN和VSRnet的重建使用了作者提供的模型。
SRCNN,ESPCN和VESPCN在Theano和Lasagne上进行了测试,对于VSRnet,我们使用了可用的Caffe Matlab代码。
我们在所有重建中裁剪空间边界以及初始和最终帧,以便与VSRnet进行公平比较。
表4:Vid4视频的性能
* VSRnet不包括运动补偿所需的操作。
3.4.1 质量比较
图7中针对运动补偿网络示出了视觉差异的示例。
从特写图像中,我们看到了如何通过提出的VESPCN方法更好地恢复原始视频的结构细节。
这反映在表4中,它大大超过了PSNR和SSIM中的任何其他方法。
图7还示出了通过25个连续帧的虚线突出显示的行上的时间轮廓,证明了所提出的重建的更好的时间相干性。
VESPCN的大时间相干性也解释了MOVIE指数的显著降低。
图7:Vid4上×3 SR的结果。
浅蓝色数字显示SRCNN,ESPCN,VSRnet,VESPCN(9L-E3-MC)和原始图像的结果。
紫色图像显示了来自原始图像中所示的虚线的25帧的对应时间分布。
VESPCN在视觉上产生最准确的结果,包括空间和时间
3.4.2 效率比较
表4中方法的复杂性由网络和输入图像大小决定。
SRCNN和VSRnet在尝试超分它们之前上采样LR图像,这大大增加了所需的操作次数。
VSRnet特别昂贵,因为它处理64和320个特征层中的5个输入帧,而亚像素卷积大大减少了 ESPCN和VESPCN要求的操作。
作为参考,ESPCN×4在K2 GPU上以每帧29ms的速度运行。
时空网络的增强功能允许相对于ESPCN减少VESPCN的网络操作,同时仍然匹配其准确性。
作为一个例子,我们展示了带有5L-E3的VESPCN,相对于ESPCN,操作次数减少了约20%,同时在所有评估的质量指标中保持了类似的性能。
表4中包含的带有9L-E3-MC的VESPCN中的运动补偿操作,对于和
放大,达到3.6和2.0 GOps,对于需要运动补偿的每个输入帧应用两次。
这使得所提出的运动补偿视频SR相对于其他方法非常有效。
例如,据说VSRnet中的运动补偿每帧需要55秒,并且是计算瓶颈。
这在表4中未考虑,但是比具有9L-E3-MC的VESPCN慢,其可以以
秒的量级运行。
VSRnet中的光流方法最初显示为在GPU上以29ms运行,每帧尺寸为512×383,但考虑到超过单帧HD尺寸需要运动补偿,这仍然比建议的解决方案慢得多。
4. 结论
在本文中,我们将亚像素卷积的效率优势与时间融合策略相结合,以呈现视频SR的实时时空模型。
所使用的时空模型被示出为促进重建精度和时间一致性的改进或相对于独立单帧处理降低计算复杂度。
所研究的模型通过基于空间转换网络的运动补偿机制进行扩展,该机制对于视频SR是高效且可联合训练的。
与单独的时空模型相比,使用包含显式运动补偿的方法获得的结果在PSNR和时间一致性方面被证明是优越的,并且优于视频SR中的当前技术水平。