code:coulsonlee/STDO-CVPR2023: [CVPR2023] Towards High-Quality and Efficient Video Super-Resolution via Spatial-Temporal Data Overfitting (github.com)
随着深度卷积神经网络(DNN)在计算机视觉的各个领域得到广泛应用,利用DNN的过拟合能力实现视频分辨率的提升已成为现代视频传输系统的新趋势。通过将视频划分为块,并用超分辨率模型对每个块进行过拟合,服务器在将视频传输到客户端之前对视频进行编码,从而实现更好的视频质量和传输效率。
然而,期望大量的块来确保良好的过拟合质量,这大大增加了存储并消耗了更多的带宽资源用于数据传输。另一方面,通过训练优化技术减少块的数量通常需要高模型容量,这会显著降低执行速度。为了协调这一点,我们提出了一种用于高质量和高效视频分辨率升级任务的新方法,该方法利用时空信息将视频准确地划分为块,从而将块的数量和模型大小保持在最小
此外,我们通过数据感知联合训练技术将我们的方法推进到单个过拟合模型中,这进一步降低了存储需求,质量下降可以忽略不计。我们将我们的模型部署在现成的手机上,实验结果表明,我们的方法实现了实时视频超分辨率和高视频质量。与最先进的方法相比,我们的方法以41.6的PSNR实现了28帧/秒的流媒体速度,在实时视频分辨率提升任务中速度快了14倍,提高了2.29 dB。
1. Introduction
基于深度学习的超分辨率(SR)以其高画质性能和广泛的应用场景而备受赞誉,成为许多增量的核心推动者。与采用经典插值算法[15,45]来提高图像/视频质量的传统方法不同,基于深度学习的方法[10,11,21,24,28,40,44,47,57,60]利用外部数据学习从低分辨率(LR)到高分辨率(HR)的映射函数的优势,从而在遇到新数据时由于更好的泛化能力而实现更好的性能。
这些好处激发了人们对设计新方法[5,17,50]的兴趣,以实时的方式向用户提供高质量的视频流,特别是在大规模在线视频和直播的背景下。在这个庞大的家族中,一位新兴的代表[13,16,31,38]研究了利用SR模型提高LR视频分辨率的前景,而不是直接传输HR视频,在许多情况下,这会消耗服务器和客户端之间的巨大带宽[19]。一种实用的方法是在终端用户的设备上部署预训练的SR模型[25,54],并对传输的LR视频执行分辨率提升,从而在不造成带宽拥塞的情况下获得HR视频。
然而,使用有限数据训练的部署SR模型通常具有有限的泛化能力,在面对新的数据分布时可能无法实现良好的性能[55]。为了克服这一限制,新的方法[4, 8, 20, 30, 51, 53, 55]利用深度神经网络的过拟合特性,为每个视频块(即视频的片段)训练一个SR模型,并将视频连同相应的SR模型一起传输到客户端。模型表达能力和存储效率之间的这种权衡显著提高了分辨率放大视频的质量。然而,为了获得更好的过拟合质量,预计会有更多的视频片段,这显著增加了处理LR视频时的数据量和系统开销[55]。虽然有人提出了先进的训练技术来减少SR模型的数量[30],但它仍然需要过度参数化的SR骨干(例如EDSR[28])和手工制作的模块来确保学习任务有足够的模型容量,这在设备受到资源约束时降低了用户端的执行速度。
在这项工作中,我们提出了一种新颖的方法,通过空间-时间数据过拟合(STDO)实现高质量高效的视频分辨率提升。STDO首次利用空间-时间信息准确地将视频分割成块。受到[1, 14, 23, 46, 58]中提出的启发,即图像可能由于纹理复杂度不同而具有不同水平的图像内部和图像间(即在同一图像内或不同图像之间)信息密度,我们认为视频帧内部或帧之间的信息密度不平衡是普遍存在的,并且应该被适当地管理以进行数据过拟合。
视频帧中不同位置的PSNR值形成某种与视频内容相关的特定模式,并且在时间轴上展现出不同的模式。具体而言,在服务器端,视频的每一帧都被均匀地划分成多个块,然后我们根据所有帧的PSNR将所有块再划分成多个片段。独立的SR模型将用于过拟合视频片段,然后传输给客户端。图2展示了我们提出方法的概述。通过利用空间-时间信息进行数据过拟合,我们减少了片段的数量以及过拟合模型的数量,因为它们受内容本质的限制。这意味着我们的方法可以保持最少数量的片段,无论视频的时长如何。此外,由于每个片段具有相似的数据块,我们实际上可以使用更小的SR模型来完成过拟合任务,而不需要为过拟合任务手工设计模块,这减轻了最终用户设备的计算负担。我们的实验结果表明,我们的方法在一款现成的手机上实现了从270p到1080p的实时视频分辨率提升,并且具有较高的PSNR值。
请注意,STDO使用独立的SR模型对不同的视频块进行编码,我们通过联合训练技术(JSTDO)对其进行了进一步改进,该技术为所有块生成一个单一的SR模型,这进一步降低了存储需求。我们设计了一种新的数据感知联合训练技术,该技术使用来自更高信息密度块的更多数据和来自对应块的更少数据来训练单个SR模型。基本原理与[46,58]中的发现一致,即信息量更大的数据主要有助于模型训练。
•我们发现视频帧中的信息密度不平衡,它普遍存在,并沿着视频时间线不断变化。
•通过利用视频中不平衡的信息密度,我们提出了一种用于视频分辨率提升的时空数据过拟合方法STDO,该方法实现了优于视频质量和实时执行速度的效果。
•我们提出了一种先进的数据感知联合训练技术,该技术考虑了不同的块信息密度,并将SR模型的数量减少到一个质量退化可忽略不计的单个模型。
•我们将我们的型号部署在现成的手机上,并实现实时超分辨率性能。
2. Related Works
2.1. Single Image Super Resolution (SISR)
对于SISR任务,SRCNN[10]是将DNN应用于图像超分辨率的先驱。随后,FSRCNN[11]和ESPCN[40]都在效率和性能方面取得了进展。此后,随着深度神经网络的发展,越来越多的网络骨干被用于SISR任务。例如,VDSR[21]使用VGG[41]网络作为骨干,并添加残差学习以进一步提高有效性。类似地,SRResNet[24]提出了一种使用ResNet[18]作为骨干的SR网络。EDSR[28]通过发现批范数的使用将忽略图像像素(或特征)之间的绝对差异来去除残差块中的批范数。WDSR[57]发现ReLU会阻碍信息传输,所以在ReLU之前滤波器数量的增长会增加特征图的宽度。随着以SENet[36]为代表的通道注意力机制网络的出现,注意力机制的各种应用涌入图像超分辨率领域。
2.2. Video Super Resolution (VSR)
VSR方法主要学习SISR框架[29]。前面提到的一些工作,如EDSR和WDSR,都是关于VSR的现有结果。当前的一些VSR工作通过DNN[2,22,39,42]计算光流来执行对准,以估计图像之间的运动。可变形卷积(DConv)[6]首先用于处理视觉任务中的几何变换,因为CNN的采样操作是固定的。TDAN[43]应用DConv在特征级别对齐输入帧,这避免了以前基于光流的方法中使用的两阶段过程。EDVR[49]使用他们提出的金字塔、级联和可变形卷积(PCD)对齐模块和时空注意力(TSA)融合模块来进一步提高对齐的鲁棒性,并考虑每帧的视觉信息性。其他工作,如DNLN[48]和D3Dnet[56],也在其模型中应用Dconv,以实现更好的对准性能。
2.3. Content-Aware DNN
在开发一个能够很好地处理互联网上所有视频的深度神经网络模型是不现实的。NAS [55]是第一个提出视频传输框架的方法,考虑使用DNN模型来过拟合每个视频块,以确保可靠性和性能。其他直播和视频流作品 [4, 8, 20, 51, 53] 利用过拟合的特性来确保客户端端的出色性能。[20] 提出了一个实时视频采集框架,该框架在原始的NAS [55] 框架上添加了在线学习模块,以进一步确保质量。NEMO [53] 选择关键帧应用超分辨率。这大大减少了客户端的计算量。CaFM [30] 按时间将长视频分成不同的块,并设计了一个手工制作的层以及联合训练技术来减少SR模型的数量并提高性能。EMT [26] 提出利用元调整和挑战补丁采样技术来进一步减少模型大小和计算成本。SRVC [19] 将视频编码为内容和时变模型流。我们的工作不同于这些工作,因为我们考虑了空间信息和时间信息,这对于过拟合任务展现出更好的训练效果。
3. Proposed Method
3.1. Motivation
为了解决仅使用一个通用SR模型来超分辨各种视频所导致的有限泛化能力,先前的工作[20,30,55]按时间分割视频,并训练单独的SR模型来过拟合每个视频块。随着时间的推移,有了更多细粒度的视频块,可以获得更好的过拟合质量,这使得这些方法本质上是模型表达能力和存储效率之间的权衡。对于特定的视频,更多的块肯定会提高过拟合质量,但在执行SR推理时,这也不可避免地增加了数据量和系统开销。
在前述的方法中,图像根据时间轴的顺序堆叠起来形成视频。然而,图像块具有空间位置信息[37],而这些图像块被毫无区别地输入到神经网络中进行训练,这可能导致与过拟合特性相矛盾的冗余。正如图1所示,当使用通用的SR模型对LR视频进行超分辨率处理时,不同图像块位置的PSNR值形成清晰的边界,并且与当前视频帧的内容(即空间信息)密切相关。同时,在不同帧中可以看到不同的边界模式(即时间信息)。这个观察启发我们利用空间-时间信息来精确地将视频分成块,展现了一种不同的设计空间来对视频数据进行过拟合。考虑到每个图像块内部信息密度的不同级别,关键的想法是聚类具有相似纹理复杂度的图像块,这跨越了所有帧。然后,使用一个SR模型来过拟合每个图像块组。这样一来,视频块的数量及其关联的SR模型被有效地减少,这提高了编码效率,无论视频的时长如何。同时,采用紧凑的SR模型也不会导致质量下降,因为每个SR模型仅过拟合具有相似纹理复杂度的特定视频内容。此外,当空间-时间数据得到适当安排时,我们的方法可以扩展为联合训练的方式,为整个视频生成一个单一的SR模型。
3.2. Spatial-Temporal Data Overfitting
本节中,我们介绍了一种新颖的空间-时间数据过拟合方法,STDO,它能够高效地将高分辨率视频编码成低分辨率视频以及它们对应的超分辨率模型,并在用户端实现了优越的超分辨率质量和速度。
假设视频时间长度为T。训练SR模型的一般方法是首先将视频划分为多个帧,并将每个帧分割成多个不重叠的图像块。所有维度上的所有图像块,比如它们在帧中或时间上的位置,构成了完整的视频。对于一个给定的尺寸为 W × H 的视频,以及所需的图像块尺寸为 w × h,图像块可以表示为 Pi,j,t。
3.3. Data-Aware Joint Training
在第3.2节中,我们的方法通过有效利用视频中每个图像块的空间-时间信息,显著减少了视频块的数量和过拟合的SR模型数量。在本节中,我们通过为整个视频生成一个单一的SR模型来扩展我们的方法,进一步减少了存储需求并且质量下降可以忽略不计。从块集合 Ω ∈ Rk 和所有SR模型中,我们在表1中展示了仅使用一个SR模型对整个视频进行超分辨率处理时的PSNR。令人惊讶的是,我们发现使用用 ˆD0 训练的模型(即信息最丰富的块)经历了中等程度的质量下降,并且与使用所有块训练的模型相比实现了相似或更高的PSNR。同时,用 ˆDk 训练的模型质量严重下降。我们认为低PSNR的块通常包含丰富的特征,并且对模型学习贡献更多,这提高了模型对信息较少数据的泛化能力 [46, 58]。受到以上观察的启发,我们提出了一种联合训练技术,该技术精心安排参与训练的空间-时间数据,以训练一个单一的SR模型,该模型能够完全过拟合整个视频。具体而言,我们保留所有的块来构建 ˆD0,然后移除整个 ˆDk。对于其余的块,我们从每个块中随机采样一部分图像块,同时逐渐减少采样数据的比例。我们通过使用联合数据集解决以下优化问题来训练一个单一模型:
4. Experimental Results
在这一部分,我们进行了大量实验来证明我们提出方法的优势。为展示我们方法的效果,我们将我们提出的STDO和JSTDO应用到具有不同场景和不同时长的视频上。视频数据集的详细信息和实现方式在第4.1节中展示。在第4.2节中,我们将我们的方法与使用不同视频和不同SR模型的时间分割方法进行了比较,结果表明STDO在视频超分辨率质量方面表现出色,并且使用最低的计算预算。在第4.3节中,我们展示了通过JSTDO获得的单一SR模型的结果,并展示了JSTDO如何有效利用不同视频块之间的异质信息密度来实现更好的训练性能。在第4.4节中,我们在一款现成的手机上部署了我们的模型,以展示我们的模型可以实现实时视频超分辨率处理。在第4.5节中,我们展示了我们对STDO和JSTDO方法中使用的关键参数进行的消融研究,比如不同数量的块、训练数据调度等。
4.1. Datasets and Implementation Details
在先前的视频超分辨率研究中,大多数视频数据集[33, 52]仅提供几个相邻帧作为迷你视频。这些迷你视频集不适合网络进行过拟合。因此,我们采用了VSD4K数据集,该数据集在[30]中收集。在这个视频数据集中,包括六个视频类别:vlog、游戏、采访、城市、体育、舞蹈。每个类别包含各种不同长度的视频。我们将HR视频的分辨率设置为1080p,LR视频是通过双三次插值生成以匹配不同的缩放因子。
我们将我们的方法应用于几种流行的超分辨率模型,包括ESPCN [40]、SRCNN [10]、VDSR [21]、EDSR [28]和WDSR [57]。在训练过程中,对于缩放因子为2和4,我们使用48×54的图像块尺寸,对于缩放因子为3,使用60×64的图像块尺寸以适应HR视频的尺寸,并将阈值值λ设置为均匀划分图像块。关于训练SR模型的超参数配置,我们遵循[28,30,57]的设置。我们采用Adam优化器,其中β1 = 0.9,β2 = 0.009,ϵ = 10^−8,并且我们使用L1损失作为损失函数。对于学习率,我们对WDSR设置为10^−3,并对其他模型设置为10^−4,随着不同训练轮数的衰减。我们在具有16个resblocks的EDSR模型和16个resblocks的WDSR模型上进行实验。
4.2. Compare with the State-of-the-Art Methods
在这一部分,我们将我们的方法与当前最先进的方法进行比较,这些方法要么使用通用模型过拟合,要么使用时间分割模型过拟合不同的超分辨率主干网络。由于篇幅限制,我们从VSD4K中选取了三个视频类别,并在两个不同的视频时长(15秒和45秒)上进行测试。我们的结果显示在表2中。我们与当前最先进的基于神经网络的超分辨率视频传输方法进行比较,比如awDNN [54],该方法通过模型对视频进行过拟合,NAS [55]将视频预先划分为多个块,并使用独立的SR模型对每个时间分割的块进行过拟合,以及CaFM [30],该方法使用时间分割的视频块和带有手工制作模块的单一SR模型来进行视频过拟合。对于我们实现的STDO,我们将空间-时间数据分别划分为2、4和6个块,并报告最佳结果。我们在训练过程中调整批量大小以保持相同的计算成本,并通过计算每种方法的PSNR来进行比较。可以看出,我们的方法在不同的主干网络上始终能够超越当前最先进的方法。使用STDO,每个SR模型只过拟合具有相似信息密度的一个视频块,这使得可以使用计算量较低的较小容量SR模型,从而降低计算成本。在表3中,我们展示了每个模型的计算成本。从结果中我们注意到,对于相对较新的模型,比如VDSR、EDSR和WDSR,当计算量降低到3 GFLOPs以下时,时间分割方法会出现显著的质量下降,而STDO则保持其性能甚至实现了质量的提升。当使用极小的网络,比如ESPCN或SRCNN时,时间分割方法的PSNR迅速下降,而STDO仍然实现了0.7至1.7 dB更好的性能。
......