使用深度学习来实现图像超分辨率 综述!

        今天给大家介绍一篇图像超分辨率邻域的综述,这篇综述总结了图像超分辨率领域的几方面:problem settings、数据集、performance metrics、SR方法、特定领域应用以结构组件形式,同时,总结超分方法的优点与限制。讨论了存在的问题和挑战,以及未来的趋势和发展方向。

                        论文地址:https://arxiv.org/pdf/1902.06068.pdf

1前言

        超分辨率(Super Resolution,SR)是从给定的低分辨率(LR)图像中恢复高分辨率(HR)图像的过程,是计算机视觉的一个经典应用。SR是指通过软件或硬件的方法,从观测到的低分辨率图像重建出相应的高分辨率图像(说白了就是提高分辨率),在监控设备、卫星图像遥感、数字高清、显微成像、视频编码通信、视频复原和医学影像等领域都有重要的应用价值。

        近年来,目睹了使用深度学习技术的图像超分辨率的显着进步。文中将现有的使用深度学习方法解决图像超分辨率问题的研究工作主要分成三个部分:

  • supervised SR(有监督学习的图像超分辨率)
  • unsupervised SR(无监督学习的图像超分辨率)
  • domain-specific SR (特定应用领域的图像超分辨率)

2超分辨率SR问题定义

LR(低分辨率图像)图像为以下处理过程的输出:

其中,D代表一个退化映射函数,Iy代表相应的HR(高分辨率)图像,δ代表这个映射过程中的一些其他参数(例如:比例因子或者噪声项)多数情况下,只提供LR图像,需要恢复相应的Iy:

其中,F为模型,θ 为模型的参数表示。大多数工作将退化映射建模为单个降采样操作

其中,↓s为比例因子为S的降采样操作,最常用的降采样操作是双三次插值,也有其他方法将退化映射建模为几个操作的组合:

其中,Iy⊗κ代表模糊核k与HR图像之间的卷积操作。nς 为可加的带标准差ς的高斯白噪声,上式与上上式相比,更接近实际情况,对SR更加有利。

因此,SR的目标函数为:

其中,Φ(θ)是正则化项,SR最常见的损失函数为逐像素差的均方误差,更强大的模型往往采用将多种损失函数相结合的方式

3数据集

        一些数据集提供HR-LR图像对,有的只提供HR图像,LR图像通常是通过MATLAB中默认设置的imresize函数(双三次插值with anti-aliasing)获得。下表是一些SR常用数据集:

4图像质量评估

        如何定量地评估模型的性能?许多图像质量评估(IQA)技术(或度量)用于相同的目的。这些指标可以大致分为两类——主观指标和客观指标。

  • 峰值信噪比 PSNR

        峰值信噪比(PSNR)是一种常用的客观指标,通常用来衡量有损变换的图像质量。对于SR,通过图片间的最大可能像素值L和均方误差MSE定义,PSNR与ground truth图像与生成图像的均方误差(MSE)的对数成反比。假设HR图像I和重建图像 ˆ I,两者的像素都是N,MSE和PNSR(db)如下所示:

        在上面的公式中,8bit表示一个像素点的取值,取值范围为0~255,L是可能的最大像素值(对于8位RGB图像,它是255),PSNR的典型值从20到40不等,越高越好。从式子可以看出,L一定,PNSR只与像素间的MSE有关,所以,PSNR只关心像素值之间的差异,它并不能很好地代表感知质量。PSNR在真实场景的SR衡量效果较差,但由于缺乏感知衡量标准,运用最为广泛。

  • 结构相似度 SSIM

        结构相似度(SSIM)是在亮度、对比度和结构三个相对独立比较的基础上,提出的用于测量图像之间结构相似度的指标。抽象地说,SSIM公式可以表示为亮度、对比度和结构比较的加权乘积,分别计算。

式中,α,β和γ分别为亮度、对比度和结构比较函数的权重。常用的SSIM公式表示如下:

        在上面的公式中μ(I)代表了一个特定图像的均值,σ(I)表示了特定图像的方差,σ(I,I’)表示了两张图像的协方差,C1, C2是设置的常量,避免计算的不稳定。SSIM从HVS的角度来评价重建质量,更符合视觉感知,被广泛应用。

        由于图像统计特征可能分布不均或失真,局部评估图像质量比全局更可靠。均值SSIM (MSSIM)是一种局部评估质量的方法,它图像分割成多个窗口,并对每个窗口获得的SSIM进行平均。

  • Operating Channels

        除了RGB,YCbCr颜色空间也被广泛使用。Y, Cb, Cr 分别表示亮度、蓝差、红差色度分量。早期的模型更倾向于在Y通道上进行操作,最近的模型更多的处理RGB颜色通道。在不同的颜色空间或者通道上操作会使评估的性能造成很大的不同。

其他的IQA分数

  • 平均意见评分(MOS)
  • 基于任务的评价
  • 信息保真度准则(IFC)
  • 视觉信息保真度(VIF)

4监督式SR方法

        深度学习可以用给定的低分辨率图像来估计高分辨率图像。通过使用高分辨率图像作为目标(或 ground-truth)和LR图像作为输入,我们可以将其视为监督学习问题。监督式SR方法是同时使用LR和相应的HR图像进行训练。

先来看看主要的算法:

监督式SR方法框架通过上采样模块在模型中的位置,可以将这些模型分为四个框架。

1、前置上采样SR

        该方法首先对低分辨率图像进行插值,得到“粗”的高分辨率图像

