论文《Deep Image Prior》 翻译学习

资料

论文

摘要

深度卷积网络已经成为图像生成和恢复的通用工具。一般来说,它们的出色性能归功于它们从大量样本图像中学习真实图像先验(image prior)的能力。而在本文中,相反的是,我们证明生成器网络的结构足以将大量的低等级图像统计先验捕获到任意学习中。为了做到这一点,我们展示了一个随机初始化的神经网络可以用作一个手动先验,并且可以在诸如去噪、超分辨率和修补等标准可逆问题上获取很好的性能表现。此外,同样的先验可以用来反演深度神经表征从而对其进行诊断,并且可以对基于“闪光—无闪光”输入对的图像进行恢复。

除了多样化的应用之外,我们的方法突出了标准生成器网络架构所捕获的归纳偏差(inductive bias)。它还弥补了两种通用的图像恢复方法之间的鸿沟:即使用深度卷积网络的基于学习的方法和基于手动图像先验(如自相似性)的无学习方法。

1 介绍

深度卷积神经网络(ConvNets)目前在逆图像重建问题中取得了最先进的技术,例如去噪[5,20]或单图像超分辨率[19,29,18]。 ConvNets还有很多用于获得更多“异国情调”的问题,例如从某些深度网络的**层或其HOG描述符中重构图像[8]。 更一般地说,具有类似架构的ConvNets现在用于生成图像,例如使用生成对抗网络[11],变分自动编码器[16]和直接像素误差最小化[9,3]等方法。

论文《Deep Image Prior》 翻译学习

用于图像恢复和生成的最先进的ConvNets几乎总是在大型图像数据集上进行训练。 因此可以假设它们的优异性能是由于它们能够从数据中学习逼真的图像先验。 然而,单独学习不足以解释深度网络的良好性能。 例如,[33]的作者最近表明,当在真实数据上训练时,相同的图像分类网络也可能出现过拟合,产生随机化的标签。因此,概括来说即要求网络结构与数据结构“共振”。 然而,这种相互作用的性质还不清楚,特别是在图像生成的背景下。

在这项工作中,我们表明,相反于得到好的图像先验必须通过学习,大量的图像统计信息被独立于学习外的卷积图像生成器的结构所捕获。 对于解决各种图像恢复问题所需的统计数据尤其如此,其中需要图像先验来处理在退化过程中的损失。

为了表明这一点,我们将未经训练的ConvNets应用于解决几个这样的问题。 我们不遵循通常地在大型样例图像数据集上训练ConvNet,而是将生成器网络应用于单个降级图像。 在该方案中,网络权重被当作恢复图像的参数。 权重被随机初始化并拟合以在给定特定退化图像和任务相关观察模型的情况下得到最大似然。

以不同的方式陈述,我们将重建作为条件图像生成问题并且表明解决它所需的唯一信息包含在单个降级的输入图像和用于重建的网络的手工结构中。

我们表明,这种非常简单的公式对标准图像处理问题非常有竞争力,例如去噪,修复和超分辨率。 这些问题比较特殊 ,因为从数据中没有学到网络的详情; 相反,网络的权重总是随机初始化,因此唯一的先验信息是在网络本身的结构中。 据我们所知,这是第一项直接调查深度卷积生成网络捕获的先验的研究,而不依赖于从图像中学习网络参数。

除了标准的图像恢复任务,我们还展示了我们的技术应用,以理解深度神经网络**中包含的信息。 为此,我们考虑[21]的“自然预图像”技术,其目的是通过在自然图像集上反转来表征深度网络学习的不变量。 我们表明,未经训练的深度卷积发生器可用于替代[21](电视规范)中使用的替代自然先验,并显着改善结果。 由于新的正规化器,如电视规范,不是从数据中学习而是完全手工制作,因此产生的可视化避免了由于使用强大的学习正则化器而产生的潜在偏差[8]。

2 方法

深度网络通过学习生成/解码网络x =fθ(z)来进行图像生成,即把随机的码流z转化为图像x。这种方法(GAN网络)可用于从随机分布中产生逼真的图像[11]。 在这里,我们关注特殊的case,即分布为损坏的观察图像x0,以期解决反演问题,如去噪[5]和超分辨率[7]。

我们的目的是在学习任何参数之前,研究通过选择特定生成器网络结构来调查investigate隐式implicitly的先验。 我们通过将神经网络解释为图像的参数化x =fθ(z),x∈R 3×H×W来实现。 这里z∈R C’×H’×W’是代码张量/矢量,θ是网络参数。 网络本身交替进行滤波操作,例如卷积,上采样和非线性**。 特别是,我们的大部分实验是使用U-Net类型的“沙漏”架构进行的,其中包含跳过连接,其中z和x具有相同的空间大小。 我们的默认架构有两百万个参数θ(有关所有使用过的架构的详细信息,请参阅补充材料)。

