热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

matlabe基于残差学习的图像去噪_黄浴:基于深度学习的超分辨率图像技术发展轨迹一览...

作者|黄浴转载自知乎导读:近年来,使用深度学习技术的图像超分辨率(SR)取得了显著进步。本文中,奇点汽车自动驾驶首席科学家黄浴对基于深度学
dc4450aee17db76edd6e2d92400f02ea.png

作者 | 黄浴

转载自知乎

导读:近年来,使用深度学习技术的图像超分辨率(SR)取得了显著进步。本文中,奇点汽车自动驾驶首席科学家黄浴对基于深度学习技术的图像超分辨率技术进行了一次全面的总结,分析了这门技术近年来的发展轨迹。

我们一般可以将现有的 SR 技术研究大致分为三大类:监督 SR ,无监督 SR 和特定领域 SR (人脸)。

监督SR

如今已经有各种深度学习的超分辨率模型。这些模型依赖于有监督的超分辨率,即用LR图像和相应的基础事实( GT )HR 图像训练。 虽然这些模型之间的差异非常大,但它们本质上是一组组件的组合,例如模型框架,上采样方法,网络设计和学习策略等。从这个角度来看,研究人员将这些组件组合起来构建一个用于拟合特定任务的集成 SR 模型。

由于图像超分辨率是一个病态问题,如何进行上采样(即从低分辨率产生高分辨率)是关键问题。基于采用的上采样操作及其在模型中的位置, SR 模型可归因于四种模型框架:预先采样 SR ,后上采样 SR ,渐进上采样 SR 和迭代上下采样 SR ,如图所示。

01d4218e5ce5e7ca576772f5c3a6229d.png
237bd6931dd93026261572446948dd02.png

除了在模型中的位置之外,上采样操作如何实现它们也非常重要。为了克服插值法的缺点,并以端到端的方式学习上采样操作,转置卷积层(Transposed Convolution Layer)和亚像素层(Sub-pixel Layer)可以引入到超分辨率中。

转置卷积层,即反卷积层,基于尺寸类似于卷积层输出的特征图来预测可能的输入。具体地说,它通过插入零值并执行卷积来扩展图像,从而提高了图像分辨率。为了简洁起见,以 3×3 内核执行 2 次上采样为例,如图所示。首先,输入扩展到原始大小的两倍,其中新添加的像素值被设置为 0(b)。然后应用大小为 3×3、步长 1 和填充 1 的内核卷积(c)。这样输入特征图实现因子为2 的上采样,而感受野最多为 2×2 。

156d4726fc5ed59b6d57053fac79f1b1.png

由于转置卷积层可以以端到端的方式放大图像大小,同时保持与 vanilla 卷积兼容的连接模式,因此它被广泛用作 SR 模型的上采样层。然而,它很容易在每个轴上产生“不均匀重叠(uneven overlapping)”,并且在两个轴的乘法进一步产生了特有的不同幅度棋盘状图案,从而损害了 SR 性能。

亚像素层也是端到端学习的上采样层,通过卷积生成多个通道然后重新整形,如图所示。首先卷积产生具有 s2 倍通道的输出,其中 s 是上采样因子(b)。假设输入大小为 h×w×c ,则输出大小为 h×w×s2c。之后,执行整形( shuffle )操作产生大小为 sh×sw×c 的输出(c)。感受野大小可以达到 3×3 。

a4ca79f3c1e55a56c103f3d0e33ba8c4.png

由于端到端的上采样方式,亚像素层也被 SR 模型广泛使用。与转置卷积层相比,亚像素层的最大优势是具有较大的感知场,提供更多的上下文信息,能帮助生成更准确的细节。然而,亚像素层的感受野的分布是不均匀的,块状区域实际上共享相同的感受野,这可能导致在块边界附近的一些畸变。

各种深度学习的模型已经被用于 SR ,如图所示。

18f6b0e7a13a495e27067274da9691db.png

ResNet 学习残差而不是彻底的映射,已被 SR 模型广泛采用,如上图(a)所示。其中,残差学习策略可以大致分为两种类型,即全局和局部残差学习。