直接从LR图像学习HR图像存在一定难度,利用传统方法(双三次插值)上采样,在通过神经网络优化重建高质量的细节,是一种直接的解决方案。SRCNN学习经过插值处理的LR图像到HR图像之间的映射。

优点:通过传统算法进行上采样,神经网络只需要对粗HR图像进行精细化处理,大大降低了学习难度。可以将任意大小的插值处理后的图像作为输入,效果与单尺度模型相当。

预先上采样方法的副作用:噪声放大、模糊、在高维空间计算造成的时间和空间成本大。由于这里没有使用转置卷积,checkerboard artifacts可能会被绕过。

2、后置上采样SR

        在这种情况下,低分辨率图像被传递到CNNs。上采样在最后一层使用可学习层来执行。将上采样操作移至网络末端,在低维空间中学习映射。

        该方法的优点是在较低维空间(上采样前)进行特征提取,从而降低了计算复杂度。此外,通过使用一个可学习的上采样层,可以对模型进行端到端的训练。分辨率提升只在网络后端发生,计算复杂度大大提升。上采样只在一个步骤中进行,学习大的上采样因子的难度很大。每个尺度都需要单独的SR模型,无法满足多尺度SR的需要。

3、逐步上采样SR

        在上面的组中,虽然计算复杂度降低了,但是只使用了一个上采样卷积。这使得大尺度缩放的学习过程更加困难。为了解决这个缺陷,Laplacian Pyramid SR Network和progressive SR采用了渐进上采样的框架。在这种情况下,模型使用级联神经网络在较小的尺度上每一步逐步重建高分辨率的图像。

        通过将一个困难的任务分解成更简单的任务,可以大大降低学习难度,获得更好的性能。此外,像curriculum learning这样的学习策略可以进一步降低学习难度,提高最终的performance。lapSRN 采用渐进式SR框架解决了Post-upsampling SR框架无法满足的多尺度问题。采用连续的神经网络结构,逐步重建高分辨率图片。MS-LapSRN和progressive SR也采用了这个框架。但存在模型复杂、训练难度大的问题。

4、迭代上下采样SR

        另一种流行的模型架构是hourglass(或U-Net)结构。有些变体,如Stacked Hourglass网络使用几个连续的hourglass结构,有效地在上采样和下采样过程之间交替。

        该框架下的模型能够更好地挖掘出低分辨率图像和高分辨率图像对之间的深层关系,从而提供更高质量的重建结果。为了探究LR-HR图像对之间的关系,将一种有效的迭代过程——反向投影引入到SR中,迭代的上采样-下采样操作,迭代的应用反向投影精细化图像。计算重建误差,再将其融合回来调整HR图像的强度。DBPN采用这种结构,将一系列中间HR结果联系起来重构成最后的HR结果。

5上采样方法

        除了模型中的上采样位置外,如何执行上采样也非常重要。尽管存在多种传统的上采样方法,但利用CNN来学习端到端的上采样已逐渐成为一种趋势。在本节中,我们将介绍一些传统的基于插值的算法和基于深度学习的上采样方法。

上采样方法有:

1、最近邻插值和双线性插值

        最近邻插值:每个待插值的位置选择最相邻的像素值,而不考虑其他像素,处理速度快,生成图片质量低、块状化。

        双线性插值:每次在一个轴上进行,然后在另一个轴上再次进行。保持速度较快的同时,性能比最近邻插值好得多。感受野为2*2双三次插值同样,双三次插值对图像的两个维度进行三次插值,需要4x4的像素进行计算,计算速度慢,效果更平滑。anti-aliasing的双三次插值是目前构造SR数据集的主流方法。

          基于插值的上采样方法只能通过图像的本身内容提高图像的分辨率,并没有带来更多信息,相反还有噪声放大、计算复杂度增加、结果模糊等副作用。

2、转置卷积

        通过插入零值,进行卷积来提高图像的分辨率。由于转置卷积在保持与卷积兼容的连接模式的同时以端到端的方式放大了图像大小,因此它被广泛用作SR模型的上采样层。

         然而,该层很容易在每个轴上引起“不均匀重叠”,并且两个轴上的相乘结果进一步创建了大小变化的棋盘状图案,从而损害了SR性能。

3、亚像素层

        通过对卷积产生的多个通道进行reshape,实现上采样。

        与转置卷积层相比,亚像素层具有更大的感受野,它提供了更多的上下文信息以帮助生成更多逼真的细节。然而,由于感受野的分布是不均匀的,并且块状区域实际上共享相同的感受野,因此可能会导致在不同块的边界附近出现一些伪影。另一方面,独立预测块状区域中的相邻像素可能会导致输出不平滑

4、Meta upscale module

        以前的方法需要预先定义缩放因子,即针对不同的因子训练不同的上采样模块,效率低下,而且不符合实际需求。Meta upscale 模块基于元学习解决任意比例因子的SR。具体来说,对于HR图像上的每个目标位置,此模块将其投影到LR特征图上的一个小块(即k ×k×cin),根据密集层的投影偏移和缩放因子预测卷积权重(即,k×k×cin×cout)并执行卷积。

        这样,Meta upscale module可以通过单个模型以任意因子连续放大它。并且由于大量的训练数据(同时训练多个因素),该模块在固定因素上可以表现出相当甚至更好的性能。但是,该方法基于与图像内容无关的多个值来预测每个目标像素的大量卷积权重,因此当面对较大放大倍数时,预测结果可能不稳定且效率较低。

