文章目录
- Deep Image Prior
- 1. 方法原理
- 1.1 研究动机
- 1.2 方法
- 2. 实验验证
- 2.1 去噪
- 2.2 超分辨率
- 2.3 图像修复
- 2.4 消融实验
- 3. 总结
Deep Image Prior
1. 方法原理
1.1 研究动机
动机
- 深度神经网络在图像复原和生成领域有非常好的表现一般归功于神经网络学习到了图像的先验信息
- 网络结构本身是否具有先验信息呢?
挑战
- 如何验证网络结构本身是否具有先验信息?
- 无训练集,无未退化的原图作为标签,使用单张退化的图像进行恢复
- 唯一的先验信息来自于网络结构本身
贡献
- 发现了神经网络结构对自然信号的低阻抗性和对噪声信号具有高阻抗的隐式先验信息
- 在去噪、超分辨率、图像修复等任务上利用这种隐式先验信息实现了非常好的效果
- 网络仅仅使用退化的单个图像进行训练,所以没有大量数据集带来的图像先验信息,而是网络结构自身所具有的结构先验信息
1.2 方法
使用一个随机向量
z
∈
R
c
′
×
H
′
×
W
′
z \in R^{c' \times H' \times W'}
z∈Rc′×H′×W′,和一个神经网络(
f
θ
(
.
)
f_{\theta}(.)
fθ(.))输出一个我们想要的图像
x
∈
R
3
×
H
×
W
x \in R^{3 \times H\times W}
x∈R3×H×W
x
=
f
θ
(
z
)
x = f_{\theta}(z)
x=fθ(z)
然后,针对一个具体的 去噪、超分辨率或图像修复的问题,这就变为了一个最小化能量的问题(最大似然)
x
∗
=
m
i
n
x
E
(
x
;
x
0
)
+
R
(
x
)
x^* = \underset{x}{min}E(x;x_0) + R(x)
x∗=xminE(x;x0)+R(x)
其中 m i n x E ( x ; x 0 ) \underset{x}{min}E(x;x_0) xminE(x;x0)是和任务相关的数据匹配项,而 R ( x ) R(x) R(x)是一个正则项。正则项目可以是简单的TV正则化,在本文中想要证明的就是网络结构本身就具有类似于TV正则化的效果,也就是:
x ∗ = m i n x E ( f θ ( z ) ; x 0 ) x^* = \underset{x}{min}E(f_{\theta}(z);x_0) x∗=xminE(fθ(z);x0)
为了最小化能量,我们可以从观测数据 z z z出发,或者从网络本身出发。DIP考虑的是只从网络结构本身探讨这个问题。
用一个最简单的重构损失来验证:我们使用一个网络参数化图像,然后最小化重构图像和真实图像的损失:
E
(
x
;
x
0
)
=
∣
∣
x
−
x
0
∣
∣
2
E(x;x_0) = ||x - x_0||^2
E(x;x0)=∣∣x−x0∣∣2
m i n θ ∣ ∣ f θ ( z ) − x 0 ∣ ∣ \underset{\theta}{min}||f_{\theta}(z) - x_0|| θmin∣∣fθ(z)−x0∣∣
使用不同的 x 0 x_0 x0进行验证:
- 真实图片作为 x 0 x_0 x0
- 真实图片+噪声作为 x 0 x_0 x0
- 真实图片像素点随机打乱作为 x 0 x_0 x0
- 噪声作为 x 0 x_0 x0
从上面这幅图中可以发现,相同的神经网络对不同的数据进行恢复,如果是真实自然图片网络可以非常快地进行恢复,而对于噪声网络的恢复在迭代很多次之后才能恢复。这展现出一种网络结构的特性:对信号具有低阻抗,而对随机噪声具有高阻抗。因此我们可以在训练过程中使用 early stopping方法,在迭代一定次数后得到的图片的信号信息。
2. 实验验证
2.1 去噪
迭代2400次的时候自然信息就基本拟合了,没有出现拟合噪声信息。
迭代50k的时候就拟合了噪声信息。
和其他方法进行对比
2.2 超分辨率
2.3 图像修复
2.4 消融实验
3. 总结
关键点
- 神经网络对自然信息具有低阻性,对随机噪声具有高阻性
- 神经网络提供的隐式先验信息可以用来进行去噪、图像修复、超分辨率
优势
- 不需要预训练网络,不需要准备训练数据集
- 可以同时解决多种问题
问题
- 速度慢,处理一个工作需要迭代上千次
- 性能不稳定,对不同的噪声达到较好效果的迭代次数不同
- 怎么确定终止次数是一个重要问题
- 没有从理论上证明这种方法的可靠性(后续有其他文章证明)