由于超分辨率是图像到图像的转换任务,其中输入图像与目标图像高度相关,全局残差学习仅学习两个图像之间的残差。在这种情况下,它避免学习从完整图像到另一个图像的复杂转换,而只需要学习残差图来恢复丢失的高频细节。由于大多数区域残差接近于零,模型的复杂性和学习难度都大大降低。这种方法在预上采样的 SR 框架普遍采用。

局部残差学习类似于 ResNet 的残差学习,用于缓解不断增加的网络深度引起的退化问题并提高学习能力。

实践中,上述方法都是通过快捷连接(通常有小常数因子的缩放)和逐元素加法操作实现的。区别在于,前者直接连接输入图像和输出图像,而后者通常在不同深度的网络中层之间添加多个快捷方式。

• 递归学习

递归学习(以递归方式多次应用相同模块)也被超分辨率采用,如上图 (b)所示。在实践中,递归学习固有地带来了消失(vanishing)或爆涨(exploding)梯度问题,因此残差学习和多信号监督等一些技术通常与递归学习相结合,以减轻这些问题。

• 通道关注

考虑到不同通道之间特征表征的相互依赖和作用,一种“挤压-激发(SAE,squeeze-and-excitation)”模块明确对通道相互依赖性建模,来提高表示能力,如上图(c)所示。其中用全局平均池化将每个输入通道压缩到通道描述子(即一个常数)中,然后将这些描述子馈送到两个全连接层产生通道尺度因子。基于通道乘法,用尺度因子重新缩放输入通道得到最终输出。

• 致密连接

致密连接在视觉任务中变得越来越流行。在致密块的每个层,所有前层的特征图用作输入,并且其自身特征图用作所有后续层的输入,在一个有 l 层致密块中带来 l·(l - 1)/ 2 个连接。致密连接,不仅有助于缓解梯度消失问题、增强信号的传播并促进特征重用,而且在连接之后采用小增长率(即致密块的通道数)和通道缩减来大大减少参数量。

为了融合低级和高级特征以提供更丰富的信息来重建高质量的细节,致密连接被引入 SR 领域,如上图(d)所示。

• 多路径学习

多路径学习指模型存在多个路径传递特征,这些路径执行不同的操作以提供更好的建模功能。具体而言,它可以分为三种类型:全局法、局部法和特定尺度法。

全局多路径学习是指用多个路径提取图像不同方面的特征。这些路径可以在传播中相互交叉,从而大大增强了特征提取的能力。

本地多路径学习用新块进行多尺度特征提取,如上图(e)所示。该块采用不同内核大小的卷积同时提取特征,然后将输出连接起来并再次进行相同的操作。快捷方式通过逐元素添加来连接该块的输出和输入。通过这种局部多路径学习,SR 模型可以更好地从多个尺度提取图像特征,进一步提高性能。

特定尺度多路径学习共享模型的主要部分(即特征提取的中间部分),并分别在网络的开头和结尾附加特定尺度的预处理路径和上采样路径,如上图(f)所示。在训练期间,仅启用和更新与所选尺度对应的路径。这样大多数参数在不同尺度上共享。

• 高级卷积

卷积运算是深度神经网络的基础,改进卷积运算可获得更好的性能或更快的速度。这里给出两个方法:扩张卷积( Dilated Convolution )和群卷积( Group Convolution )。 众所周知,上下文信息有助于在图像超分辨率生成逼真的细节。扩张卷积能将感受野增加两倍,最终实现更好的性能。群卷积以很少的性能损失可减少大量的参数和操作,如上图( g )所示。

• 像素递归学习

大多数 SR 模型认为这是一个与像素无关的任务,因此无法正确地确定生成像素之间的相互依赖性。在人注意力转移机制推动下,一种递推网络可依次发现参与的补丁并进行局部增强。以这种方式,模型能够根据每个图像自身特性自适应地个性化最佳搜索路径,从而充分利用图像全局的内依赖性( intra-dependence )。不过,需要长传播路径的递归过程,特别对超分辨率的 HR 图像,大大增加了计算成本和训练难度。