6常用网络结构设计

        除了经典的2D卷积,网络中还可以使用一些有趣的变体来改进结果。Dilated卷积可以提供更有效的感受野,因此可以使用长距离依赖的信息。Skip connections、Spatial Pyramid Pooling和Dense Blocks推动了低级特征和高级特征的结合,以提高性能。

1、Residual Learning

      全局残差学习:由于输入与输出图像高度相关,研究者尝试只学习两幅图像的残差,只需要学习一个残差映射恢复丢失的高频细节,大大降低了模型的复杂度和难度。

      局部残差学习:用于缓解网络不断加深造成的梯度消失、爆炸的问题,增强网络的学习能力。

         由跳跃连接和逐像素加法进行计算,前者连接输入与输出,后者在不同网络层之间进行连接。

2、Recursive Learning

        为了实现更大的感受野和进行更高层次的特征学习并且避免更多的参数,将递归引入模型。16个循环的DRCN采用单卷积层递归,感受野达到41×41,远大于SRCNN的13×13,并且没有过多参数。

        DRRN将残差块作为递归单元进行25次递归,性能优于17个残差块的非递归基线。

       后来Tai等人提出了基于记忆块的MemNet,记忆块由6个递归残块组成,每个递归的输出连接起来,再经过一个额外的1×1卷积进行记忆和遗忘。CARN也采用了包含多个残差块的递归单元。

        Han等提出了双状态递归网络(dual-state network, DSRN)来交换HR状态和LR状态之间的信号。在每个时间步,它们根据当前LR状态和HR状态更新LR状态,然后将其传输到HR状态进行更新。通过双态递归学习(最多7次递归),更好地探索了LR-HR图像对之间的深层关系。而Lai不仅将卷积层作为递归层,还将特征嵌入模块、特征上采样模块和图像上采样模块作为递归模块,对每个子问题共享参数。

递归学习使得参数的数量大大减少,但带来了梯度消失和梯度爆炸的问题。因此通常将残差学习和递归学习结合来缓解这些问题。

3、Multi-path Learning

        多路径学习是指通过模型的多个路径传递特性,这些路径执行不同的操作,以提供更好的建模能力。具体来说,它可以分为三种类型:

Global Multi-path Learning:全局多路径学习是指利用多个路径提取图像不同方面的特征。这些路径在传播过程中可以相互交叉,从而大大提高了特征提取的能力。

LapSRN 包含一种从粗到细预测子带残差的特征提取路径,以及一种基于两种路径信息重构可见HR图像的图像重建路径。

同样,DSRN利用LR路径和HR路径分别在低维空间和高维空间中提取信息。这两条路径不断交换信息,进一步提高学习能力。

Local Multi-path Learning:MSRN采用了一种新的多尺度特征提取块,如上图所示,在该块中,采用核大小为3×3和5×5的两个卷积运算同时提取特征,然后将输出串接起来,再次进行相同的运算,最后再进行一个额外的1×1卷积。,最后再进行一个额外的1×1卷积。跳跃连接通过elementwise加法连接此块的输出和输入。通过这种局部多路径学习,SR模型可以更好地从多个尺度提取图像特征,进一步提高性能。

Scale-specific Multi-path Learning:不同尺度要经历相同的特征提取过程,提出这种结构,来处理单一网络下的多尺度SR问题。具体来说,它们共享模型的主要部分,并在网络的开始端和结束端分别附加特定尺度的预处理路径和上采样路径。在训练期间,只启用与所选比例相对应的路径。通过这种方式,大多数参数可以在不同的尺度上共享。

4、Dense Connections

5、Channel Attention

6、Advanced Convolution

     Dilated Convolution. 空洞卷积,增大感受野,有助于生成逼真的细节

     Group Convolution:群卷积。一些工作已经证明,群卷积可以在性能不高的情况下减少大量的参数和运算,而CARN-M在性能损失很小的情况下将参数数量减少了5倍,运算减少了4倍。

7、Pixel Recursive Learning

大多数SR模型将SR看作是一个像素独立的任务,因此不能合理地获取生成像素之间的相互依赖关系。

受PixelCNN的启发,Dahl等首先提出像素递归学习,利用两个网络分别捕获全局上下文信息和序列生成依赖关系,逐像素生成。虽然这些方法在一定程度上表现出了较好的性能,但是需要较长的传播路径的递归过程大大增加了计算成本和训练难度,特别是对于超分辨率HR图像。

8、Pyramid Pooling

受空间金字塔池层的激励,提出了金字塔池模块,以更好地利用全局和局部上下文信息。

9、Wavelet Transformation

10、Desubpixel

11、xUnit

7常用损失函数

        利用损失函数来测量生成的高分辨率图像与ground truth高分辨率图像之间的差异。然后用这个差(误差)来优化监督学习模型。存在几种类型的损失函数,每一种函数都对生成的图像的不同方面进行惩罚。

        通常,通过对每个损失函数的误差分别加权和求和,可以使用多个损失函数。这使得模型能够同时关注多个损失函数所贡献的方面。

 total_loss = weight_1 * loss_1 + weight_ 2 * loss_2 + weight_3 * loss_3

像素损失

        像素损失是最简单的一类损失函数,其中生成的图像中的每个像素都直接与ground-truth图像中的每个像素进行比较。使用流行的损失函数,如L1或L2损失,或高级变体,如smooth L1损失。

