abstract
许多看似无关的计算机视觉任务可以被视为图像分解成单独层的特殊情况。例如,图像分割(分离成前景层和背景层);透明层分离(进入反射和透射层);图像去雾(分离成清晰图像和雾霾图)等等。在本文中,我们提出了一个统一的框架,用于基于耦合的“深度图像先验”(DIP)网络对单个图像进行无监督层分解。据显示[38],单个DIP发生器网络的结构足以捕获单个图像的低级统计数据。我们展示了耦合多个这样的DIP提供了一个强大的工具,可以将图像分解为其基本组件,适用于各种应用。这种能力源于这样一个事实,即混合层的内部统计数据比其各个组成部分的统计数据更复杂。我们展示了这种方法在图像去雾,Fg / Bg分割,水印去除,图像和视频中的透明度分离等方面的强大功能。这些功能是以完全无监督的方式实现的,除了输入图像/视频本身之外没有任何训练示例。
- Introduction
各种计算机视觉任务旨在将图像分解成其各个组件。在图像/视频分割中,任务是将图像分解为有意义的子区域,例如前景和背景[1,5,17,24,31]。在透明度分离中,任务是将图像分离成叠加的反射和透射[37,32,26,14]。这种透明度可能是偶然物理反射的结果,或者是由于有意的透明覆盖(例如,水印)。在图像去雾[6,23,18,30,8]中,目标是将朦胧/模糊图像分离成其下面的无雾图像和模糊的雾霾/雾层(空气和透射图)。图1显示了所有这些非常不同的任务可以被组合成单个统一的分层框架。所有这些分解的共同点是,每个单独层内的小块的分布比原始混合图像“更简单”(更均匀),导致强烈的内部自相似性。
在本文中,我们将内部补丁重现的强大功能(解决无监督任务的强度)与深度学习的强大功能相结合。 我们提出了一种无监督的Deep框架,用于将单个图像分解为其层,使得每个层内的“图像元素”的分布是“简单的”。 我们建立在Ulyanov等人的“Deep Image Prior”(DIP)工作的基础之上。[38]。 他们表明,单个DIP生成器网络的结构足以捕获单个自然图像的低级统计数据。 DIP网络的输入是随机噪声,它训练重建单个图像(作为其唯一的输出训练示例)。 这种网络对于以无人监督的方式解决诸如去噪,超分辨率和修复等反问题非常强大。
我们观察到当采用多个DIP的组合来重建图像时,那些DIP倾向于“分割”图像,使得每个DIP输出的补丁分布是“简单的”。 因此,我们用于无监督多任务层分解的方法基于多个(两个或更多个)DIP的组合,我们将其称为“双DIP”。 我们证明了这种方法适用于各种计算机视觉任务,包括图像去雾,图像和视频的Fg / Bg分割,水印去除以及图像和视频中的透明度分离。
Double-DIP是通用的,适用于许多不同的应用。 针对一项特定任务而设计的专用方法可能会超越Double-DIP自身的挑战。 但是,据我们所知,这是第一个能够处理如此多种图像分解任务的框架。 此外,在一些任务(例如,图像去雾)中,Double-DIP实现了与领先方法相当甚至更好的结果。 -
Overview of the Approach
请注意图3a中的说明性示例。 将两种不同的纹理X和Y混合以形成更复杂的图像Z,其显示层透明性。 每个纯纹理内的小块和颜色的分布比组合图像中的块和颜色的分布更简单。 此外,两个纹理上的块的相似性非常弱。 众所周知[12]如果X和Y是两个独立的随机变量,它们的和Z = X + Y的熵大于它们各自的熵:max {H(X),H(Y)}≤H(Z)。 我们利用这一事实将图像分离为其自然的“更简单”组件。
2.1. Single DIP vs. Coupled DIPs
让我们看看当DIP网络用于学习纯图像与混合图像时会发生什么。 图3.c中的图表显示了单个DIP网络的MSE重建损失,作为时间的函数(训练迭代),对于图3.a中的3个图像中的每一个:(i)橙色图是 训练重建纹理图像X的DIP的丢失,(ii)蓝色图 - 训练重建纹理Y的DIP,和(iii)绿色图 - 训练重建其叠加混合物的DIP(图像透明度)。 注意混合图像的较大损耗和较长的收敛时间,与其各个组件的损失相比。 实际上,混合图像的损失大于两个单独损失的总和。 我们将这种行为归因于混合图像中的斑块分布比其任何单个组件中的更复杂和更多(更大的熵;更小的内部自相似性)这一事实。
虽然这些是纯纹理,但同样的行为也适用于自然图像的混合。 单个自然图像中的斑块的内部自相似性往往比不同图像中的斑块相似性强得多[41]。 我们对大量自然图像重复了上述实验:我们从BSD100数据集[27]中随机抽取100对图像,并将每对图像混合。 对于每个图像对,我们训练了DIP以学习混合图像和每个单独的图像。 在自然图像的情况下,图3.c的图表中也表现出相同的行为 - 有趣的是,混合图像的丢失与其各个组件之间的差距更大
我们对非重叠图像片段进行了类似的实验。 据观察[5],构成图像片段的小区域的经验熵小于同一图像中不同片段的经验交叉熵。 我们从BSD100数据集中随机抽取了100对图像。 对于每对我们生成了一个新图像,其左侧是一个图像的左侧,右侧是第二个图像的右侧。 我们训练了DIP来学习混合图像和每个单独的组件。 在这种情况下,图3C的图形行为也重复了
我们进一步观察到,当多个DIP训练以共同重建单个输入图像时,它们倾向于在它们之间“分割”图像块。即,图像内部的类似小补丁倾向于全部由单个DIP网络生成。换句话说,每个DIP捕获图像的内部统计的不同分量。我们通过单个DIP网络完全卷积的事实来解释这种行为,因此其滤波器权重在图像的整个空间范围内共享。这促进了每个DIP输出中补丁的自相似性。
[38]中报道的去噪实验进一步支持了单个DIP输出中斑块分布的简单性。当训练DIP以重建有噪声的图像(高补丁分集/熵)时,显示在过度拟合噪声之前沿途生成图像的中间清洁版本。干净的图像具有较高的内部斑块相似性(较小的斑块多样性/熵),因此DIP重建更简单。
基于这些观察,我们建议通过组合多个(两个或更多个)DIP将图像分解为其层,我们称之为“双DIP”。图 3.a,b表明,当训练2个DIP网络共同恢复混合纹理透明图像(作为其输出之和)时,每个DIP自己输出一个连贯层
2.2.Unified Multi-Task Decomposition Architecture 统一的多任务分解架构
What is a good image decomposition? 图像可以无限分解为多个层。 但是,我们建议有意义的分解
满足以下标准:(i)当重新组合时,恢复的层应产生输入图像。 (ii)每个层应尽可能“简单”,即它应具有“图像元素”的强内部自相似性。 (iii)恢复的层应尽可能彼此独立(不相关)。
These criteria form the basis of our general-purpose Double-DIP architecture, illustrated in Fig. 2. The first criterion is enforced via a “Reconstruction Loss”, which measures the error between the constructed image and the input image (see Fig. 2). The second criterion is obtained by employing multiple DIPs (one per layer). The third criterion is enforced by an “Exclusion Loss” between the outputs of the different DIPs (minimizing their correlation).
每个DIP网络(DIPi)重建输入图像I的不同层yi。每个DIPi的输入是随机采样的均匀噪声zi。 使用权重掩模m混合DIP输出yi = DIPi(zi),以形成重建图像I = m·y1 +(1-m)·y2,其应尽可能接近输入图像I
在一些任务中,权重掩模m是简单且已知的,在其他情况下需要学习(使用附加的DIP)。学习的掩模m可以是均匀的或空间变化的,连续的或二进制的。 对m的这些约束是任务相关的,并且使用特定于任务的“正则化损失”来强制执行。 因此优化损失是:
优化:各个DIP的架构类似于[38]中使用的架构。 与基本DIP一样,我们发现在输入噪声中增加额外的非恒定噪声扰动可以增加重建的稳定性。 我们通过迭代逐渐增加噪声扰动。 我们通过使用8个变换(4个旋转90°和2个镜像反射 - 垂直和水平)转换输入图像I和所有DIP的相应随机噪声输入来进一步丰富训练集。 这种增强也被发现在[35]的无监督内部学习中是有用的。 优化过程使用ADAM优化器[25]完成,在Tesla V100 GPU上每张图像需要几分钟。
Inherent Layer Ambiguities:分离2个纯不相关纹理的叠加相对简单(见图3.a)。 除了恒定的全局颜色模糊度c之外没有真正的模糊性:I =(y 1 + c)+(y 2 -c)。类似地,纯粹的非重叠纹理相对容易分割。 然而,当单个层包含多个独立区域时,如图3.b所示,分离变得模糊(注意图3.b的恢复输出层中的切换纹理)。 不幸的是,这种模糊性几乎存在于任何自然的室内/室外图像中
为了克服这个问题,通常需要初始的“提示”来指导Double-DIP。 这些提示以非常粗糙的图像显着性的形式自动提供[20]。 即,在前几次迭代中,鼓励DIP1在显着图像区域上训练更多,而引导DIP 2在非显着图像区域上训练更多。 经过几次迭代后,本指南将放宽。 当有多个图像可用时,这种模糊性通常会自行解决,而不需要任何初始提示。 例如,在视频透明度中,2个视频层的叠加在帧与帧之间变化,从而产生不同的混合。 然而,每个层的统计数据在整个视频中保持不变(尽管它的动态)[34,33]。 这意味着单个DIP足以表示单个视频层的所有帧。 因此,Double-DIP可用于将视频序列分成2个动态层,并且通常可以在没有初始提示的情况下这样做。
-
Segmentation
Fg / Bg分割可以被视为将图像I分解为前景层y 1和背景层y 2,在每个像素x处由二进制掩模m(x)组合:
这个公式自然适合我们的框架,y1和y2符合自然图像先验,每个都比'生成'更简单'。这个要求通过[5]验证,将“良好的图像片段”定义为一个可以很容易的 使用自己的作品组成,但很难使用图像其他部分的作品。
图1顶行中的Zebra图像演示了方程式1中指定的分解。 显然,由DIP 1和DIP 2生成的层y 1和y 2均符合[5]的定义,因此也允许获得良好的分割掩模m。 请注意,DIP1和DIP2会自动填充每个输出图层中的“缺失”图像部分
为了鼓励学习的分割掩码m(x)为二进制,我们使用以下正则化损失:
虽然Double-DIP不捕获任何语义,但它能够仅基于无监督的层分离获得高质量的分割,如图4所示。请在项目网站上查看更多结果。 其他分割方法,例如语义分割(例如,[21])可能胜过Double-DIP,但这些方法在许多标记的例子上受到监督和训练。
Video segmentation:通过利用顺序视频帧共享内部补丁统计[34,33]的事实,可以将相同的方法用于Fg / Bg视频分割。视频分割被转换为2层分离,如下所示:
- Image Dehazing
室外场景的图像经常被散射介质降级(例如,雾度,雾,水下散射)。 这种图像的劣化随着场景深度而增加。 通常,模糊的图像I(x)被建模[23]:
Handling non-uniform airlight:大多数单图像盲去雾方法(例如[23,28,18,6,8])假定整个图像的均匀的直通颜色A(即,A(x)≡A)。对于基于深度网络的去雾方法[10,30]也是如此,其在朦胧/非朦胧图像对的合成数据集上进行训练。然而,均匀的空气假设只是一种近似。它往往会破裂,例如在黎明或黄昏时拍摄的室外图像,当太阳位于地平线附近时。通过雾霾颗粒对太阳光线的非各向同性散射影响空气颜色,这导致空气颜色在整个图像中变化。当均匀气密假设成立时,从朦胧I估计单个均匀的气流颜色A相对容易(例如,使用[23]之前的暗通道,或[6]的基于补片的先验),以及具有挑战性的部分仍然是t图估计。然而,当均匀的气密假设中断时,这会产生具有扭曲颜色的去雾效果。另一方面,估计变化的空气是一个非常具有挑战性和不利的问题。我们的Double-DIP框架允许通过将A-map视为另一层,并将t-map作为掩模,同时估计变化的空气图和变化的t-map。这导致更高质量的图像去雾。估计均匀与变化的空气的效果在图10中举例说明。
在去雾中,Loss Reg强制掩模t(x)是平滑的(通过最小化其拉普拉斯算子的范数)。 朦胧图像I(x)中的贴片的内部自相似性弱于其基础无雾图像J(x)[6]。 这使得第一个DIP收敛到无雾图像。 然而,A图不是典型的自然图像。 虽然它满足强烈的内部自相似性要求,但它往往比自然图像更平滑,并且不应偏离全球的空气颜色。 因此,我们在气垫层上应用额外的正则化损失:kA(x) - Ak 2,其中A是使用标准方法之一从模糊图像I估计的单个初始气流颜色(我们使用[6]的方法)。 尽管与初始空气A的偏差很微小,但它们对于恢复的无雾图像的质量非常重要(见图10)。
我们在O-HAZE数据集[4]上评估了我们的框架,并将其与无监督和自监督的去雾算法进行了比较。 结果如表1所示。在数据上,我们在所有除雾方法中排名第二。 但是,从视觉上看,在这个数据集之外的图像上,我们的结果似乎超过了所有的去雾方法(参见项目网站)。 我们进一步想要与NTIRE'2018 Dehazing Challenge [2]的获胜方法进行比较,但只有其中一种方法可用代码[39]。 我们的实验表明,虽然这些方法在挑战的微小测试集上获得了最先进的结果(仅5个测试图像!),但它们似乎严重过度挑战训练集。 实际上,它们在该数据集之外的任何模糊图像上表现非常差(参见图11和图11)
项目网站)。 在项目网站上可以找到与更多方法和更多图像的视觉比较。 - CONCLUSION
“Double-DIP”是无监督层分解的统一框架,适用于各种任务。 除了输入图像/视频之外,它不需要任何训练示例。 尽管是通用的,但在某些任务(例如,去雾)中,它实现的结果与本领域的领先方法相当或甚至更好。 我们认为,用语义/感知线索增强Double-DIP可能会导致语义分割和其他高级任务的进步。 这是我们未来工作的一部分。