SRCNN

前言:新坑首发。读论文并实现!展示每一段的意义,并最后实现代码。我们先从 SRCNN 开始。论文及代码在最后给出

摘要

  • 提出了用深度学习的方法来解决超分辨率的问题。

  • 使用卷积神经网络,来完成低质量到高质量图片的映射

1 介绍

  • 介绍传统方法的不好

  • 但是受传统方法管道(Pipeline)的启发,卷积神经网络来完成低质量到高质量图片的映射

  • 使用这个方法不需要像传统的方法那样

not explicitly learn the dictionaries or manifolds for modelingthe patch space.

不是很好理解,毕竟不是很了解传统方法。所以跳过

  • 我们把这个网络叫做超分辨率卷积神经网络(Super-Resolution Convolutional Neural Network)

(开始介绍 SRCNN 有多们的好)

  • 故意设计得结构简洁,但是比传统方法准确率高

  • 即使使用 CPU 计算速度也很快,因为不需要去优化

  • 数据集很大的时候,结果会更好

2 相关工作

2.1 Image Super-Resolution

这里主要讲传统方法,跳过

2.2 Convolutional Neural Networks

介绍卷积神经网络,跳过

2.3 Deep Learning for Image Restoration 使用深度学习完成图像重建

介绍深度学习,在图像去噪上有作用,但是还没有用作超分辨率图像的重建

3 用于超分辨率的卷积神经网络

3.1 公式

  • 数据预处理,将低分辨率的图片通过(upscale bicubic interpolation)放大,使与分辨率图片一样大

  • Patch extraction and representation
    第一层卷积,激活函数 ReLu

  • Non-linear mapping
    第二层卷积,激活函数 ReLu

  • Reconstruction
    第三层卷积,实现重构高分辨率的图片

SRCNN_第1张图片

(卷积过程可看最后的代码)

3.2 Relationship to Sparse-Coding-Based Methods

介绍传统方法可以被当做卷积神经网络,跳过

3.3 Loss Function

SRCNN_第2张图片
image.png

并使用随机梯度下降和标准后向传播。使用 MSE 作为损失函数有利于高 PSNR。PSNR 用于定量评估图像恢复质量。

4 Experiments

Datasets

介绍与传统方法使用的数据集类似

Comparisons

与传统方法比较

Implementation Details 实现细节!重点

这是实现代码的关键

  • 中间具体参数

  • 由高分辨率图像得到子图像集这是 {Xi}

  • 把子图像集用高斯内核变模糊,再通过双三次插值将其放大到和 Xi 的大小一样

  • 可以用亮度值也就是 c = 1,一般有颜色的图片 c = 3

  • 卷积层没有 padding ,最后得到的图片肯定比 Xi 要小。但是,因为我们使用的 MSE 损失函数,只计算中间部分

  • 通过随机抽取高斯分布来初始化每层的滤波器权重,其中零均值和标准偏差为0.001(对于偏差为0)。前两层的学习率为10-4,最后一层的学习率为10-5。凭经验发现,最后一层较小的学习率对网络收敛很重要

4.1 Quantitative Evaluation

质量评估,跳过

4.2 Running Time

运行时间,跳过

5 Further Analyses

实现以后再看,可以先跳过

6 Conclusion

总结,跳过

References

参考,跳过

论文及代码实现

  • 论文地址
  • 代码

你可能感兴趣的:(SRCNN)