PSNR度量(下面讨论)与像素损失高度相关,因此最小化像素损失可以直接最大化PSNR度量值(表明性能良好)。然而,像素损失并没有考虑到图像质量,而且模型常常输出感知上不令人满意的结果(通常缺乏高频细节)。

内容损失

        这种损失是基于图像的感知质量来评估图像质量的。一种有趣的方法是比较生成的图像和ground truth图像的高层特征。我们可以让图像通过一个预先训练好的图像分类网络(如VGG-Net或ResNet)来获得这些高级特征。

        上面的函数计算ground-truth图像和生成的图像之间的内容损失,给定pre-trained网络(Φ),和第I层的输出,网络计算这两者的损失。这种损失鼓励生成的图像在感知上类似于ground-truth图像。由于这个原因,它也被称为感知损失。

纹理损失

        为了使生成的图像具有与ground-truth图像相同的样式(纹理、颜色、对比度等),使用纹理损失(或样式重建损失)。根据Gatys et. al的描述,图像的纹理被定义为不同特征通道之间的相关性。特征通道通常用预训练的图像分类网络(Φ)来提取。

计算Gram矩阵

    特征图之间的相关关系用Gram矩阵(G)表示,G是矢量化特征图ij在图层I上的内积(见上图)。一旦对两幅图像计算了Gram矩阵,计算纹理损失就很简单,如下图所示:

计算纹理损失

     通过使用这种损失,推动模型来创建真实的纹理和视觉上更令人满意的结果。

Total Variation损失

        利用Total Variation (TV)损失抑制生成图像中的噪声。它取相邻像素之间的绝对差值之和,并测量图像中有多少噪声。对于生成的图像,TV loss计算如下:

这里, i,j,k 分别对高度,宽度和通道进行迭代。

对抗损失

        生成对抗网络(GANs)已越来越多地用于包括超分辨率在内的几种基于图像的应用。GANs通常由两个神经网络组成——生成器和鉴别器——相互竞争。

        给定一组目标样本,生成器尝试生成样本,以欺骗鉴别器,使其相信它们是真实的。鉴别器试图从假(生成的)样本中分辨出真实(目标)样本。使用这种迭代训练方法,我们最终得到一个生成器,它非常擅长生成与目标示例类似的示例。下图显示了一个典型GAN的结构。

        为了提高性能,对基本GAN体系结构进行了改进。例如,Park et. al使用特征级鉴别器来捕捉真实高分辨率图像的更有意义的潜在属性。你可以查看这个blog:https://medium.com/beyondminds/advances-in-geners-adversarialnetworks-7bad57028032?

        通常情况下,进行对抗损失训练的模型具有更好的感知质量,即使它们在PSNR上可能比那些进行像素损失训练的模型要差。一个小缺点是,GAN的训练过程有点困难和不稳定。但是,目前正在积极研究稳定的GAN的训练的方法。

8特定领域的应用

1、深度图超分辨率

        深度图记录了场景中视点和目标之间的距离,深度信息在姿态估计 、语义分割 等许多任务中发挥着重要作用。然而,由于生产力和成本方面的限制,由深度传感器生成的深度图通常分辨率较低,并饱受噪声、量化、缺失值等方面的降级影响。为了提高深度图的空间分辨率,研究人员引入了超分辨率。

2、人脸图像超分辨率

        人脸图像超分辨率(又名 face hallucination,FH)通常有助于完成其它与人脸相关的任务。与一般图像相比,人脸图像拥有更多与人脸相关的结构化信息,因此将人脸先验知识整合到 FH 中是一种非常流行且颇有前景的方法。

3、超光谱图像超分辨率

        与全色图像(panchromatic image,PAN)相比,超光谱图像(HSI)包含数百个波段的高光谱图像,能够提供丰富的光谱特征,帮助完成许多视觉任务。然而,由于硬件限制,不仅是搜集高质量 HSI 比搜集 PAN 难度更大,搜集到的 HSI 分辨率也要更低。因此,该领域引入了超分辨率,研究人员往往将 HR PAN 与 LR HSI 相结合来预测 HR HSI。

4、视频超分辨率

        在视频超分辨率中,多个帧可以提供更多的场景信息,该领域不仅有帧内空间依赖,还有帧间时间依赖(如运动、亮度和颜色变化)。因此,现有研究主要关注更好地利用时空依赖,包括明确的运动补偿(如光流算法、基于学习的方法)和循环方法等。

5、其它应用

        基于深度学习的超分辨率也被应用到其它特定领域的应用中,而且表现出色。尤其是,RACNN 利用 SR 模型增强了用于细粒度分类的 LR 图像细节的可辨性。类似地,感知 GAN 通过超分辨小目标的表征解决了小目标检测问题,实现了与大目标相似的特征,检测更具可辨性。FSR-GAN超分辨化了特征空间而非像素空间中的小图像,将质量较差的原始特征转换成了可辨性更高的特征,这对图像检索非常有利。此外,Dai 等人验证了 SR 技术在若干视觉应用中的有效性和有用性,包括边缘检测、语义分割、数字和场景识别。Huang 等人 开发了专门用于超分辨率遥感图像的 RS-DRL。Jeon 等人 利用立体图像中的视差先验来重建配准中具有亚像素准确率的 HR 图像。

9未来发展方向

