Overview:end-to-end深度学习网络在超分辨领域的应用(待续)

Posted ryanxing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Overview:end-to-end深度学习网络在超分辨领域的应用(待续)相关的知识,希望对你有一定的参考价值。

目录

1. SRCNN

Home page
http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.html

2014 ECCV ,2015 TPAMI .

Contribution

  1. end-to-end深度学习应用在超分辨领域的开山之作,2018年被引超1000次。(非 end-to-end 见 Story.3 )
  2. 指出了传统方法( sparse-coding-based SR methods )和深度学习方法的关系,具有指导意义。
  3. SRCNN网络非常简单,PSNR、SSIM 等却有小幅提升(< 1dB)。具体而言:
    • The method (SRCNN) directly learns an end-to-end mapping between the low/high-resolution images.
    • 由于是端到端网络,因此 training 是对整体框架的全面优化(具体见 Inspiration.2 )。
  4. 应用(测试)时是完全 feed-forward ,因此网络速度快。

Inspiration

  1. This problem (SR) is inherently ill-posed since a multiplicity of solutions exist for any given low-resolution pixel.
    Such a problem is typically mitigated by constraining the solution space by strong prior information.
    注:训练 CNN 就是在学习先验知识。

  2. 传统方法着重于学习和优化 dictionaries ,但对其他部分鲜有优化。
    但对于CNN,其卷积层负责 patch extraction and aggregation ,隐藏层充当 dictionaries ,因此都会被统一优化。
    换句话说,我们只需要极少的 pre/post-processing 。

  3. 过去,我们用 a set of pre-trained bases such as PCA, DCT, Haar 来表示 patches 。
    现在,我们用不同的卷积核,就实现了多样化的表示。

  4. 由于 overlapping ,因此卷积使用的像素信息比简单的字典映射更多。

Network

技术分享图片

O. Pre-processing

将低分辨率的图片,通过 Bicubic interpolation 得到 (mathbf Y) 。注意我们仍然称之为 low-resolution image 。

I. Patch extraction and representation

(mathbf Y) 提取出 overlapping patches ,每一个 patch 都代表一个 high-dimensional vector 。
这些向量共同组成一个 set of feature maps 。
每一个 vector 的维数,既是总特征数,也是 feature map 的总数。

[ F_1(mathbf Y) = max(0, W_1 * mathbf Y + B_1) ]

II. Non-linear mapping

通过一个非线性变换,由原 high-dimensional vector 变换到另一个 high-dimensional vector 。
该 high-dimensional vector 又组成了一个 set of feature maps ,在概念上代表着 high-resolution patch 。

[ F_2(mathbf Y) = max(0, W_2 * F_1(mathbf Y) + B_2) ]

III. Reconstruction

生成接近 ground truth: (mathbf X) 的 output 。

过去常用取平均的方法。实际上,平均也是一个特殊的卷积。
因此我们不妨直接用一个卷积。
此时,输出patch不再是简单的平均,还可以是频域上的平均等(取决于 high-dimensional vector 的性质)。

[ F_3(mathbf Y) = W_2 * F_2(mathbf Y) + B_3 ]

注意不要再非线性处理。

Story

  1. 深度CNN日益受欢迎的3大诱因:
    • 更强大的GPU;
    • 更多的数据(如ImageNet);
    • ReLU的提出,加快收敛的同时保持良好质量。
  2. CNN此前被用于 natural image denoising and removing noisy patterns (dirt/rain) ,用于 SR 是头一回。
    这就是讲好故事的重要性,无非是映射 pairs 不同。
  3. auto-encoder 也曾被用于超分辨网络,但仍没有摆脱 separated framework 的弊端。

Further learning

  1. Traditional sparse-coding-based SR methods

  2. 从低分辨率图像到 (mathbf Y) 采用的是 Bicubic interpolation ,实际上也是卷积。但为什么不当作卷积层呢?
    文中解释,因为输出比输入还大,为了有效利用 well-optimized implementations sucha as cuda-convnet ,就暂且不当作一个“层”。

以上是关于Overview:end-to-end深度学习网络在超分辨领域的应用(待续)的主要内容,如果未能解决你的问题,请参考以下文章

机器学习中什么是端到端的学习(end-to-end learning)?

深度学习之概述(Overview)

什么是end-to-end神经网络?

[dlaflow]-0. overview

MLOps- 吴恩达Andrew Ng Overview of the ML Lifecycle and Deployment Week1 部署深度学习模型model 实现

PyTorch深度学习-01概述(快速入门)