• 基于卷积神经网络的视频超分辨率


    Video Super-Resolution With Convolutional Neural Networks

    摘要:卷积神经网络(CNN)是一种特殊的深度神经网络(DNN)。迄今为止,它们已成功应用于图像超分辨率(SR)以及其他图像恢复任务。在本文中,我们考虑了视频超分辨率问题。我们提出了一种在视频的空间和时间维度上训练的CNN,以提高其空间分辨率。连续帧经过运动补偿并用作CNN的输入,CNN提供超分辨率视频帧作为输出。我们研究了在一个CNN架构中组合视频帧的不同选项。虽然大型图像数据库可用于训练深度神经网络,但更具挑战性的是创建足够质量的大型视频数据库来训练用于视频恢复的神经网络。我们表明,通过使用图像预训练我们的模型,一个相对较小的视频数据库就足以使我们的模型训练达到甚至改进当前的技术水平。我们将我们提出的方法与当前的视频和图像SR算法进行了比较。

    I. INTRODUCTION

    图像和视频或多帧超分辨率是估计低分辨率图像或视频序列的高分辨率版本的过程。它已经被研究了很长时间,但随着新一代超高清(UHD)电视(3840×2048)的出现,它变得更加流行。大多数视频内容在超高清分辨率下不可用。因此,需要SR算法从全高清(FHD)(1920×1080)或更低分辨率生成超高清内容SR算法可分为两类,基于模型的算法和基于学习的算法。基于模型的方法[1]–[5]将低分辨率(LR)图像建模为具有加性噪声的高分辨率(HR)图像的模糊、二次采样版本。从LR图像重建HR图像是不适定问题,因此需要正则化。在贝叶斯框架中,引入控制图像平滑度或总变化的先验,以获得重建的HR图像。例如,Babacan等人[1]利用贝叶斯框架从多个LR观测中重建HR图像,并在其中进行旋转和平移。Belekos等人[2] 和后来Liu和Sun[3]还使用贝叶斯框架推导出一种能够处理复杂运动和真实世界视频序列的算法。通过所有这些算法,运动场和HR重建图像以及额外需要的模型参数都可以从观测数据中同时估计。Ma等人[5]提出了一种算法,将相同的思想扩展到处理运动模糊。

    基于学习的算法从HR和LR图像对的大型训练数据库中学习表示[6]–[11],或利用图像内的自相似性[10]–[13]。基于词典的方法利用了这样的假设,即自然图像块可以稀疏地表示为所学词典块或原子的线性组合。Y ang等人[6]是最早使用两个耦合字典学习LR和HR图像之间非线性映射的人之一。[7]–[10]、[13]表示了[6]的改进和变化。Song等人[14]提出了一种视频超分辨率的字典方法,在这种方法中,字典是动态学习的。然而,作者假设HR中稀疏存在的关键帧可用。基于学习的方法通常学习面片的表示,因此也可以逐个面片重建图像。为了避免沿面片边缘出现伪影,使用了重叠面片,这会导致相当大的计算开销。

    CNN最近取得的成功[15]、[16]的启发,出现了基于深度神经网络的新一代图像SR算法[17]–[21],具有非常有前途的性能。通过使用GPU加速计算的并行化,可以有效地完成CNN的训练。神经网络能够从大型训练数据库(如ImageNet[22])中进行处理和学习,而在这种规模的数据集上训练词典可能具有挑战性。此外,一旦CNN被训练,图像的超分辨率是一个纯粹的前馈过程,这使得基于CNN的算法比传统方法快得多。在本文中,我们介绍了一个用于视频SR的CNN框架。

    在分类和检索领域,CNN已经成功地在视频数据上进行了训练[23]、[24]。出于恢复目的的训练仍然是一个具有挑战性的问题,因为训练数据库的视频质量要求很高,因为CNN的输出是实际视频,而不仅仅是一个标签。用于SR任务的合适视频未压缩,功能丰富,应以镜头\场景分隔。我们表明,通过用图像对CNN进行预训练,我们可以绕过大型视频数据库的创建。我们提出的算法只需要一个小的视频数据库进行训练,就可以获得非常有前途的性能。

    所提出的CNN使用多个LR帧作为输入来重构一个HR输出帧。在CNN架构中,有几种提取时间信息的方法。我们研究了组合帧的不同变体,并展示了这些变体的优缺点。我们的主要贡献可以总结为以下几个方面:

    我们介绍了一个基于CNN的视频SR框架;我们提出了三种不同的架构,每次修改参考SR CNN架构的不同层;我们提出了一种预训练过程,在此过程中,我们在图像上训练参考SR架构,并利用得到的滤波器系数初始化视频SR架构的训练。这提高了视频SR架构在准确性和速度方面的性能;我们引入了滤波器对称强制,在不牺牲重建视频质量的情况下,将VSRnet的训练时间减少了近20%;我们应用自适应运动补偿方案来处理视频中快速移动的对象和运动模糊。

    The Caffe [41] model as well as the training and testing protocols are available at http://ivpl.eecs.northwestern.edu/software.

    论文的其余部分组织如下。在第二节中,我们简要介绍了深度学习,并回顾了现有的基于深度学习的图像SR技术。在第三节中,我们将解释我们提出的框架。第四节包含我们的结果及其评估,第五节总结本文。

    II. RELA TED WORK

    A. Super-Resolution

    大多数最先进的图像SR算法是基于学习的算法,使用耦合字典[6]–[9]学习LR和HR面片之间的非线性映射。在HR和LR图像块上联合训练 HR字典和LR字典。每个LR图像块可以表示为LR字典中原子的稀疏线性组合。字典通过公共系数即表示权重进行耦合。可以使用标准稀疏编码技术(如K-SVD[25])找到字典和系数。然后,可以通过查找观察到的LR面片的稀疏系数并将其应用于HR字典来恢复HR面片。Timofte等人[10]考虑用几个较小的完整字典替换单个大型过完备字典,以消除计算成本高昂的稀疏编码步骤。这导致了在保持重建精度的同时显著更快的算法。Schulter等人最近提出了[10]的一个变体[11]。训练随机森林模型,而不是LR到HR斑块映射的耦合字典。Glasner等人[13]没有从样本图像中学习词典。相反,他们创建了一组具有不同缩放因子的LR图像的缩小版本。然后,将LR图像中的面片与缩小后的面片匹配,并使用其HR“父”面片构建HR图像。基于学习的算法,尽管在图像SR中很流行,但在视频SR中并没有得到很好的探索。在[14]中,基于词典的算法应用于视频SR。假设视频包含稀疏重复的HR关键帧。从这些关键帧动态学习字典,同时恢复HR视频帧。

    多帧SR的许多早期工作集中于使用贝叶斯框架[1]–[4]从一系列LR图像重建一幅HR图像。通过对HR图像进行模糊和二次采样,然后对每个LR图像应用不同的运动(如平移和旋转),获得LR图像。这些算法通常解决两个问题:配准估计,其中估计LR图像之间的运动;图像恢复,其中使用第一步中恢复的信息估计HR图像。贝叶斯视频SR方法[2]、[3]遵循相同的概念,但使用更复杂的光流算法[3]或分层块匹配方法[2]来找到运动场,以便能够处理具有更复杂运动方案的真实世界视频。Ma等人[5]扩展了前面提到的工作,以便处理具有运动模糊的视频。他们引入了时间相对锐度先验,排除了严重模糊的像素。由于图像恢复过程是一个不良发布问题,因此引入了图像先验,如总变化的约束[26],然后使用贝叶斯框架恢复HR图像。[27]中介绍了传统运动估计和图像恢复方案的替代方法。代替显式运动估计,提出了一种三维迭代转向核回归。视频在重叠的3D立方体(时间和空间)中分割和处理。然后,该方法通过使用3D泰勒级数近似立方体中的像素来恢复HR图像。

    大多数视频SR算法依赖于LR帧之间的精确运动估计。文献中有大量技术用于估计密集运动场[28]–[30]。光流技术假设光流随时间保持不变。该信息用于形成连接空间梯度和时间梯度的光流方程。假设光流局部恒定,求解超定方程组,以亚像素精度确定每个像素的平移运动分量。

    B. Deep Learning-Based Image Reconstruction

    DNN已经在许多图像分类和识别基准上实现了最先进的性能,包括ImageNet大规模视觉识别挑战赛(ILSVRC-2012)[15]、[16]。然而,它们在图像重建中的应用还不是很广泛,更不用说在视频重建任务中了。使用DNN进行图像重建的研究包括去噪[31]–[33]、刺穿[31]、去模糊[34]和雨滴去除[35]。在[17]–[21]中,深度学习应用于图像SR任务。Dong等人[17]指出,基于字典的SR算法的每一步都可以重新解释为深层神经网络的一层。用具有n个原子的字典表示大小为f×f的图像块可以被解释为应用具有大小为f×f核在输入图像上,其又可以在CNN中实现为卷积层。因此,他们创建了一个CNN,通过使用具有两个隐藏层和一个输出层的纯卷积神经网络,直接学习从LR到HR图像的非线性映射。第III-A节更详细地描述了他们的方法。

    Wang等人[19]介绍了一种基于面片的方法,其中卷积自动编码器[36]用于在33×33像素、平均减法、归一化LR\/HR面片对上预训练SR模型。然后根据训练块的相似性对训练块进行聚类,并在每个聚类的自相似块对上微调一个子模型。与使用标准全连接自动编码器的[18]不同,他们使用基于卷积的自动编码器,利用图像的二维数据结构。训练数据通过平移、旋转和不同的缩放因子进行增强,以使模型能够学习更多具有视觉意义的特征。虽然这一措施确实增加了训练数据集的大小,但这些增强在真实图像超分辨率任务中并不存在。此外,尽管使用了卷积结构,但由于子模型的原因,图像必须逐块处理,而我们提出的算法不需要这样做。

    Cui等人[18]提出了一种算法,可将LR图像的分辨率逐渐提高到所需分辨率。它由级联的协作本地自动编码器(CLA)组成。首先,在级联的每一层中执行非局部自相似搜索(NLSS),以重建图像的高频细节和纹理。然后由自动编码器处理生成的图像,以消除NLSS步骤引入的结构失真和误差。该算法适用于7×7像素重叠的面片,这会导致计算开销。此外,与[17]和我们提出的算法相反,该方法不是设计为端到端解决方案,因为级联每层的CLA和NLS必须独立优化

    Cheng等人[20]介绍了一种使用全连接层的基于补丁的视频SR算法。该网络有两层,一个隐藏层和一个输出层,并使用5个连续的LR帧重建一个中心HR帧。视频是逐块处理的,其中网络的输入是5×5×5体积,输出是HR图像重建的3×3块。通过使用参考面片和相邻帧进行块匹配,找到5×5面片或相邻帧。与我们提出的SR方法相反,[18]和[20]不使用卷积层,因此不利用图像的二维数据结构

    Liao等人[21]采用了类似的方法,包括对多个帧进行运动补偿,并使用卷积神经网络组合帧。他们的算法分两个阶段工作。在第一阶段中,使用两种运动补偿算法(具有9种不同的参数设置)来计算SR草图,以处理运动补偿误差。在第二阶段,使用CNN组合所有草稿。然而,计算每帧的若干运动补偿在计算上非常昂贵。我们提出的自适应运动补偿只需要一个补偿,并且仍然能够处理强运动模糊(见图10)

    III. VIDEO SUPER-RESOLUTION WITH CONVOLUTIONAL NEURAL NETWORK

    A. Single Frame/Image Super-Resolution

    在开始训练视频SR模型之前,我们先在图像上预训练模型权重。对于图像预训练,我们使用图像SR的模型,此后称为参考模型,具有[17]中提出的网络架构参数。它只有卷积层,其优点是输入图像可以是任何大小,并且算法不基于面片。设置如图1所示。其中Y表示输入LR图像,X表示输出HR图像。它由三个卷积层组成,其中两个隐藏层H1和H2后面跟着一个整流线性单元(ReLU)[37]。第一卷积层由1×f1×f1×C1滤波器系数组成,其中f1×f1是核大小,C1是第一层中的核数。我们使用此符号表示第一维度由输入图像的数量定义,对于图像SR的情况为1。第二层和第三层的滤波器尺寸分别为C1×f2×f2×C2。最后一层只能有一个内核,以便获得图像作为输出。否则,需要一个具有一个内核的附加层,否则需要一个后处理或聚合步骤。输入图像Y被双三次上采样,使得输入(LR)图像和输出(HR)图像具有相同的分辨率。这是必要的,因为不可能使用标准卷积层进行上采样。典型的图像分类体系结构通常包含合并层和归一化层,这有助于创建对输入图像的小偏移和失真保持不变的压缩层输出。在SR任务中,我们感兴趣的是创建更多的图像细节,而不是压缩它们。因此,引入池化和规范化层将适得其反。该模型基于从ImageNet检测数据集[38]的图像中提取的面片进行训练,该数据集由约400000幅图像组成。

    B. Video Super-Resolution Architectures

    已经证明,对于基于模型的方法,将相邻帧包括在恢复过程中有利于视频SR[2]–[4]。在恢复过程中对帧之间的运动进行建模和估计,并且由于帧之间的子像素运动而获得附加信息。如果训练过程中包含多个帧,这些附加信息也可以通过这些区别很小的帧被基于学习的方法捕获。

    对于视频SR架构,我们将相邻帧包括在过程中。图2显示了将上一帧和下一帧合并到流程中的三个选项。为了简单起见,我们只展示了三个输入帧的架构,即前一个(t− 1) 当前(t)和下一(t+1)帧。显然,可以容纳任何数量的过去和未来帧(例如,我们在实验部分使用五个输入帧)。为了使用多个前向和后向帧,可以使用更多分支扩展图2中的架构。单个输入帧的尺寸为1×M×N,其中M和N分别是输入图像的宽度和高度。对于(a)中的架构,在应用第一卷积层之前,三个输入帧沿第一维度串联。第1层的新输入数据是三维的,大小为3×M×N。我们可以以类似的方式在第一层之后组合帧,如架构(b)所示。第1层的输出数据再次沿第一维度连接,然后用作第2层的输入。在架构(c)中,第1层和第2层分别应用,数据在第2层和第3层之间连接。对于视频SR架构,不仅数据大小更大,而且滤波器维度也更大。第一层架构(a)的新滤波器维数为3×f1×f1×C1,因为现在我们有3个输入帧。层2和3的尺寸不变。在架构(b)中,第2层的滤波器系数增加到3C1×f2×f2*C2,而第1层和第3层保持不变。类似地,对于架构(c),层3的新滤波器维度为3C2×f3×f3×1。

    ......

    E. Motion Compensation

    我们测试了许多光流估计算法[28]。运动估计的准确性和执行速度都需要被考虑到。我们选择了Druleas算法[30]作为我们的框架。该算法采用局部-全局结合总变分方法(CLG-TV),即使存在大位移,也能获得良好的结果。

    1) Adaptive Motion Compensation:如果视频中出现大运动或运动模糊,则运动补偿可能很困难。这可能会在HR重建中导致不期望的边界效果和伪影,因此会降低性能。我们提出了一种自适应运动补偿(AMC)方案,在配准错误的情况下减少相邻帧对重建的影响。根据以下等式应用运动补偿:

     

  • 相关阅读:
    【分布式服务架构】常用的RPC框架
    React基础学习-Day04
    JS中应优先书写函数声明还是函数表达式?
    Spring MVC里的DispatchServlet(结合Spring官网翻译)
    在比特币上使用可检索性证明支付存储费用
    百趣代谢组学资讯:@熬夜的年轻人代谢紊乱急救包-喝普洱茶!
    C语言回顾(可变参数篇)
    STM32笔记1-库函数模板工程创建
    零数科技受邀出席2019全球未来出行大会
    CAN FD canfd适配器USBCANFD的功能简介
  • 原文地址:https://blog.csdn.net/mytzs123/article/details/126164583