为了证明这种参数化的强大功能,我们考虑反向任务,如去噪,超分辨率和修复。 这些可以表示为能量最小化问题:

论文《Deep Image Prior》 翻译学习

其中,E(x;x0)是任务相关数据项,x0是噪声/低分辨率/遮挡图像,R(x)是正则项。

数据项E(x;x0)的选择由应用程序决定,稍后将对其进行讨论。 正则化器的选择,通常在自然图像上捕获通用的先验,是非常困难的,并且是许多研究的主题。 举一个简单的例子,R(x)可以是图像的总变差Total Variation(TV),它鼓励解决方案去包含统一的区域。 在这项工作中,我们将正则化器R(x)替换为神经网络捕获的隐式先验,如下:

论文《Deep Image Prior》 翻译学习

最小化器θ*是使用诸如梯度下降之类的优化器从参数的随机初始化开始获得的。 给定(局部)最小化器θ,恢复过程的结果可以看作为寻找x =fθ*(z)。 请注意,虽然也可以优化代码z,但在我们的实验中我们不这样做。 因此,除非另有说明,否则z是具有32个特征图的固定3D张量,并且具有与填充有均匀噪声的x相同的空间尺寸。 我们发现,在每次迭代中随机地随机扰动z导致在一些实验中得到更好的结果(参见补充材料)。

对于公式(1)而言,公式(2)中定义的先验的R(x)是一个阶跃函数,所有通过固定的深度ConvNet生成的z的图像,R(x)=0,对于其他信号R(x)=+∞。由于网络的任何方面都不是根据数据预先训练的,因此这种深度图像先验是有效手工制作的,就像电视规范一样。 我们表明,这种手工制作的先前工作非常适合各种图像恢复任务。

具有高噪声阻抗的参数化。 人们可能想知道为什么高容量网络fθ可以用作先验。 实际上,可以期望能够找到恢复任何可能的图像x的参数θ,包括随机噪声,使得网络不应对所生成的图像施加任何限制。 我们现在表明,虽然几乎任何图像都可以拟合,但网络架构的选择对如何通过梯度下降等方法搜索解空间有重大影响。 特别是,我们表明网络可以抵御“糟糕”的解决方案,并且可以更快地向自然图像下降。 结果是最小化公式(2)或者有一个良好的局部最优,或者至少优化轨迹接近一个。

为了定量研究这种效应,我们考虑最基本的重建问题:给定目标图像x0,我们想要找到再现该图像的参数θ*的值。 这可以看作是公式(2)的优化过程,使用生成的图像与x0进行比较:

论文《Deep Image Prior》 翻译学习

将其插入公式(2),可以得到最优化问题:

论文《Deep Image Prior》 翻译学习

论文《Deep Image Prior》 翻译学习

图2显示了能量E(x; x0)的值作为梯度下降迭代的函数,用于图像x0的四种不同选择:1)自然图像,2)相同图像加上加性噪声,3)相同 随机置换像素后的图像,以及4)白噪声。 从图中可以明显看出,对于情况1)和2),优化要快得多,而对于情况3)和4),参数化呈现出显着的“惯性”。

因此,虽然在极限情况下参数化可以适应非结构化噪声,但它非常不情愿地这样做。 换句话说,参数化提供高噪声阻抗和低信号阻抗。 因此,对于大多数应用程序,我们将优化过程(2)中的迭代次数限制为一定次数的迭代。 然后,所得到的先验对应于投影到减少的图像集上,该图像集可以由具有参数θ的ConvNets从z产生,该参数θ与随机初始化θ0不太远。

3 应用

我们现在实验性地展示了所提出的先验如何用于各种图像重建问题。 由于篇幅限制,我们提供了一些示例和数字,并在补充材料和项目网页中包含更多内容[30]。

去噪和通用重建。由于我们的参数化对图像噪声具有高阻抗,因此可以自然地用于滤除图像中的噪声。 去噪的目的是从嘈杂的观察x0恢复干净的图像x。 有时退化模型是已知的:x0 = x + \sigma 哪里 \sigma 遵循特定的分布。 然而,更常见的是盲目去噪中的噪声模型是未知的。

这里我们在盲目假设下工作,但是可以容易地修改该方法以结合关于噪声模型的信息。 我们使用相同的精准公式3和4,并且给定有噪声的图像x0,在替换等式的最小化器θ之后恢复干净的图像x =fθ*(z)。

我们的方法不需要原始图像降级过程的模型。 这允许它以“即插即用”的方式应用于图像恢复任务,其中退化过程是复杂的和/或未知的,并且难以获得用于监督训练的实际数据。 我们通过图1中的几个定性示例证明了这种能力。 在补充材料中,我们的方法使用二次能量(3)导出的公式(4)恢复由复杂和未知压缩伪像降级的图像。 图3还展示了该方法在自然图像之外的适用性(在这种情况下为卡通)。