1、Network Design(网络结构设计)

        可考虑从如下方面改进网络结构:

  •  Combining Local and Global Information,结合局部和全局信息,大的感受野可以提供更多的纹理信息,这样可生成更加真实的的HR图像。
  •  Combining Low- and High-level Information,结合低层和高层信息,deep CNNs中的较浅层易于抽取如颜色和边缘等低层特征,而较高层更易获得如目标识别等高层次的特征表示,结合低层网络抽取的低层细节信息和高层网络抽取到的高层纹理信息可获得效果更好的HR图像。
  • Context-specific Attention,结合特定内容的注意力机制,增强主要特征可促进生成的HR图像具体更加真实的细节。
  •  Lightweight Architectures,目前网络结构日趋复杂,如何减少模型大小,加快预测时间并保持性能仍然是一个研究课题。
  • Upsampling Layers,如何设计出有效并有效率的上采样层是值得研究的,特别是在放大倍数较大的图像超分辨率问题上。

2.Learning Strategies(学习策略)

        Loss Functions,目前的损失函数是建立于 LR/HR/SR 图像之间的限制并优化层面上的。在实际应用上,通常把这些损失函数进行加权得到,对SR问题来说,最有效的损失函数还不明确。因此,一项有意义的研究工作是,如何找到 LR/HR/SR 图像间的潜在联系并找到更加准确的损失函数。

        Normalization,虽然BN在视觉问题上大量使用,但是在SR问题上,BN并不是最佳的规范化效果,有时使用BN反而会得到不好的效果。因此,在SR领域,其他有效的规范化技术是需要被提出的。

3.Evaluation Metrics(评价方法)

        More Accurate Metrics,传统的PSNR/SSIM图像质量评价方法并不能客观反应图像的主观效果,MOS方法需要大量的人力成本并且不能再现。因此,更加精确的图像质量评价方法亟待提出。

        Blind IQA Methods,目前所提到的SR问题,都是LR-HR图像对做出的,但是,在这类数据集是很难获得的,大部分都是通过人工手段获得的LR-HR图像对。这样,在评价这类问题时,就变成了反向预测退化问题的过程,因此,无依赖的图像质量评价方法是有很大需要的。

4.Unsupervised Super-resolution(无监督图像超分辨率)

     文中提到了一些已有的无监督超分辨率工作:

A. Shocher, N. Cohen, and M. Irani, “zero-shot super-resolution using deep internal learning,” in CVPR, 2018.

A. Bulat, J. Yang, and G. Tzimiropoulos, “To learn image super- resolution, use a gan to learn how to do image degradation first,” in ECCV, 2018.

Y. Yuan, S. Liu, J. Zhang, Y. Zhang, C. Dong, and L. Lin, “Unsu- pervised image super-resolution using cycle-in-cycle generative adversarial networks,” in CVPRW, 2018.

D. Ulyanov, A. Vedaldi, and V. Lempitsky, “Deep image prior,” in CVPR, 2018.

        目前大量的SR方法都是使用Matlab Bicubic方法获得LR图像,用LR-HR作为SR网络的训练数据,这样SR问题会变成预先定义图像退化过程的逆过程,在自然低分辨率图像上应用这类SR方法,效果会很不好。因此,在未来的研究领域,没有LR-HR图像对的无监督图像超分辨率问题是有意义的研究方向。

5.Towards Real-world Scenarios(面向真实场景)

        Image super-resolution在真实场景上,往往会受到“不明确的图像退化过程”,“缺少LR-HR图像对”等的条件限制,使得现有的SR算法难以实际应用。

        Dealing with Various Degradation,解决多种图像退化问题,针对不同方式获得的LR图像。目前已有一部分这方面的工作,但是存在一些固有缺点,如模型难以训练,过于理想的假设条件。

        Domain-specific Applications,特定领域的应用,SR算法不一定非要用于特定领域数据或场景中,SR算法同样可协助处理其他视觉问题,如视频监控、人脸识别、目标跟踪、医学图像、场景渲染等。SR算法可用于这类视觉问题的预处理或后处理。

        Multi-scale Super-resolution,目前大部分SR网络是针对固定放大尺寸训练的,实际应用中,有一定局限性。使用单一网络的进行多尺度图像超分辨率,有一定的研究价值。最近在CVPR 2019上,旷视提出了“Meta-SR: A Magnification-Arbitrary Network for Super-Resolution”:单一模型实现任意缩放因子。是这一研究方向的最新进展。


最后 漫谈图像超分辨率技术   

