论文链接:https://arxiv.org/pdf/2108.02110.pdf
论文来源:ACM MM2021
作者团队:bilibili
为了从低质量的压缩视频中恢复高质量的视频,人们提出了许多基于深度学习的算法。其中一些算法通过探索相邻帧的时空信息来恢复每一帧缺失的细节。然而,这些方法的时间范围通常很窄,因此可能会错过相邻帧之外的一些有用细节。在本文中,为了提高伪影去除率,一方面,我们提出了一种递归融合(RF)模块来建模长时间范围内的时间相关性。具体地说,RF利用当前参考帧和之前的隐藏状态来进行更好的时空补偿。另一方面,我们设计了一个高效的可变形时空注意(DSTA)模块,使得该模型能够更加努力地恢复运动对象边界区域等伪影丰富的区域。大量实验表明,在MFQE 2.0数据集上,我们的方法在保真度和感知效果方面都优于现有方法。代码已开源:https://github.com/zhaominyiz/RFDA-PyTorch.
如今,有损视频压缩算法(例如H.264/A VC[28]和H.265/HEVC[23])被广泛应用于减少视频存储和传输的成本。随着压缩率的增加,这些算法大大降低了比特率,但也引入了不希望出现的伪影,从而严重降低了体验质量(QoE)。此外,低质量压缩视频中的伪影也会损害面向下游视频的任务(例如动作识别和定位[29,43],视频摘要[1,32])的性能。因此,视频压缩伪影减少成为多媒体领域的热门话题[7、11、21、33、34、36],其目的是减少引入的伪影,并恢复严重压缩视频中丢失的细节。
近年来,许多基于深度神经网络的压缩伪影去除工作已经出现,并取得了显著的性能改进。这些作品大致分为三种类型:基于单一图像的[5,9,12,16,24,41],基于各种视频压缩优先级的[6,14,39],以及基于附加时间信息的[7,8,11,19-21,33-35,37]。具体来说,[9,16,41]是为增强JPEG质量而设计的。这些方法可以通过单独恢复每一帧来适应视频。〔6, 14, 39〕考虑I/P/B帧采用不同的策略进行压缩,并采用不同的模块进行处理,以单个帧作为输入,忽略视频的时间信息。为了弥补这一缺陷,[11,21]利用两个最近的高质量峰值质量帧(PQF)作为参考帧,[19,20]利用深度卡尔曼滤波网络并从之前的帧中捕获时空信息,[7,33]分别采用非局部ConvLSTM和可变形卷积来捕获多个相邻帧之间的依赖关系。综上所述,最近的工作利用前面的帧、附近的pqf或多个相邻帧作为参考帧来利用视频帧之间的时空信息。虽然这些方法在这方面取得了很大的进展,但它们的性能仍然受到时间范围狭窄的限制,这使得它们无法充分利用前一帧中的时空信息。
为了解决上述问题,一方面,我们提出了一种用于减少视频压缩伪影的递归融合(RF)模块。具体地说,为了在较大的时间范围内利用相关信息,我们开发了一种递归融合方案,以有限的额外计算成本将先前的补偿特征与当前特征递归地结合起来。图1示出了RF利用来自遥远帧的细节的示例。如我们所见,当不使用RF模块时,我们无法恢复第56帧中的细节,而我们使用RF模块的方法可以通过利用第49-51帧中的相应区域成功恢复两个记分板之间区域的细节。这是由于RF模块的时间感受野增大所致。另一方面,在重建高质量帧时,平等对待帧中不同区域是不合理的。例如,运动物体的边界区域通常会受到严重的扭曲,因此在减少伪影方面应该受到更多的关注。因此,我们设计了一种有效且高效的可变形时空注意机制(DSTA),使模型能够更加关注帧中伪影丰富的区域。这里,在RF模块之后,帧之间的时空相关性被划分为不同的信道。因此,在可变形卷积运算之后,通道注意机制用于沿时间维度对齐空间信息。
本文主要贡献总结如下:
在本节中,我们回顾了基于深度学习的视频压缩伪影消除的相关工作。根据领域知识和使用的输入帧数量,现有的方法大致可以分为基于图像的方法、基于单帧的方法和基于多帧的方法。
Image-based approaches.这些方法[5,9,10,13,16,17,40–42]被用来解决JPEG图像质量增强问题。当应用于压缩视频时,这些方法会从视频中提取单个帧,并在不了解视频压缩算法的情况下对其进行增强。例如,AR-CNN[9]引入了四个卷积层以减少JPEG压缩伪影。DnCNN[41]是一个具有批量标准化和残差学习的深度模型。[5,40]采用小波/频域信息增强视觉质量。NLRN[17]和RNAN[42]提出了具有残差非局部注意机制的更深层次的网络,以捕获像素之间的长距离依赖关系。
Single-frame based approaches.在这些方法中,[6、14、26、38、39]利用了视频压缩算法中不同编码模式(例如I/P/B帧)的知识,并采用了特殊的策略来应对它们。具体而言,DS-CNN[39]和QE-CNN[38]提出了两个独立的模型,分别处理帧内编码和帧间编码模式。然而,这些方法忽略了视频空间的时间连续性,这使得它们难以处理时间噪声。
Multi-frame based approaches. [19,20]将视频压缩伪影减少任务建模为卡尔曼滤波过程,并从增强的前一帧捕获时间信息,以递归方式恢复当前帧。它们还结合了压缩码流中的量化预测残差作为强先验知识。然而,仅仅利用前一帧的时间信息是不够的,因为B帧是通过使用前一帧和后一帧作为参考来压缩的。[11,21]用附近的高质量帧PQFs建立时间依赖关系。他们首先使用分类器检测PQF,然后使用PQF作为参考帧来修复非PQF。在实现中,他们首先使用光流进行运动补偿,然后设计质量增强的重建网络。后来,[37]采用了一种改进的卷积LSTM,用于进一步利用大时间范围内帧的有用信息。[7,33]利用非局部机制和可变形卷积网络分别捕获多个相邻帧中的时空相关性。最近,[34]采用参考帧方法和快速傅立叶变换(FFT)损失来选择高质量的参考帧,并专注于高频信息恢复。
Difference between our method and existing multi-frame based approaches.利用时空信息已经成为最近视频增强工作的主流。然而,现有的方法受时间范围的限制,无法从视频中获取足够的信息。本文提出了一种新的递归融合模块,利用前隐状态和当前特征来扩大接收野,提高恢复性能。此外,由于计算量巨大,传统的非局部注意在这项任务中效率低下,并且在每一帧中都平等地对待不同的区域。因此,我们进一步开发了一个高效的可变形时空注意(DSTA)模块来捕获伪影丰富的区域,并使模型更加关注这些区域,从而获得更好的恢复性能。
在本节中,我们将介绍我们的方法的技术细节。我们方法的架构如图2所示。在详细描述之前,我们首先阐述了视频压缩伪影减少问题,并对该方法进行了概述。
给定一个T帧的压缩视频,是t时刻的压缩帧,C是通道数,N=W*H。压缩伪影去除任务是基于t时刻的压缩视频V生成增强帧。
如第2节所述。2.现有的方法利用不同的采样策略以帧为输入,然后增强目标帧。在我们的方法中,我们选择2R + 1个连续的相邻帧作为输入,以获得增强的, 这些输入帧由 然后,在形式上,增强帧可以通过以下方式生成
其中,表示时空特征融合(STFF)模块(如图2中的蓝色框所示),是质量增强(QE)模块(如图2中的紫色框所示)。和是相应STFF和QE模块的可学习参数。是由STFF中的递归融合(RF)模块(如图2中的红色框所示)输出的t时刻的隐藏状态,其中F指通道数。
总的来说,如图2所示,STFF模块将融合来自多个帧的时空信息,其中时空可变形融合(STDF)模块组合了2R+1帧并输出融合特征. 在STDF之后,递归融合(RF)模块利用融合特征以及之前的隐藏状态 产生隐藏状态.之后,隐藏状态通过QE模块生成最终增强帧的残差。在我们的方法中,我们采用了[7]中STDF模块的类似架构和设置。因此,在下面的内容中,我们仅在第3.2节详细介绍RF模块。3.3节中介绍QE模块。
请注意,除了提出的带有RNN的RF模块,还有其他替代方案。实际上,我们至少可以想出三种方法来将RNN应用于我们的问题:(a)用图2中的RNN替换STFF;(b) 以RNN取代STDF;(c) 用RNN取代RF。对于(a),它类似于[33]中的解决方案,它消耗了太多时间。至于(b),STDF[7]取2R+1帧作为输入并且并行融合,这比通过RNN逐个融合更有效。对于(c),我们对ConvLSTM[30]进行了实证检验,实验结果表明ConvlTM无法充分利用时空信息(见第4.4节)。因此,我们在体系结构中放弃了这些RNN方案。
所提出的递归融合(RF)模块通过引入前面的隐藏状态 来细化融合特征.如[7]中所设计,STDF利用一个有效的基于Unet的网络[22]来为可变形卷积核预测偏移场,其中K是可变形卷积层的内核大小。然后,这些特定于位置的偏移Δ引导可变形卷积网络有效地融合输入帧。
在[7]中,融合特征直接馈入QE模块,而在本文中,我们建议对RF模块进行细化通过进一步利用帧的时空信息。具体来说,RF模块的核心思想是递归地利用前面的隐藏状态作为调整当前功能的线索. RF模块的操作可以形式化为
其中是STDF的融合特征,是融合当前特征 以及之前的隐藏状态的子融合模块.是一种特征提取工具,其目的是学习残差并为提供额外的时空信息. 在我们的实验过程中,通过网格搜索设置为0.2。
如等式2所示,我们首先采用子融合模块对齐前一隐藏状态的特征和当前特征,考虑到大可变形卷积核以效率为代价有利于性能[3],像素级映射可以满足RF模块的要求,因为两个连续帧之间的运动幅度,即,和.非常小。在实现中,我们采用了核尺寸为1×1的可变形卷积层,这意味着偏移场满足, 其中F是的通道数.然后,我们采用特征提取网络从对齐的特征中学习残差以及当前特征, 并用残差进行精炼. 我们通过叠加两个卷积层来实现特征提取网络。表四的实验表明,采用浅层网络的RF模块可以获得具有竞争力的性能。通过这种方式,可以在大的时间范围内递归且高效地融合时空信息。(RF模块是在用前一帧的RF处理结果来细化当前帧的RF结果,相当于用前一帧的中间增强结果来为当前帧提供先验,由于在RF前又采用了STDF模块,所以还引入了更往前的帧的信息,当前帧前面所有的帧都会被递归调用,或多或少的提供信息。)
QE模块在这项任务中至关重要,因为它需要将隐藏状态解码为残差,从而重建高质量的帧。然而,QE模块在最近的工作中很少受到关注。本文设计了可变形时空注意(DSTA)机制来提高QE模块的性能。一般来说,QE采取了STFF中的隐藏状态作为输入并产生一个残差,该残差与压缩帧一起用于恢复压缩帧。
QE模块的结构可参考图2,其包括L+2个卷积层和L个DSTA块。同时,DSTA块的结构如图3所示。通常,DSTA是为了使模型更加关注伪影丰富的区域,例如帧中移动对象的边界,以便QE模块能够在这些区域实现更好的性能。
在DSTA中,我们首先采用1×1卷积来减少通道数,以获得足够的感受野和较低的计算成本,这是受[18]的启发。然后,在步长为2的卷积层之后是一个7×7的池化层,以减小特征的空间大小。在减少特征的空间大小后,我们利用多尺度结构来预测偏移。然后,可变形卷积层使用预测的偏移量来计算注意图(特征多通道对齐并获取空间注意力图?)。然后,该特征图被送入上采样算子和通道注意模块,分别生成空间注意掩码和通道权重。值得一提的是,通道注意机制对隐藏状态起着选择作用,其中不同维度代表与目标帧的不同时间关系(应该是不同通道的隐藏状态特征图与目标帧相关性不同)。因此,通道注意力机制通过信道上的加权和,可以区分有用的时间信息。最后,DSTA块的输入与空间贴图和通道权重相乘。(空间注意力图*通道注意力权重*input?这样不会使得空间注意力图和通道注意力图的计算产生冲突而导致最终得到的注意力图不再具备注意力的意义吗?更何况DConv2中本身就包含带有注意力效果的权重参数)
请注意,非局部注意机制(参见[42])可能会带来更多性能改进,但其巨大的计算量增加了恢复的时间成本,这是不可接受的,也不符合我们的动机。我们的DSTA模块在计算和性能之间实现了良好的平衡,并考虑了时间和空间依赖性,以获得更好的性能。如图4所示,提出的注意块更关注移动区域,因此引导QE模块投入更多精力来恢复它们。
为了进一步提高我们方法的性能,我们分两个阶段训练模型。在第一阶段中,我们移除RF模块,重点关注STDF和DSTA模块。当这两个模块融合时,我们会降低他们的学习率,并将RF模块添加到训练中。在第二阶段,我们利用视频剪辑作为输入来训练我们的RF模块。这种训练策略可以缩短训练时间。相比之下,单阶段训练策略的收敛速度比我们的慢得多。(这应该是因为RF要递归调用当前帧之前所有帧的RF结果,所以速度会很慢,但将视频剪辑成每段15帧就会加快训练速度。)在这两个阶段中,我们都使用Charbonnier损失[4]来优化模型:
其中是增强型框架,是ground truth,设置为10−6.
在本节中,我们将进行大量实验,以评估我们提出的方法的有效性和优越性。我们的评估包括两部分:(1)与最新方法的比较,(2)不同子模块的消融研究,所有这些都是在MFQE 2.0数据集上进行的,共有五个QP。
在本文中,我们以[7]中最先进的方法STDF-R3为基线,这意味着本文中的STDF的R= 3。在训练阶段,我们从原始视频中随机裁剪112×112个片段并将相应的压缩视频作为训练样本,设置批量为32。我们还采用翻转和旋转作为数据扩充策略来进一步扩展数据集。在第一个训练阶段,Adam[15]优化器以10−4的初始学习率对模型进行训练,当达到60%和90%的迭代次数时,它会减少一半。在第二个培训阶段,我们将STDF和QE的学习率设置为10−5并将训练集中的每个视频分割为多个视频片段。每个视频剪辑包含15帧。值得一提的是,在第一个训练阶段,我们逐帧计算损失,而在第二个训练阶段,我们计算整个剪辑的损失,以便更好地利用RF模块的特性。我们的模型是在4个NVIDIA GeForce RTX 3090 GPU和PyTorch1.8上训练的。
为了进行评估,按照[7,34]的设置,我们只报告YUV/YCbCr空间中Y通道的质量增强。我们采用对压缩峰值信噪比(ΔPSNR)和结构相似性(ΔSSIM)[27]的改进来评估质量增强性能。
为了证明我们的方法的优势,我们将我们的方法与最先进的方法进行比较,包括基于图像的方法[9,16,41]、基于单帧的方法[26,38]和多帧方法[7,11,21]。为了充分验证我们方法中模块的有效性,我们还将RF和DSTA分别应用于STDF-R3。文献[7,11]引用了现有方法的结果。
Overall performance. PSNR/SSIM改善的结果如表1所示。为了验证不同组件的有效性,我们还分别报告了仅使用RF和DSTA时的性能。从表一中我们可以看到,基于多帧的方法比所有基于图像的方法表现得更好,这是因为它们利用了时空信息。而我们的方法在五个QPs下的性能优于所有现有方法,这验证了所提方法的有效性和优越性。此外,只有RF或DSTA的STDF-R3在四个QP下的性能也优于最先进的方法。
Speed and parameter size comparison. 我们还比较了我们的方法和一些现有方法的推理速度和参数大小。如表2所示,我们的方法在推理速度和参数大小方面都优于最先进的STDF-R3L方法。具体来说,我们的方法平均ΔPSNR提高了8.8%(从0.83提高到0.91,见表1),并将推断FPS提高了0.1∼0.2(提高了2∼10%,见表2) ,而我们的模型比STDF-R3L的参数少(1250k对1275k,见表2),这表明了我们提出的方法的有效性和优越性。此外,通过表1和表2我们可以看到,即使只使用RF或DSTA,在恢复效果、速度和参数大小方面,我们仍然可以在四个QPs下获得比STDF-R3L更好的性能。
Quality fluctuation. 质量波动是增强视频整体质量的另一个可观察指标。帧的剧烈质量波动导致了严重的纹理抖动和体验质量的下降。我们通过标准偏差(SD)和峰谷差(PVD)评估每个测试序列的波动,如[11,33,38]所示。我们的方法和主要现有方法在所有测试序列中的平均PVD和SD如表3所示。我们可以看到,我们的方法具有最小的平均PVD和SD,这表明我们的方法比其他方法更稳定。
图5显示了两组PSNR曲线,每组由HEVC压缩的测试序列的三条PSNR曲线以及STDF-R3L和我们的方法。与STDF-R3L相比,我们的方法比压缩后的帧有更大的PSNR改善,但波动较小。
Rate-distortion. 在这里,我们评估我们的方法的率失真,并将其与最先进的方法进行比较。为了简单说明,我们在图6中仅展示了压缩视频的结果、两种最先进方法(MFQE 2.0和STDF-R3L)的增强结果以及我们的方法。由于[7]中缺乏数据,我们没有显示STDF-R3L的结果QP=42.从图6中我们可以看到,对于类似的比特率,我们的方法比其他方法获得更大的PSNR,这表明我们的方法在率失真方面优于最先进的方法。
为了验证我们的模块的效果,我们以STDF-R3为基线,并在基线中插入不同的模块组合。为了进行公平比较,我们对STDF-R3进行了再训练,并采用了类似的实验设置。表4给出了不同模块组合的STDF-R3和STDF-R3的结果。为了简单起见,我们将两阶段训练策略缩写为Two-Stage。
Effect of Recursive Fusion.在这里,我们评估RF模块的有效性。如表2第四行所示,采用两阶段训练策略的RF模块的ΔPSNR为0.89(从表中可以看出,RF模块的有效性依赖两阶段训练,如果不将视频剪辑成15帧来单独训练RF,RF模块会引入过多的帧信息,从而导致网络无法处理,效果下降),比基线方法高0.11。图7中的可视示例还表明,RF模块通过学习从前面的帧中恢复丢失的细节来获得增益。为了更好地说明RF模块的有效性,我们还训练了一个STDF-R4模型,它需要两个额外的参考帧来进行增强。STDF-R4的ΔPSNR为0.79,而我们的RF模块的ΔPSNR为0.89,这再次证明了RF模块的有效性。我们注意到,我们的训练和推理阶段之间存在不一致:我们用长度为15的视频片段训练我们的模型,在推理过程中,我们使用RF递归地生成整个视频。为了更好地验证我们的模型是否能够在长时间范围内利用时空依赖性,我们设计了三种变体:无RF、有RF和有RF-15,其中RF-15意味着在训练和推理中,我们将每个视频分割为多个15帧视频片段,并逐个增强。图8显示了各种射频变体的峰值信噪比曲线。RF和RF-15的性能都优于无RF。然而,RF-15在每个剪辑的起始帧上的性能比RF差,这进一步验证了引入遥远的前一帧信息的有效性。
我们还将RF替换为CONVLSM[30],并在相同的实验设置下(两阶段&QP=37)将其与RF进行比较。获得了0.78的ΔPSNR,远低于RF的0.89,这也证明了RF的优越性。
Effect of Deformable Spatiotemporal Attention.从表4的结果中我们可以得出结论,DSTA对效果改进有很大贡献。为了深入研究,我们考虑一个额外的消融研究DSTA模块的分支配置。直观地说,拟议的DSTA模块有三种变体:不带DA的DSTA(移除可变形注意部分并使用基本卷积层生成注意图)、不带CA的DSTA(移除通道注意部分)和DSTA(使用两个分支)。实验结果如表5所示。我们可以看到,两种单分支注意设置都能够提高STDF-R3的性能,但都比DSTA的性能差。
Effect of Two-Stage Training. 在这里,我们检查两阶段训练策略的必要性。为了进行公平比较,我们使用相同的优化器和学习率衰减设置来训练模型,使用/不使用两阶段策略。带/不带两个阶段的模型训练结果显示在表4中.我们可以看到,两阶段得到0.14/0.2×10−2的ΔPSNR/ΔSSIM改进(第四排与第三排),这表明了两阶段策略的有效性。
我们还进行了定性比较,并在图9中呈现了几个QP=37的案例。在这里,我们将我们的方法与现有的四种主要方法进行比较:AR-CNN、DnCNN、MFQE 2.0和基线STDF-R3。如图9所示,被压缩的面片(在第二列中)遭受严重的压缩伪影(例如,人体细节缺失),单帧方法无法处理时间噪声,而MFQE 2.0和STDF-R3遭受过度平滑。然而,与其他方法相比,我们的方法恢复了更多的细节或纹理,尤其是快速移动对象边界区域的细节。
在本文中,我们提出了一种新的方法来提高视频压缩伪影减少的性能。我们的方法由两个新模块组成:递归融合(RF)模块和可变形时空注意(DSTA)模块。前者用于在较大的时间范围内从帧中捕获时空信息,而后者旨在突出每个帧中伪影丰富的区域,例如运动对象的边界区域。我们的大量实验表明,我们提出的方法可以实现比最先进的方法优越的性能。所提出的模块也可以很容易地适应现有的多帧方法和与视频相关的低层任务。