姓名:杨安东;学号:21021210846;学院:电子工程学院
转载自:https://blog.csdn.net/aBlueMouse/article/details/78710553
【嵌牛导读】超分辨率技术(Super-Resolution, SR)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备、卫星图像和医学影像等领域都有重要的应用价值。
本篇针对端到端的基于深度学习的单张图像超分辨率方法(Single Image Super-Resolution, SISR),总结一下从SRCNN到EDSR的发展历程。
【嵌牛鼻子】SRCNN,高分辨重构技术,深度学习
【嵌牛提问】什么是高分辨重构?
【嵌牛正文】
1. SRCNN
(Learning a Deep Convolutional Network for Image Super-Resolution, ECCV2014)
SRCNN是深度学习用在超分辨率重建上的开山之作。SRCNN的网络结构非常简单,仅仅用了三个卷积层,网络结构如下图所示。
SRCNN首先使用双三次(bicubic)插值将低分辨率图像放大成目标尺寸,接着通过三层卷积网络拟合非线性映射,最后输出高分辨率图像结果。本文中,作者将三层卷积的结构解释成三个步骤:图像块的提取和特征表示,特征非线性映射和最终的重建。
三个卷积层使用的卷积核的大小分为为9x9,,1x1和5x5,前两个的输出特征个数分别为64和32。用Timofte数据集(包含91幅图像)和ImageNet大数据集进行训练。使用均方误差(Mean Squared Error, MSE)作为损失函数,有利于获得较高的PSNR。
code: http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.html
2. FSRCNN
(Accelerating the Super-Resolution Convolutional Neural Network, ECCV2016)
FSRCNN与SRCNN都是香港中文大学Dong Chao, Xiaoou Tang等人的工作。FSRCNN是对之前SRCNN的改进,主要在三个方面:一是在最后使用了一个反卷积层放大尺寸,因此可以直接将原始的低分辨率图像输入到网络中,而不是像之前SRCNN那样需要先通过bicubic方法放大尺寸。二是改变特征维数,使用更小的卷积核和使用更多的映射层。三是可以共享其中的映射层,如果需要训练不同上采样倍率的模型,只需要fine-tuning最后的反卷积层。
由于FSRCNN不需要在网络外部进行放大图片尺寸的操作,同时通过添加收缩层和扩张层,将一个大层用一些小层来代替,因此FSRCNN与SRCNN相比有较大的速度提升。FSRCNN在训练时也可以只fine-tuning最后的反卷积层,因此训练速度也更快。FSRCNN与SCRNN的结构对比如下图所示。
FSRCNN可以分为五个部分。特征提取:SRCNN中针对的是插值后的低分辨率图像,选取的核大小为9×9,这里直接是对原始的低分辨率图像进行操作,因此可以选小一点,设置为5×5。收缩:通过应用1×1的卷积核进行降维,减少网络的参数,降低计算复杂度。非线性映射:感受野大,能够表现的更好。SRCNN中,采用的是5×5的卷积核,但是5×5的卷积核计算量会比较大。用两个串联的3×3的卷积核可以替代一个5×5的卷积核,同时两个串联的小卷积核需要的参数3×3×2=18比一个大卷积核5×5=25的参数要小。FSRCNN网络中通过m个核大小为3×3的卷积层进行串联。扩张:作者发现低维度的特征带来的重建效果不是太好,因此应用1×1的卷积核进行扩维,相当于收缩的逆过程。反卷积层:可以堪称是卷积层的逆操作,如果步长为n,那么尺寸放大n倍,实现了上采样的操作。
FSRCNN中激活函数采用PReLU,损失函数仍然是均方误差。对CNN来说,Set91并不足够去训练大的网络结构,FSRCNN提出general-100 + Set91进行充当训练集。并且进行数据增强,1)缩小尺寸为原来的0.9, 0.8, 0.7和0.6。2)旋转 90°,180°和270°,因此获得了数据量的提升。
code: http://mmlab.ie.cuhk.edu.hk/projects/FSRCNN.html
————————————————
版权声明:本文为CSDN博主「aBlueMouse」的原创文章,遵循CC 4.0 BY-SA版权协议。
原文链接:https://blog.csdn.net/aBlueMouse/article/details/78710553