补充:漫谈图像超分辨率技术     

        作为将模糊的图像变清晰的神奇技术,图像超分辨率技术在游戏、电影、相机、医疗影像等多个领域都有广泛的应用。在这篇文章中,微软亚洲研究院的研究员们为你总结了图像超分辨率问题中的主流方法、现存问题与解决方案。微软亚洲研究院在图像超分辨率领域的相关技术也已在顶级会议发表,并转化入 PowerPoint 产品中,我们将在后续文章中为大家解读。

        近年来,随着高清设备的普及,用户端显示设备的分辨率已经普遍提升到了 2K 甚至更高的水平。相对早期的游戏或电影在上述设备上往往无法得到很好的表现,这促使了很多经典游戏和电影的高清重制工作被提上日程。在整个重制过程中,最核心的就是多媒体素材的高清重建工作,而该部分工作在过去往往只能通过聘请专业的设计师耗费大量的资源来完成。

        近年来,图像超分辨率技术的发展为上述问题提供了一个全新的解决思路。通过图像超分辨率技术,无需耗费大量的资源即可完成多媒体内容的高清重建工作,在上述结果上,设计师仅需进行简单少量的修改即可达到和人工设计相媲美的结果,大大简化了工作的流程,降低了工作的成本。

        另一方面,图像超分辨率技术在相机拍摄过程中也有着广泛的应用。近年来,随着用户对手机拍摄功能的重视,越来越多的厂商将手机的拍摄性能作为一个重要的卖点来进行宣传。特别的,相机的变焦能力作为手机拍摄性能中的一个重要指标往往深受用户的重视,其通常可以分为两部分:光学变焦与数码变焦。其中光学变焦通过调整镜头来对焦距进行调整,由于受限于设备体积的大小,调整能力比较有限。相对的,数码变焦则是通过算法来对图像进行调整,以达到模拟光学变焦的目的,算法的优劣很大程度上决定了数码变焦的倍数以及其结果的好坏。图像超分辨率技术相对于传统的图像插值算法,往往能够提供更大的变焦倍数以及更好的图像质量,近年来广泛被各大手机厂商所采用。如图1所示,图像红框内的局部区域经过数码变焦后的结果依然清晰。

                                          图1:通过图像超分辨率技术进行数码变焦

                                       (左:原始焦距图像,右:数码变焦图像)

        相对于上述领域,图像超分辨率技术在很多专业领域也有应用 。如医疗影像领域,高质量的医疗影像(如X射线图像、计算机断层扫描图像、核磁共振图像)对于精确地诊断患者的病因起到了至关重要的作用,然而高分辨率的医疗成像设备往往非常昂贵。通过图像超分辨率技术,可以在硬件有限的条件下得到更高质量的医疗影像,在便于医生做出更加准确的诊断的同时,也进一步降低了患者的开销。

什么是图像超分辨率?

        图像超分辨率是指从低分辨率图像中恢复出自然、清晰的纹理,最终得到一张高分辨率图像,是图像增强领域中一个非常重要的问题。近年来,得益于深度学习技术强大的学习能力,该问题有了显著的进展。

        低分辨率图像一般通过一系列的退化操作得到,在损失了大量细节的同时,也引入了一系列的噪声。基于深度学习的超分辨率过程本质上就是通过网络模型采用成对的训练数据进行有监督学习的训练,进而拟合上述退化操作的逆操作,得到重建后的高清图像。不难想象,图像超分辨率问题是一个病态问题,对于同样一张低分辨率图像,往往存在多张可行的高分辨率图像。如图2所示,对于同一张大猩猩毛发的低分辨率图像,存在多种合理的高分辨率重建结果。

                          图2:同一张低分辨率图像可对应多张可行的高分辨率重建结果 

基于深度学习的图像超分辨率技术解析

        目前主流的图像超分辨率技术的解决方案可以分为基于单张图像的超分辨率技术和基于参考图像的超分辨率技术,下面将分别对其展开介绍。

基于单张图像的超分辨率是指通过一张输入图像对图像中的高分辨率细节进行重建,最终得到图像超分辨率的结果,是传统图像超分辨率问题中的主流方法。

        在众多方法中,SRCNN 模型 首次将卷积神经网络应用于图像超分辨率技术,相对于传统插值、优化算法在重建质量上取得了极大的提升。如图3所示,该模型使用一个三层的卷积神经网络来拟合从低分辨率图像到高分辨率图像的函数。特别地,该方法在 FSRCNN 模型 中被进一步优化,大大提升了其推理速度。

                                  图3:SRCNN 模型中的三层卷积结构[3]

        图像超分辨率过程实际上是高频纹理信息的生成过程,对于低频部分通常来源于输入的低分辨率图像。然而,SRCNN 模型的特征学习过程不仅要学习生成高频的信息,还需要对低频信息进行重建,大大的降低了模型的使用效率。针对于此,VDSR 模型 首次提出了残差学习的网络结构。如图4所示,通过一个残差连接(蓝色箭头)将输入图像直接加到最终的重建高频残差上,可以显著的提升模型的学习效率。

                                   图4:VDSR 模型中的残差学习结构 

        不难发现,上述方法均是先对输入的低分辨率图像进行上采样,然后再将其送入模型行进行学习,这种做法在降低了模型的推理速度的同时也大大增加了内存的开销。如图5所示,EPSCN 模型 首次提出了子像素卷积操作,在网络的最后才将学习得到的特征进一步放大到目标大小,大大提升了模型的训练效率,也使得更深卷积通道数更多的模型的训练成为了可能。

                                            图5:ESPCN 模型中的子像素卷积操作

        为了进一步提升模型的表达能力,如图6所示,SRResNet 模型 首次将被广泛应用于图像分类任务中的残差模块引入到了图像超分辨率问题中,取得了很好的结果。此外,EDSR 模型  针对上述网络结构提出了进一步的优化,通过去掉残差模块中的批量归一化层和第二个激活层,进一步提升了模型的性能。

                                  图6:SRResNet 模型中的残差模块结构 

        近年来,还有很多其他方法从模型的角度进行优化。如,SRDenseNet 模型 和 RDN 模型  引入了稠密卷积模块,RCAN 模型 引入了通道注意力机制,SAN 模型 引入了二阶统计信息等,上述方法均取得了非常好的结果。

        如前文所述,图像超分辨率问题是一个病态的问题,通过单纯的使用平均平方误差或平均绝对误差损失函数进行训练的模型往往会输出模糊的图像。这是因为在整个训练过程中,模型的优化得到的最优解实际上是所有可行解的一个平均值。

        针对上述问题,被广泛应用于图像风格迁移的感知损失函数和风格损失函数被分别引入图像超分辨率问题中,某种程度上缓解了上述问题。另一方面,对抗生成损失函数在图像生成模型中取得了很好的结果,SRGAN 模型 首次将其应用于图像超分辨率问题,大大的提升了重建图像的真实感。

        然而上述方法仍存在一定的问题,主要是由于生成对抗网络所依赖的模型能力有限,往往很难对自然界中的全部纹理进行表达,因此在某些纹理复杂的地方会生成错误的纹理(如图7中的文字部分),带来不好的观感。

                          图7:基于对抗生成损失函数的错误纹理生成问题 

        针对单张图像超分辨率技术中生成对抗损失函数引入的错误纹理生成问题,基于参考图像的超分辨率技术为该领域指明了一个新的方向。基于参考图像的超分辨率,顾名思义就是通过一张与输入图像相似的高分辨率图像,辅助整个超分辨率的复原过程。高分辨率参考图像的引入,将图像超分辨率问题由较为困难的纹理恢复/生成转化为了相对简单的纹理搜索与迁移,使得超分辨率结果在视觉效果上有了显著的提升。

        Landmark 模型 通过图像检索技术,从网络上爬取与输入图像相似的高分辨率图像,再进一步通过图像配准操作,最终合成得到对应的超分辨率结果,其算法流程如图8所示。

                                             图8:Landmark 模型的算法流程图 

         CrossNet 模型 进一步优化上述图像配准过程,提出了基于光流估计的模型结构。如图9所示,该模型通过估计输入低分辨率图像与参考图像之间的光流来对超分辨率图像进行重建。最终结果的优劣很大程度上依赖于光流计算的准确与否,而这要求输入的低分辨率图像与参考图像在视角上不能存在很大的偏差,大大限制了上述模型的适用性。

                              图9:CrossNet 模型的光流估计与图像编解码结构 

        针对上述问题,最近发表的 SRNTT 模型 提出了基于图像块的全局搜索与迁移模块,取得了非常不错的结果。该模型通过在不同尺度上对输入低分辨率图像与高分辨率参考图像中的相似图像块进行全局的搜索与迁移,上述过程可以很好地通过高分辨率的参考图像中的高频纹理对输入低分辨率图像进行表达,进而得到非常真实的超分辨率结果。

