深度学习:图像超分辨率重建

目的:将图像从低分辨率图像转换为高清超分辨率图像,传统方式是双线性插值

1.SRCNN:模型参考:https://blog.csdn.net/Autism_/article/details/79401798

     作者在获取训练和测试样本时使用了自动生成的方法,非常巧妙,也有人是通过高清相机和手机照片对同一物体进行拍摄,并由此作为训练集,方法没有上述作者的好。

     SRCNN是首个使用深度学习进行高分辨率转换的算法,部分论文中说SRCNN 很难训练,它对超参数的变化非常敏感,并且MSE(均方差)作为loss不是太别好,所以有人提出改进:http://ai.51cto.com/art/201711/557334.htm

2.FSRCNN:https://www.cnblogs.com/ranjiewen/articles/9094321.html

    模型论文及实验结果:http://mmlab.ie.cuhk.edu.hk/projects/FSRCNN.html

3.其它方法还有:ESPCN、VDSR、DRCN、RED、DRRN、SRDenseNet、SRGAN、EDSR等等,参考:https://www.cnblogs.com/ranjiewen/articles/9094321.html

4.SRCNN与FSRCNN的比较参考:https://blog.csdn.net/weixin_38203533/article/details/80704039

5.从SRCNN到EDSR的介绍:https://blog.csdn.net/aBlueMouse/article/details/78710553

   EDSR是NTIRE2017超分辨率挑战赛上获得冠军的方案

6.不同方法对比

SRCNN:开山之作,需要先将低分辨率图像使用插值转为高分辨率图像,然后经过卷积层后对图像中心区域的部分进行loss计算(图像经过多层后尺寸会缩小)

FSRCNN:与SRCNN是同一个作者,输入图像不再是插值图像,而是原始低分辨率图像,最后层对特征图像进行反卷积到高分辨率图像尺寸,效率有很大提高

ESPCN: Efficient Sub-Pixel Convolutional Neural Network, 亚像素卷积神经网络,如果放大比例为r,则最后层会生成r*r个通道的且与低分辨率图像大小一样的图像,将同一个像素位置的r*r个点排列成r行r列的块,然后所有的块组合一起就成了高分辨率图像

VDSR: Very Deep Convolutional Networks,引入了resnet结构,对残差(高频图像)进行训练,收敛速度快,输入为插值图像

DRCN:Deeply-Recursive Convolutional Network for Image Super-Resolution,引入rnn和resnet进行网络训练,输入为插值图像

RED:这篇文章提出了由对称的卷积层-反卷积层构成的网络结构,作为一个编码-解码框架,可以学习由低质图像到原始图像端到端的映射,RED的网络深度为30层,损失函数用的均方误差。

SRDenseNet:引入DenseNet结构,即前一层的特征均传到后面的所有层,减轻了模型梯度消失

SRGAN:将Gan对抗网络引入到高分辨率图像生成中

EDSR:enhanced deep super-resolution,作为2017的冠军,主要是在SRResNet网络上做了改进,去掉了bach-normlize层,Batch Norm会忽略图像像素(或者特征)之间的绝对差异(因为均值归零,方差归一),而只考虑相对差异,所以在不需要绝对差异的任务中(比如分类),有锦上添花的效果。而对于图像超分辨率这种需要利用绝对差异的任务,Batch Norm只会添乱。去掉了BN层之后,作者加深了网络层数。参考https://blog.csdn.net/prinstinadl/article/details/80835088

 

 

你可能感兴趣的:(tensorflow)