Deep Image Prior
深度卷积网络在图像生成和图像恢复领域,已经得到了越来越广泛的应用,一般这种网络要想取得很好的效果,需要经过大量的图像样本训练,而 deep image prior 的作者提出了一种新的观点,他们认为,生成网络的结构本身就是一种很好的先验,这种网络结构的先验,不需要经过大量的数据训练,就可以捕获很多 low-level 的图像统计知识,这篇文章的作者因此提出了一种基于神经网络结构本身做先验,来实现图像恢复或者图像生成的任务,完全依赖一张图像和网络结构,实现图像超分,图像降噪,图像 inpainting 等各种任务。
在计算摄影中,我们一般会建立如下的成像模型:
其中 是观测到的质量退化的图像, 是我们想要恢复的图像, 表示噪声, 表示成像的退化过程,由于噪声,光照以及其它因素的干扰, 的质量相比于 要下降很多,我们在已知 的情况下,要恢复出 ,这是一个典型的逆问题,一般来说不存在一个精确的解析解,只能通过优化的方法求得近似解。
一般求解这类问题的优化函数,都可以写成下面类似的方程:
就是我们想要求得的最优解, 表示和任务相关的一个优化函数,一般是一个能量函数, 一般是约束项,在传统的优化模型中, 一般都是一个 TV 项,或者 项,这篇文章的作者,提出了一种新的先验,约束,直接利用一个网络结构作为约束项,求解下面的优化函数:
其中, 表示随机噪声, 表示网络的最优化参数,文章作者认为,一旦学习到了网络的最优化参数 ,利用随机噪声作为输入,网络就可以生成一张质量更好的图像 ,网络参数的求解可以通过随机梯度下降的方式得到。
简单来说,给定一张低质量的图像,比如有噪声或者低分辨率的图像,设计好一个生成网络,通过随机梯度下降的方式做优化,最后优化好的网络,可以将输入的随机噪声生成一张高质量的图像。
这篇文章的思路还是比较新奇的,突破了大家以往的一贯印象,以往训练 GAN 的时候,都需要使用大量的训练数据,但是这篇文章的方法,只需要用到一张图像,利用这一张图像和一个生成网络结构,去学习这张图像纹理结构的内在统计特性。这篇文章也做了一个初步的对比实验,分别使用 1) 自然图像,2) 自然图像加噪声,3) 自然图像的像素随机分布 4) 白噪声,这四种图像让网络去拟合,实验结果表明,网络在拟合图像类型 1) 和 2) 的时候,收敛的更快,说明网络对结构性的纹理会学的更好,而对随机噪声,或者没有结构的信息更难学习。
这篇文章的优势在于,对于各种图像恢复问题,可以采取一种即插即用的方法,不需要专门构建对应的训练数据,去训练一个网络,不过这种方法也有一定的不足,就是需要采取 on-line learning 的方式,无法事先离线训好,针对每一张图,可能都需要设计一个网络结构,设计不同的超参,以获得最佳的效果。
这个模型在训练的时候,也是有一定技巧的,需要采用一种 “早停” 的技术,因为是用生成模型取拟合质量退化的图像,所以不能训练太久,如果训练太久,模型可能就拟合到质量退化的图像上去了,按照作者的解释,模型在学习的时候,会先学到一个质量更好的图像,然后再拟合到质量退化的图像上。
project 地址:
https://dmitryulyanov.github.io/deep_image_prior
转载:https://blog.csdn.net/shinian1987/article/details/103641148