图像超分辨率技术与 Microsoft 365

        上文中提到的现有图像超分辨率技术在实际应用中仍存在较大的问题,特别是在面对分辨率较小的输入图像时(如小于200x200的图像),其得到的结果很难令人满意。另一方面,对于用户日常从网络上收集得到的图像素材,低分辨率的插图是十分常见的。直接通过上述算法得到的结果,其图像质量通常难以被用户所接受,并不能在实际的生产场景中带来很好的用户体验。

        微软亚洲研究院针对这一问题提出了一套全新的图像超分辨率解决方案,在技术上全面领先的同时,该科研成果还将进一步集成进 Microsoft 365 中 PowerPoint 产品的 Design Ideas 模块中,该模块通过人工智能技术,为用户提供各种在幻灯片制作过程中的建议与帮助,提升用户幻灯片制作的效率与最终成品的质量。如图10所示,当用户插入一张低分辨率的图像时,会自动触发 Design Ideas 模块,一旦用户确认使用图像超分辨率技术进行图像增强,原始的低分辨率图像将立即被一张高分辨率的图像所替代,整个过程耗时极低,实际效果却有着很大的提升。

                   图10:通过 PowerPoint 中的 Design Ideas 模块提升用户的图像质量

               (上:用户插入的低分辨率图像放大结果,下:超分辨率后图像放大结果)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/949832.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

直播预告|StarRocks 3.4,打造 AI 时代的智能数据基座,应用场景全面扩展

随着新年的到来,StarRocks 3.4 即将上线,为 AI Workload 和更多应用场景提供强大支持!此次升级聚焦于提升 AI 场景支持,并扩展更多应用场景,全方位提升数据分析体验。 更强的 AI 场景支持: 引入 Vector In…

【GOOD】A Survey of Deep Graph Learning under Distribution Shifts

深度图学习在分布偏移下的综述:从图的分布外泛化到自适应 Northwestern University, USA Repository Abstract 图上的分布变化——训练和使用图机器学习模型之间的数据分布差异——在现实世界中普遍存在,并且通常不可避免。这些变化可能会严重恶化模…

【微服务】5、服务保护 Sentinel

Sentinel学习内容概述 Sentinel简介与结构 Sentinel是Spring Cloud Alibaba的组件,由阿里巴巴开源,用于服务流量控制和保护。其内部核心库(客户端)包含限流、熔断等功能,微服务引入该库后只需配置规则。规则配置方式有…

神经网络的进展与挫折

神经网络的概念可追溯到上世纪40年代,当时被认为是一种模拟大脑神经元网络的计算系统。 1940年代,麦卡洛克(McCulloch)和沃尔特皮茨(Walter Pitts)率先提出了受人类大脑和生物神经网络启发的人工神经网络。 1951年,马文明斯基(Marvin Minsky)的SNARC系统标志着第一个…

搭建企业AI助理的创新应用与案例分析

