Advertisement

Deep Image Prior-1

阅读量:

Deep Image Prior-1

这是GitHub上的一个项目《Deep image prior》。项目相关的论文是2017年11月29号第一次提交到arxiv并紧接着30号就提交了V2版本的。

深度卷积网络已经成为图像生成和重建的常用工具。人们猜想,他们优秀的表现是归功于他们能够从大量图像样本中学习到真实图像先验的能力。而相反,Dmitry Ulyanov等人展示生成网络在经过任何学习之前就能够捕获大量的低级图像统计信息,也就是说,这些信息可能并不是通过大量的数据集学习得来。他们使用未被训练的cnn网络(其中的权重都是随机初始化的),然后数据上只需要输入一张被损坏的图片。在这个过程中,网络的权重扮演着图像恢复时候所需要的参数:即给定一个随机初始化的网络,然后基于给定的受损图片和任务依赖的观测模型,通过迭代使得模型参数逼近最大似然。这种方法在去噪、超分辨、修补等人物上都有优异的表现。它也连接了两个非常流行的图像重建方法派别:基于学习的方法和基于非学习方法。

补充

目前实现图像超分辨的算法主要有三种:

  1. 一种是基于插值的传统方法,它先将低分辨率的图像序列的对应信息配准到高分辨率网格上,然后通过插值算法得到高分辨率图像在各采样点的像素值,最后进行去模糊去噪等;
  2. 第二种是基于重建的方法,它是先将低分辨率图像利用算法计算得到一个高分辨率的图像,然后把这个结果投影到低分辨率上,获得一个低分辨率图像,然后计算此图像与本来的图像之间的差异,根据差异大小调整高分辨率图像;
  3. 第三种是基于学习的方法,它基本思想是给定对应高低分辨率的数据集,通过机器学习找到高低分辨率图像之间的映射关系。利用这个就能恢复出高分辨图像。

最早将深度学习应用到图像超分辨的是SRCNN,其文章为《Learning a Deep Convolutional Network for Image Super-Resolution》。论文的思路来源于前人的基于稀疏编码的单帧超分辨重建算法。作者设计了一个3层的CNN,三个卷积层使用的卷积核的大小分为为9x9,1x1和5x5,前两个的输出特征个数分别为64和32,使用均方误差(Mean Squared Error, MSE)作为损失函数。SRCNN首先使用双三次(bicubic)插值将低分辨率图像放大成目标尺寸,接着通过三层卷积网络拟合非线性映射,最后输出高分辨率图像结果。
在这里插入图片描述
图像超清问题的特点在于,低清图像和高清图像中很大部分的信息是共享的,基于这个前提,在CNN出现之前,业界的解决方案是使用一些特定的方法,如PCA、Sparse Coding等将低分辨率和高分辨率图像变为特征表示,然后将特征表示做映射。基于传统的方法结构,SRCNN也将模型划分为三个部分,第一个CNN利用卷积提取特征,第二个CNN将低分辨率的特征映射为高分辨率特征,第三个CNN是根据高分辨率特征进行图像重建。因而,虽然针对模型结构的解释与传统方法类似,但SRCNN却是可以同时联合训练的统一体,在数学上拥有更加简单的表达。传统方法中这三个过程是分离的,有些部分没有优化,而SRCNN是端到端网络,是一体的,所有过程都会被优化。

SRCNN之后,开始百花齐放,有FSRCNN、ESPCN、VDSR等等深度网络,可参看《从SRCNN到EDSR,总结深度学习端到端超分辨率方法发展历程》这篇博客,这些都是端到端的基于深度学习的单张图像超分辨率方法

参考:
Deep Image Prior
Image Restoration[Deep Image Prior]
《基于稀疏编码的图像超分辨率》沈辉
深度学习超分辨开山之作SRCNN
深度学习之超分辨

全部评论 (0)

还没有任何评论哟~