• 金字塔池化

金字塔池化模块更好地利用全局和局部的上下文信息,如上图( h )所示。 具体地,对于尺寸为 h×w×c 的特征图,每个特征图被划分为 M×M 个区间,并经历全局平均池化产生 M×M×c 个输出。 然后,执行 1×1 卷积输出压缩到一个单信道。 之后,通过双线性插值将低维特征图上采样到与原始特征图相同的大小。 使用不同的 M,该模块可以有效地整合全局和局部的上下文信息。

• 小波变换

众所周知,小波变换( WT )是一种高效的图像表示,将图像信号分解为表示纹理细节的高频小波和包含全局拓扑信息的低频小波。将 WT 与基于深度学习的 SR 模型相结合,这样插值 LR 小波的子带作为输入,并预测相应 HR 子带的残差。 WT 和逆 WT 分别用于分解LR输入和重建 HR 输出。

另外学习策略问题,涉及损失函数的设计(包括像素损失,内容损失,纹理损失,对抗损失和周期连续损失)、批处理归一化(BN)、课程学习(Curriculum Learning)和多信号监督( Multi-supervision )等等。

无监督SR

现有的超分辨率工作主要集中在监督学习上,然而难以收集不同分辨率的相同场景的图像,因此通常通过对 HR 图像预定义退化来获得 SR 数据集中的 LR 图像。为了防止预定义退化带来的不利影响,无监督的超分辨率成为选择。在这种情况下,只提供非配对图像( HR 或 LR )用于训练,实际上得到的模型更可能应对实际场景中的 SR 问题。

• 零击(zero shot)超分辨率

单个图像内部的统计数据足以提供超分辨率所需的信息,所以零击超分辨率(ZSSR)在测试时训练小图像特定的 SR 网络进行无监督 SR ,而不是在大数据集上训练通用模型。具体来说,核估计方法直接从单个测试图像估计退化内核,并在测试图像上执行不同尺度因子的退化来构建小数据集。然后在该数据集上训练超分辨率的小 CNN 模型用于最终预测。

ZSSR 利用图像内部特定信息的跨尺度复现这一特点,对非理想条件下(非 bi-cubic 退化核获得的图像,受模糊、噪声和压缩畸变等影响)更接近现实世界场景的图像,比以前的方法性能提高一大截,同时在理想条件下( bi-cubic 插值构建的图像),和以前方法结果差不多。尽管这样,由于需要在测试期间为每个图像训练单个网络,使得其测试时间远比其他 SR 模型长。

• 弱监督 SR

为了在超分辨率中不引入预退化,弱监督学习的 SR 模型,即使用不成对的 LR-HR 图像,是一种方案。一些方法学习 HR-LR 退化模型并用于构建训练 SR 模型的数据集,而另外一些方法设计周期循环( cycle-in-cycle )网络同时学习 LR-HR 和 HR-LR 映射。

由于预退化是次优的,从未配对的 LR-HR 数据集中学习退化是可行的。一种方法称为“两步法”:

  • 1)训练 HR-LR 的 GAN 模型,用不成对的 LR-HR 图像学习退化;
  • 2)基于第一个 GAN 模型,使用成对的 LR-HR 图像训练 LR- HR 的 GAN 模型执行 SR 。

对于 HR 到 LR 的 GAN 模型,HR 图像被馈送到生成器产生 LR 输出,不仅需要匹配 HR 图像缩小(平均池化)获得的 LR 图像,而且还要匹配真实LR图像的分布。训练之后,生成器作为退化模型生成 LR-HR 图像对。

对于 LR 到 HR 的 GAN 模型,生成器(即 SR 模型)将生成的 LR 图像作为输入并预测 HR 输出,不仅需要匹配相应的 HR 图像而且还匹配 HR 图像的分布 。

在“两步法”中,无监督模型有效地提高了超分辨率真实世界LR图像的质量,比以前方法性能获得了很大改进。