在大健康零售行业,企业面临着日益增长的市场需求和复杂的供应链管理挑战。AI助理的应用不仅能够提升客户服务效率,还能优化供应链管理,降低运营成本。 一、AI助理在大健康零售行业的创新应用 个性化健康咨询 AI助理可以通过分析客户的健康…

一文读懂「LoRA」:大型语言模型的低秩适应

LoRA: Low-Rank Adaptation of Large Language Models 前言 LoRA作为大模型的微调框架十分实用,在LoRA出现以前本人都是通过手动修改参数、优化器或者层数来“炼丹”的,具有极大的盲目性,但是LoRA技术能够快速微调参数,如果LoRA…

接口项目操作图-thinkphp6-rabbitmq

一、用户开户流程 用户首次需要联系商务开通账户,需要提供手机号及来访问的IP。开好户之后,平台方将提供用户访问的key值及header头部参数的公钥加密文件、body访问参数以及返回数据的公私钥加解密文件。 二、用户请求流程 用户将拿到的key值进行rsa公钥…

程序环境及预处理

一.程序的翻译环境和执行环境 在ANSI C(标准c)的任何一种实现中,存在两个不同的环境。 计算机是能够执行二进制指令的,但是我们写出的c语言代码是文本信息,计算机不能直接理解 第1种是翻译环境,在这个环境…

回顾 Tableau 2024 亮点功能,助力 2025 数据分析新突破

2024 年,Tableau 用更智能、更高效的工具,重新定义了数据分析的可能性。 回顾 2024 年,Tableau 凭借一系列创新功能,在数据可视化与分析领域再次引领潮流。无论是深度整合 AI 技术,还是优化用户体验的细节,…

【姿态估计实战】使用OpenCV和Mediapipe构建锻炼跟踪器【附完整源码与详细说明】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

快速上手Python,制作趣味猜数字游戏

在编程学习的旅程中,游戏是一个极佳的切入点。今天,我们将一起创建一个简单而有趣的猜数字游戏,借此机会深入学习Python编程的基础知识和一些实用的编程技巧。无论你是初学者还是有一定基础的开发者,相信你都能从中获得乐趣和收获…

AI驱动的可演化架构与前端开发效率

1. 引言 在当今快节奏的数字时代,软件系统需要具备强大的适应能力才能在瞬息万变的市场需求中保持竞争力。软件可演化架构的重要性日益凸显,它能够让软件系统在面对需求变更、技术升级以及市场波动时,能够快速、高效地进行调整和升级&#x…

用豆包MarsCode IDE打造精美数据大屏:从零开始的指南

原标题:用豆包MarsCode IDE,从0到1画出精美数据大屏! 豆包MarsCode IDE 是一个云端 AI IDE 平台,通过内置的 AI 编程助手,开箱即用的开发环境,可以帮助开发者更专注于各类项目的开发。 作为一名前端开发工…

基于RK3568/RK3588大车360度环视影像主动安全行车辅助系统解决方案,支持ADAS/DMS

产品设计初衷 HS-P2-2D是一款针对大车盲区开发的360度全景影像 安全行车辅助系统,通过车身四周安装的超广角像机,经算法合成全景鸟瞰图,通过鸟瞰图,司机非常清楚的看清楚车辆四周情况,大大降低盲区引发的交通事故。 产…

pygame飞机大战

飞机大战 1.main类2.配置类3.游戏主类4.游戏资源类5.资源下载6.游戏效果 1.main类 启动游戏。 from MainWindow import MainWindow if __name__ __main__:appMainWindow()app.run()2.配置类 该类主要存放游戏的各种设置参数。 #窗口尺寸 #窗口尺寸 import random import p…

c++ 两线交点计算程序(Program for Point of Intersection of Two Lines)

给定对应于线 AB 的点 A 和 B 以及对应于线 PQ 的点 P 和 Q,找到这些线的交点。这些点在 2D 平面中给出,并带有其 X 和 Y 坐标。示例: 输入:A (1, 1), B (4, 4) C (1, 8), D (2, 4) 输出:给定直线 AB 和…

Taro+react 开发第一节创建 带有redux状态管理的项目

Taro 项目基于 node,请确保已具备较新的 node 环境(>16.20.0),推荐使用 node 版本管理工具 nvm 来管理 node,这样不仅可以很方便地切换 node 版本,而且全局安装时候也不用加 sudo 了。 1.安装 npm inf…

2024AAAI SCTNet论文阅读笔记

文章目录 SCTNet: Single-Branch CNN with Transformer Semantic Information for Real-Time Segmentation摘要背景创新点方法Conv-Former Block卷积注意力机制前馈网络FFN 语义信息对齐模块主干特征对齐共享解码头对齐 总体架构backbone解码器头 对齐损失 实验SOTA效果对比Cit…

代码随想录 数组test5(leetcode 59.螺旋矩阵)

59. 螺旋矩阵 II - 力扣(LeetCode) 大致的想法是从起点开始以顺时针走到中心,有两种实现方式:一圈一圈赋值或者每走一步就赋值 方法一:按圈循环 思路: 外层循环是要循环的圈数,这里需要分奇偶讨论,若题目给出的n为偶…

向成电子XC3588H工控主板助力内窥镜应用升级

随着微创手术在全球范围内普及,内窥镜应用越来越广泛。利用内窥镜,医生可以看到X射线不能显示的病变,对医疗诊断有非常重要的作用。内窥镜设备凝聚了先进的影像技术,提供高画像精度诊断微小的病变。在设备智能化的今天&#xff0c…