编辑:zero
关注 搜罗最好玩的计算机视觉论文和应用,AI算法与图像处理 微信公众号,获得第一手计算机视觉相关信息
本文转载自:公众号:AI公园

作者:Bharath Raj

编译:ronghuaiyang

导读

这里详细讨论了用于使用深度学习的超分辨率的各种组件、损失函数和度量。

介绍

超分辨率是从给定的低分辨率(LR)图像中恢复高分辨率(HR)图像的过程。由于较小的空间分辨率(即大小)或退化的结果(如模糊),图像可能具有“较低的分辨率”。我们可以将HR图像和LR图像通过如下公式联系起来:LR = degradation(HR)`

显然,在应用退化函数时,我们可以从高分辨率图像中得到低分辨率图像。但是,我们可以反过来做吗?在理想情况下,是的!如果我们知道精确的退化函数,通过对LR图像应用它的逆函数,我们可以恢复HR图像。

但是,问题就在这里。我们通常事先不知道退化函数。直接估计逆退化函数是一个不适定的问题。尽管如此,深度学习技术已被证明是有效的超分辨率方法。

本博客主要介绍如何通过使用监督训练方法使用深度学习来进行超分辨率。还讨论了一些重要的损失函数和度量。很多内容都来自于这篇文献综述:https://arxiv.org/abs/1902.06068,读者可以参考一下。

监督方法

如前所述,深度学习可以用给定的低分辨率图像来估计高分辨率图像。通过使用高分辨率图像作为目标(或 ground-truth)和LR图像作为输入,我们可以将其视为监督学习问题。

在本节中,我们将按照卷积层的组织方式对各种深度学习方法进行分组。在我们继续讨论组之前,先介绍一下数据准备和卷积类型。用于优化模型的损失函数在本博客的最后单独给出。

数据准备

获取低分辨率数据的一个简单方法是对高分辨率数据进行退化。这通常是通过模糊或添加噪声来实现的。较低空间分辨率的图像也可以通过经典的上采样方法进行缩放,比如Bilinear或Bicubic插值。还可以引入JPEG和量化噪声来降低图像的质量。

对高分辨率图像进行退化处理以获得其低分辨率版本

需要注意的一件重要事情是,建议以未压缩(或无损压缩)格式存储高分辨率图像。这是为了防止由于有损压缩而导致的高分辨率图像质量下降,这可能会导致性能不佳。

卷积类型

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

上面的图片提到了一些网络设计策略。有关更多信息,可以参考这篇论文:https://arxiv.org/abs/1902.06068。关于深度学习中常用的不同类型卷积的入门知识,你可以参考这个博客:https://towardsdatascience.com/types-of-convolutions-in-deep-learning-717013397f4d。

第1组:前置上采样

该方法首先对低分辨率图像进行插值,得到“粗”的高分辨率图像。现在,CNNs被用来学习从插值的低分辨率图像到高分辨率图像的端到端映射。这个方法的直觉是,使用传统方法(如双线性插值)对低分辨率图像进行上采样,然后对结果进行细化,可能比学习从低维空间到高维空间的直接映射更容易。

一个典型的前置上采样网络

您可以参考这篇文章的第5页:https://arxiv.org/abs/1902.06068,了解使用这种技术的一些模型。优点是,由于上采样是用传统的方法处理的,CNN只需要学习如何对粗图像进行细化,这更加简单。此外,由于我们这里没有使用转置卷积,checkerboard artifacts可能会被绕过。然而,缺点是预定义的上采样方法可能会放大噪声并导致模糊。

第2组:后置上采样

在这种情况下,低分辨率图像被传递到CNNs。上采样在最后一层使用可学习层来执行。

一个典型的后置上采样网络

该方法的优点是在较低维空间(上采样前)进行特征提取,从而降低了计算复杂度。此外,通过使用一个可学习的上采样层,可以对模型进行端到端的训练。

第3组:逐步上采样

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

一个典型的逐步上采样网络

通过将一个困难的任务分解成更简单的任务,可以大大降低学习难度,获得更好的性能。此外,像curriculum learning这样的学习策略可以进一步降低学习难度,提高最终的performance。

第4组:迭代上下采样

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

一个典型的迭代上下采样网络

该框架下的模型能够更好地挖掘出低分辨率图像和高分辨率图像对之间的深层关系,从而提供更高质量的重建结果。

损失函数

利用损失函数来测量生成的高分辨率图像与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的训练的方法。

度量

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

主观度量基于人类观察者的感知评价,而客观度量基于试图评估图像质量的计算模型。主观度量通常更“感知上准确”,但是其中一些度量不方便、耗时或计算成本高昂。另一个问题是这两类度量标准可能不一致。因此,研究人员经常使用这两类指标来显示结果。

在本节中,我们将简要探讨一些广泛使用的度量标准,以评估超级分辨率模型的性能。

PSNR

峰值信噪比(PSNR)是一种常用的客观指标,用于测量有损变换的重建质量。PSNR与ground truth图像与生成图像的均方误差(MSE)的对数成反比。

在上面的公式中,L是可能的最大像素值(对于8位RGB图像,它是255)。不足为奇的是,由于PSNR只关心像素值之间的差异,它并不能很好地代表感知质量。

SSIM

结构相似度(SSIM)是一种基于亮度、对比度和结构三个相对独立的比较来衡量图像之间结构相似度的主观度量。抽象地说,SSIM公式可以表示为亮度、对比度和结构比较的加权乘积,分别计算。

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

在上面的公式中μ(I)代表了一个特定图像的均值,σ(I)表示了特定图像的方差,σ(I,I’)表示了两张图像的协方差,C1, C2是设置的常量,避免计算的不稳定。为简洁起见,这里没有解释这些术语的意义和确切的推导过程,感兴趣的读者可以在本文中查看第2.3.2节:https://arxiv.org/abs/1902.06068。

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

无论如何,由于SSIM是从人类视觉系统的角度来评价重建质量的,所以它更符合感知评价的要求。

其他的IQA分数

下面列出了其他一些评估图像质量的方法。感兴趣的读者可以参考这篇论文:https://arxiv.org/abs/1902.06068了解更多细节。

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

英文原文:https://medium.com/beyondminds/an-introduction-to-super-resolution-using-deep-learning-f60aff9a499d

翻译原文:使用深度学习来实现超分辨率的介绍

翻译和整理不易,希望大家能用你们发财的小手,点个赞支持哈~

欢迎关注:辛苦翻译的小伙伴 AI公园 和辛勤的搬运工 AI算法与图像处理
关注 搜罗最好玩的计算机视觉论文和应用,AI算法与图像处理 微信公众号,获得第一手计算机视觉相关信息

获取分辨率函数是什么_使用深度学习来实现超分辨率的介绍相关推荐

  1. 深度学习图像融合_基于深度学习的图像超分辨率最新进展与趋势【附PDF】

    因PDF资源在微信公众号关注公众号:人工智能前沿讲习回复"超分辨"获取文章PDF 1.主题简介 图像超分辨率是计算机视觉和图像处理领域一个非常重要的研究问题,在医疗图像分析.生物特 ...

  2. [翻译]2020年综述:基于深度学习的视频超分辨率

    综述:基于深度学习的视频超分辨率 Video Super Resolution Based on Deep Learning: A Comprehensive Survey 论文链接:https:// ...

  3. 基于深度学习的图像超分辨率方法 总结

    基于深度学习的SR方法 懒得总结,就从一篇综述中选取了一部分基于深度学习的图像超分辨率方法. 原文:基于深度学习的图像超分辨率复原研究进展 作者:孙旭 李晓光 李嘉锋 卓力 北京工业大学信号与信息处理 ...

  4. 基于深度学习的图像超分辨率重建技术的研究

    1 超分辨率重建技术的研究背景与意义 图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数,包括时间分辨率.空间分辨率及色阶分辨率等,体现了成像系统实际所能反映物体细节信息的能力.相较于低分辨 ...

  5. 经典论文复现 | 基于深度学习的图像超分辨率重建

    过去几年发表于各大 AI 顶会论文提出的 400 多种算法中,公开算法代码的仅占 6%,其中三分之一的论文作者分享了测试数据,约 54% 的分享包含"伪代码".这是今年 AAAI ...

  6. 学习笔记之——基于深度学习的图像超分辨率重建

    最近开展图像超分辨率( Image Super Resolution)方面的研究,做了一些列的调研,并结合本人的理解总结成本博文~(本博文仅用于本人的学习笔记,不做商业用途) 本博文涉及的paper已 ...

  7. 基于深度学习的图像超分辨率重建

    最近开展图像超分辨率( Image Super Resolution)方面的研究,做了一些列的调研,并结合本人的理解总结成本博文~(本博文仅用于本人的学习笔记,不做商业用途) 本博文涉及的paper已 ...

  8. 基于深度学习的图像超分辨率——综述

    2021-Deep Learning for Image Super-resolution:A Survey 基本信息 作者: Zhihao Wang, Jian Chen, Steven C.H. ...

  9. 神经网络模型中class的forward函数何时调用_总结深度学习PyTorch神经网络箱使用...

    ↑ 点击蓝字 关注极市平台来源丨计算机视觉联盟编辑丨极市平台 极市导读 本文介绍了Pytorch神经网络箱的使用,包括核心组件.神经网络实例.构建方法.优化器比较等内容,非常全面.>>加入 ...

最新文章

  1. java求职攻略_2020年求职攻略 《Java面试连成诀》教程免费分享
  2. 我的电脑不联网,很安全,黑客:你还有风扇呢。。。
  3. linux 安装swoole
  4. idea热部署devtools
  5. Vue.js之初印象
  6. 由SQL数据库转换Redis的实例
  7. 《Oracle性能优化与诊断案例精选》——2.3 衣带渐宽终不悔
  8. html如何转换成电子表,如何轻松将电子表格转换为HTML [快速提示] | MOS86
  9. idea数据库管理工具配置连接数据库
  10. 2021年PMP考试模拟题9(含答案解析)
  11. 放苹果问题(组合数学经典)
  12. 2021年CSS 实用手册
  13. 2021年全球电子雪茄行业调研及趋势分析报告
  14. 微信公众号发红包需要的API证书是什么,如何获取API证书?
  15. 2022年618投影仪保值品牌榜,当贝投影闲鱼保值率排行TOP1
  16. 小学的四则运算(输入结果)
  17. 高级软件工程课程总结及收获感想
  18. 华硕无线网卡测试软件,华硕54M无线网卡WL-107g全面评测
  19. 精度因子(DOP)推导与计算
  20. chrome的vue插件下载和安装

热门文章

  1. 偏序集的Dilworth定理学习 (转载)
  2. 你知道这些关于大数据与数据分析的学习网站吗?
  3. 直播预告 | openGauss自治运维能力的技术演进分享
  4. Sentinel 限流原理
  5. Spark与Iceberg整合查询操作-查询快照,表历史,data files Manifests 查询快照,时间戳数据...
  6. xv6 makefile详解
  7. APP端接入支付宝支付接口
  8. python数学建模--时间序列模型--指数平滑
  9. 基于 Webpack4 的可插拔式微前端架构 - Puzzle
  10. JDK环境变量配置环境变量版本查询