无监督 SR 的另一种方法是将 LR 空间和 HR 空间视为两个域,并使用周期循环结构学习彼此之间的映射。这种情况下,训练目的包括推送映射结果去匹配目标的域分布,并通过来回( round trip )映射使图像恢复。

• 深度图像先验知识

CNN 结构在逆问题之前捕获大量的低级图像统计量,所以在执行 SR 之前可使用随机初始化的 CNN 作为手工先验知识。具体地讲,定义生成器网络,将随机向量 z 作为输入并尝试生成目标 HR 图像 I 。训练目标是网络找到一个 Iˆ y,其下采样 Iˆy 与 LR 图像 Ix 相同。 因为网络随机初始化,从未在数据集上进行过训练,所以唯一的先验知识是 CNN 结构本身。 虽然这种方法的性能仍然比监督方法差很多,但远远超过传统的 bicubic 上采样。此外,表现出的 CNN 架构本身合理性,促使将深度学习方法与 CNN 结构或自相似性等先验知识相结合来提高超分辨率。

特定SR

特定 SR 领域主要包括深度图、人脸图像、高光谱图像和视频等内容的 SR 应用。

面部图像超分辨率,即面部幻觉( FH, face hallucination ),通常可以帮助其他与面部相关的任务。与通用图像相比,面部图像具有更多与面部相关的结构化信息,因此将面部先验知识(例如,关键点,结构解析图和身份)结合到 FH 中是非常流行且有希望的方法。利用面部先验知识的最直接的方式是约束所生成的HR图像具有与基础事实(GT)的 HR 图像相同的面部相关信息。

全色图像( PAN,panchromatic images ),即具有 3 个波段的 RGB 图像相比,有数百个波段的高光谱图像( HSI,hyperspectral images )提供了丰富的光谱特征并有助于各种视觉任务。 然而,由于硬件限制,收集高质量的 HSI 比收集 PAN 更困难,收集的 HSI 分辨率要低得多。 因此,超分辨率被引入该领域,研究人员倾向于将 HR PAN 和 LR HSI 结合起来预测 HR HSI 。

视频超分辨率而言,多个帧提供更多的场景信息,不仅有帧内空间依赖性而且有帧间时间依赖性(例如,运动、亮度和颜色变化)。 大多数方法主要集中在更好地利用时空依赖性,包括显式运动补偿(例如,光流算法、基于学习的方法)和递归方法等。

参考文献

  1. Z Wang, J Chen, S Hoi,“Deep Learning for Image Super-resolution: A Survey”, Arxiv 1902.06068,2019
  2. W Yang et al.,“Deep Learning for Single Image Super-Resolution: A Brief Review”, Archiv 1808.03344, 2018
  3. Z Li et al.,“Feedback Network for Image Super-Resolution”, CVPR 2019
  4. C Chen et al.,“Camera Lens Super-Resolution”, CVPR 2019
  5. K Zhang et al.,“Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernels”, CVPR 2019

原文链接:

https://zhuanlan.zhihu.com/p/76820438

(*本文为 AI科技大本营转载文章,转载请联系原作者)



推荐阅读
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 2018 HDU 多校联合第五场 G题:Glad You Game(线段树优化解法)
    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6356在《Glad You Game》中,Steve 面临一个复杂的区间操作问题。该题可以通过线段树进行高效优化。具体来说,线段树能够快速处理区间更新和查询操作,从而大大提高了算法的效率。本文详细介绍了线段树的构建和维护方法,并给出了具体的代码实现,帮助读者更好地理解和应用这一数据结构。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 中国学者实现 CNN 全程可视化,详尽展示每次卷积、ReLU 和池化过程 ... [详细]
  • 本文将深入探讨生成对抗网络(GAN)在计算机视觉领域的应用。作为该领域的经典模型,GAN通过生成器和判别器的对抗训练,能够高效地生成高质量的图像。本文不仅回顾了GAN的基本原理,还将介绍一些最新的进展和技术优化方法,帮助读者全面掌握这一重要工具。 ... [详细]
author-avatar
魏承辉符合_821
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有