论文《Deep Image Prior》 翻译学习

论文《Deep Image Prior》 翻译学习

我们在标准[数据集1](http://www.cs.tut.fi/˜foi/GCF-BM3D/index.html#
ref_results)上评估我们的去噪方法,由9个彩色图像组成,噪声强度为σ= 25.在1800个优化步骤后,我们实现了29.22的PSNR。 如果我们另外平均在最后一次迭代中获得的恢复图像(使用指数滑动窗口),则得分提高到30.43。 如果平均两次优化运行,我们的方法进一步提高到31.00 PSNR。 作为参考,不需要预训练的两种流行方法CMB3D [6]和非本地方式[4]的分数分别为31.42和30.26。

Super-resolution

Inpainting

Natural pre-image

Flash-no flash reconstruction

补充材料

补充材料中我们提供了更详细的每个实验的设置。我们也将论文中的图更加便于比较的展示出来。实现代码交互式比较

1 架构

总的来说,我们发现从输入到输出没有太多短路径的深层架构定义了非常好的深度先验。 具有太多短路径阻止了学习常规图像模式,导致像素级的记忆和图像先验不足。

虽然其他选项是可能的,但我们主要尝试完全卷积架构,其中输入z∈R C0×W×H具有与网络fθ(z)∈R 3×W×H的输出相同的空间分辨率。

我们在所有实验中使用编码器 - 解码器(“沙漏”)架构(可能具有跳过连接)用于fθ,除非另有说明(图1),伴随着少量的超参数的变种。 虽然通过仔细调整特定任务的架构(以及可能针对特定图像)可以实现最佳结果,但我们发现广泛的超参数和架构可以提供可接受的结果。

我们使用LeakyReLU [4]作为非线性**。 作为一种下采样技术,我们仅使用步长,通过卷积模块实现。我们还尝试使用Lanczos内核进行平均/最大池化和下采样,但没有发现它们之间的一致差异。 作为上采样操作,我们在双线性上采样和最近邻上采样之间进行选择。 另一种上采样方法可能是使用转置卷积,但我们使用它们获得的结果更糟。 除了特征反演实验之外,我们在卷积层中使用反射填充而不是零填充。

我们考虑了两种创建输入z的方法:1。随机,其中z在零和0.1之间填充均匀噪声,2。网格网格,其中我们使用np.meshgrid初始化z∈R 2×W×H(参见图2), 这种初始化在fθ本身的结构强加之前用作额外的平滑度。 我们发现这样的输入有利于遮挡修复,但不适用于其他任务。

在网络拟合期间,我们有时使用基于噪声的正则化。即 在每次迭代中,我们用加性正常噪声扰动输入z。 虽然我们已经发现这种正规化阻碍了优化过程,但我们还观察到无论加性噪声的方差如何,网络都能够将其目标优化为零(即网络始终能够适应任何合理的方差,在有足够多优化步骤情况下)。

我们发现随着损失下降并接近某个值,优化过程会趋于不稳定。 观察到失稳是显着的损失增加和生成的图像中的模糊fθ(z)。 从这种不稳定的角度来看,损失再次下降,直到再次破坏稳定。 为了解决这个问题,如果两次连续迭代之间的损失差异高于某个阈值,我们只需跟踪优化损失并返回上一次迭代的参数。

最后,我们在所有实验中使用ADAM优化器[5]。 所有实验都在PyTorch中实现。

下面,我们提供网络架构的其余细节。 我们使用图1中介绍的符号。

之后,提供了大量额外的实验结果。 几乎所有图像都推荐使用电子放大(PDF放大看)。

超分辨率 (主论文中的图1和图5) (默认架构)

论文《Deep Image Prior》 翻译学习

Text inpainting (fig. 7 top row of main paper)

Large hole inpainting (fig. 6 of main paper

Large hole inpainting (fig. 8 of main paper)

去噪。超参数被设置为和超分辨率一样,唯一不同是迭代次数设置为了1800。我们使用如下方法进行去噪比较:CBM3D[6],NLM[1]。我们使用指数滑动窗口的权重 gamma=0.99。如图3中的JPEG artifact去除。虽然我们可以使用与其他去噪实验中相同的设置,但我们用于生成图3中的图像的超参数如下:

论文《Deep Image Prior》 翻译学习

抽取运算符d由使用Lanczos2内核(见[9])和重采样的低通滤波操作组成,所有这些都是作为单个(固定)卷积层实现的。

论文《Deep Image Prior》 翻译学习

Image reconstruction (fig. 7 bottom).