添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

论文题目:Image Super-Resolution Using Deep Convolutional Networks

文献地址: https://arxiv.org/pdf/1501.00092.pdf

代码地址: http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.html

参考代码地址(tensorflow版本): https://github.com/tegg89/SRCNN-Tensorflow

图像超分辨率重建: 指通过低分辨率图像或图像序列恢复出高分辨率图像。高分辨率图像意味着图像具有更多的细节信息、更细腻的画质。这些细节在高清电视、医学成像、遥感卫星成像等领域有着重要的应用价值。【分辨率不是图像的大小!】

本篇是一篇非常经典的超分辨率技术,在深度学习或卷积神经网络(CNN)中,通常使用CNN进行图像分类,目标检测等。在SRCNN中,它被用于单幅图像的超分辨率(SR),这是计算机视觉中的一个经典问题。

简而言之,使用更好的SR方法, 可以获得更好的图像质量,即使最初只得到一个小图像

SRCNN网络结构

SRCNN网络并不深。只有3层,分别是patch提取与表示、非线性映射和重构,如下图所示:

patch提取与表示

在输入到SRCNN网络之前,首先要知道低分辨率的输入是经过双三次插值的(即对高分辨率的原图进行两次插值,一次缩小,一次放大,得到的图像分辨率明显降低)。

X : 高分辨率图像

Y: 低分辨率图像(X经过双三次样条插值得到)

第一层使用ReLU激活函数:

  • W1:c×f1×f1×n1
  • B1: n1
  • 其中,c是图像的通道数量,f1是卷积核的尺寸,n1是卷积核的格式。第一层中,c=1,f1=9,n1=64。

    非线性映射

    第二层进行非线性映射:

  • W2:n1×1×1×n2
  • B2: n2
  • 它是一个n维向量到n维向量的映射。当n1>n2的时候,可以想象类似于PCA的东西但是是以非线性的方式。

    在第二层中 n2=32 。 (小于第一层)

    第三层,对图像进行重建,使用卷积核的个数将与原图像的通道数量相同。

  • W3:n2×f3×f3×c
  • B3: c
  • 在第三层中,f3=5.

    综上所述,

  • 网络形式:(conv1+relu)—(conv2+relu)—(conv3)
  • 卷积核尺寸:9*9 — 1*1— 5*5。
  • 网络输入:33×33
  • 网络输出:21×21(卷积时无padding)
  • 具体而言,会将原图划分为若干个33*33块,每个块生成21*21的图像,最后将若干21*21图像进行拼接还原,生成处理后的图像。
  • 损失函数使用比较传统的MSE。

    使用的代码是tensorflow版的 https://github.com/tegg89/SRCNN-Tensorflow

    代码中使用glob.glob得到所有训练集/测试集的图片。先取出3的整数倍的像素值, 以进行下面的图像模糊过程,两次插值,先缩小,再放大得到模糊的图像。

    1 input_ = scipy.ndimage.interpolation.zoom(label_, (1./scale), prefilter=False)
    2 input_ = scipy.ndimage.interpolation.zoom(input_, (scale/1.), prefilter=False)

    模糊图像作为输入的原材料,模糊图像作为输出的原材料。由于网络不深,并且适用于不同大小的图像输入,作者将原材料裁剪成33*33(输入)和21*21(输出),并且分别添加到两个list中,一一对应,然后保存为.h5文件,便于调用。

    测试过程中,作者代码中固定为仅对测试集的第3张图像进行处理,所以在运行后只会看到一张图像的结果。此处可以改为第1张图像,但改为批量测试,源代码结构需要大改。

    为了对论文处理过程有清晰的了解,需要对代码中添加模糊图像的保存,这样能够清晰的看到网络处理的作用。 三次样条插值的模糊图像和处理后的图像如下图所示

    但在第一次测试蝴蝶图像时,出现的结果如下图所示【很好的看出了图像是拼接出来的...哈哈,感觉它暴露了自己】:

    -------------------------------------------

    算法届的小学生,虔诚而不迷茫,做一个懂生活并有趣的人!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个 [推荐] 噢! 欢迎共同交流机器学习,机器视觉,深度学习~ 欢迎转载,转载请声明出处!