Advertisement

deep image prior 论文小结

阅读量:

deep image prior 总结

中心思想

通常我们通过大量的数据集进行训练某个神经网络以实现去噪、超分辨率重建以及图像修复等任务然后利用训练好的网络对退化图像进行修复以恢复目标图像。

在本文中,则提出了一种基于生成模型的方法其借鉴了GAN的思路这种方法的核心在于利用一些随机向量生成重建图像其中参数初始化采用了随机策略随后我们以单幅退化图像为目标计算损失函数以优化生成器参数在优化过程中防止过拟合的前提下发现生成的图像就是去噪后/高分辨率/修复后的重建图像。

两种方法本质的区别:prior

  • 大规模训练的数据集用于生成图像数据分布的先验信息。
    • 本文所采用的先验信息是网络自身的架构设计。

因此,这种方法的优点就是:不需要数据集,只需要一张degraded image。

结构

notation:
x: clean image
\hat x: degraded image
x_\star: reconstructed image

z, a tensor with identical spatial dimensions to &x&, filled with uniform noise, having a total of 32 feature map channels

去噪:实现目标是通过最小化{\left\| f_{\theta}(z) - x \right\|}^2来实现。
超分辨率:目标是最小化{\left\| d(f_{\theta}(z)) - x \right\|}^2以达到超分辨率效果。
其中函数d(\cdot)表示降质过程。
图像修复:目标是最小化{\left\| (f_{\theta}(z)-x)\cdot m \right\|}^2以恢复缺失区域。
在本研究中所使用的网络通常采用的是U-Net结构。

细节

以去燥为例:

从MAP 开始推导:

x_\star = argmax p(\hat x|x) p(x)
= argmin - log p(\hat x|x) - log p(x)
= argmin E(x;\hat x) - R(x)

这里p(x)即为prior;E(x;\hat{x}),被用于计算基于任务的任务依赖性损失函数。R(x),可被视为由prior生成的一种正则化器;它告知我们一些有关图像的前提信息。例如它可能取total variation的形式:这有助于确保输出中包含均匀区域。

此时,如果把目标图片x替换成生成网络的输出g(θ):

(1) x_\star = argmin E(g(θ);\hat x) - R(g(θ))

因此问题转移至\theta空间进行优化,在此过程中g(\cdot)被视为一个映射函数。
regularizer 转化为R(g(\theta))(即网络所捕获的关键提示信息)。

所以:

θ \star = argmin E(f_θ(z) ; x)
(2) x_\star = f_{θ\star}(z)

通过比较公式1与2可以看出,在最优解状态下我们的regulariser R=0这一结果成立的原因是regulariser已经被嵌入到f_{θ\star}(z)之中

为什么structure可以当做prior

神经网络架构决定了其在优化过程中采用何种策略来寻求最优解并进行梯度下降。经过实验对比发现,在面对图像时,默认情况下神经网络会倾向于那些看起来更加自然且高质量的照片而非低质量图像。对于外界噪声或其他干扰因素有一定的抵抗力因此,在优化过程中为了防止过拟合问题的发生通常会对优化目标施加某种约束条件这被称为regularizer.

全部评论 (0)

还没有任何评论哟~