CVPR论文 | 基于尺度空间变换的本征图像分解-阿里云开发者社区

开发者社区> 阿里技术> 正文

CVPR论文 | 基于尺度空间变换的本征图像分解

简介: 以CNN为代表的深度神经网络作为通用的函数映射关系拟合器在对图像数据的处理中展现了广泛的优越性。本工作针对图像到图像的转换问题,利用图像的尺度空间(scale space),设计了一个基于图像尺度空间分解的通用神经网络,刷新了图像分解问题在标准数据集上的测试性能,并可见用于深度重建和像素标记等常见视觉问题。

image

小叽导语:以CNN为代表的深度神经网络作为通用的函数映射关系拟合器在对图像数据的处理中展现了广泛的优越性。本工作针对图像到图像的转换问题,利用图像的尺度空间(scale space),设计了一个基于图像尺度空间分解的通用神经网络,刷新了图像分解问题在标准数据集上的测试性能,并可见用于深度重建和像素标记等常见视觉问题。

摘要

我们引入了一种新的网络结构,用于将图像分解为其本征的反射图像和光照图像。我们把它看作是一个图像到图像的转换问题,并且将输入和输出在尺度空间进行分解。通过将输出图像(反射图像和光照图像)扩展到它们的拉普拉斯金字塔的各个成分,我们开发了一种多通道网络结构,可以在每个通道内并行地学习到一个图像到图像转换函数,这个函数通过一个具有跳过连接的卷积神经网络来表示。该网络结构是通用的和可扩展的,并且已经在本征图像分解问题上表现出优异的性能。我们在两个基准数据集上评估了网络:MPI-Sintel数据集和MIT Intrinsic Images数据集。定量和定性结果都表明,我们的模型在比之前最先进的技术上有了明显的进步。

1 引言

最近在表示学习中出现了一种新兴的趋势,即学习从图像中分解出各个成分来解释输入的各个维度,例如照明、姿态和属性。然而,这个问题的初步形式之一,也就是分解图像为其本征的反射图像和光照图像,并没有引起足够的重视。本征图像分解问题的解决方案将能够进行材料编辑,为深度估计提供线索,并为人类感知中长期存在的亮度恒定问题提供计算解释。然而,即使目前已经有了激动人心的进展,这个问题仍然是我们需要继续努力的一项艰巨任务。

部分难题来自这个问题的不确定性。基于反射图像和光照图像的先验知识,Retinex算法将分解限制为梯度域中的阈值问题。这个模型有实用的效果,但不能处理复杂的材质或几何形状的锋利边缘,或是在强点光源下投射的阴影。另一部分难题在于图像渲染过程的复杂性,这是一个通过复杂的光学过程,将场景材质,几何和照明转换为二维图像的过程。本征图像分解的目的是试图部分地实现这个过程的逆向过程。

我们的工作中,我们使用深度神经网络作为函数逼近器来学习映射关系,从而在图像到图像的转换框架中处理本征图像分解过程。尽管已经提出了类似想法的模型(例如[1, 2]),但我们的模型探讨了网络输入和输出的尺度空间,并且通过将函数逼近管线水平扩展为并行集的子带转换。

我们的工作贡献主要在于,提出了一个用于本征图像分解的,基于尺度空间分解的生成网络。我们通过使用可学习的上/下采样器来建立经典的高斯和拉普拉斯金字塔结构来实现这个目的。我们最终的模型是一个复合网络,可以生成输出反射图像和光照图像的各个尺度下的分解;每个尺度下的分解由一个子网络预测,这些子网络的结果组合在一起成为我们的最终结果。

我们还提出了一个新的损失函数,它可以有效地保留图像的细节,保证反射图像的平滑和和光照的独特性质。我们进一步提出了一种数据增强的方式,以对抗标记数据的稀缺性——我们受到Breeder学习的启发,使用了一个预训练的网络给没有标签的图片生成标签,然后再对图片施加一定的扰动来生成新的数据集,最后用生成的数据集来提升我们网络的性能。

我们已经在MPI-Sintel数据集和MIT本征图像数据集上评估了我们的模型。实验结果证明了所提出的模型的有效性。我们的最终模型在各种评估指标上,与先前方法相比具有着显著的优势。

2 我们的方法

让我们首先考虑将输入图像I转换为输出图像A,作为一个复杂的,高度非线性的和像素级的非局部映射函数 I→f(I)。已经很好地证明,深卷积神经网络是用于各种映射关系(从图像分类到图像到语言翻译)的通用和实用的参数化和优化框架。现在,让我们考虑如何使网络体系结构适应图像到图像转换问题,其中输入和输出都是具有自然细节层次(LOD)金字塔结构的图像,并且映射函数将输入链接到输出可能也会根据金字塔层次结构进行多通道分解。在下一节(2.1)中,我们将描述从ResNet体系结构开始的模型改革过程,该体系结构将该属性用于我们的最终多通道分层网络体系结构。

我们将图像I的高斯金字塔写为[I0,I1,...,IK],其中I0 = I,K是层的总数。我们用Lk(I)=Ik – u(k + 1)表示第k个拉普拉斯金字塔层,其中u是上采样算子。根据定义,图像的拉普拉斯金字塔展开为I = [L0(I), L1(I), ..., Lk−1(I), IK ],其中L0(I)尺度和IK是高斯金字塔中定义的最低尺度层。

2.1 网络结构的演化

首先,让我们使用两个块(L和H)的简化网络来为低频带的映射建模映射I→f(I):L,并且H处理高频带中的映射以及任何残差这些网络由L省略。通过将L的输出与H的输出进行跳跃连接和求和,该网络是ResNet架构的实例。

image

接下来,通过在输出上应用拉普拉斯金字塔展开式,我们可以将(a)的损失分成两个分量:L的输出被限制以适合低频高斯分量,而H的输出分别适合拉普拉斯细节分量(图2-b)。这个改革后的网络等同于(a)但具有更严格的限制。

一个关键的过渡是从(b)到(c)—— 因为通过将L的输出和H的输出连接起来,可以将两个堆叠的块重新连接成两个并联的分支,并且调整损失在H上相应地。所得到的网络结构(c)等价于(b)——它们表示拉普拉斯分解方程的两种等价形式,即通过将剩余分量从左手边移到右手边并改变符号。(c)中L的损失与正规化形式保持相同,我们的实验发现它是可选的。网络结构(d)是我们最终扩展模型的基础。

d,为此类似于拉普拉斯金字塔分解结构,我们为高频带引入多个子网络块H0,H1,...... HK-1和低频率的一个子网络块LK:网络输入块级联下采样,并且网络块的输出被上采样并从左到右聚合以形成目标输出。在网络中学习下采样和上采样算子的所有参数(图2中的灰色阴影梯形)。所有的网络块共享相同的架构拓扑结构,我们称之为“残差块”,并在第2.2节详细描述。

2.2 残差块

残余块是端到端卷积子网络,它们共享相同的拓扑结构,并将不同比例的输入变换为相应的拉普拉斯金字塔组件。每个残差块由6个连续级联的Conv(3x3)-ELU-Conv(3x3)-ELU子结构组成。由于我们预测输入图像的像素值,因此不使用完全连接的图层。我们采用在近期研究中流行的跳跃连接方案,其中包括Huang等人的DenseNet架构的一些变体。具体来说,在每个子结构中,最后一个Conv的输出按跳过连接进行每个元素的累加,结果是输入到最后一个ELU单元。中间层有32个特征通道,输出是3通道图像或残留图像。将1x1 Conv添加到第一层和最后一层的跳过连接路径中以进行尺寸扩展/缩减,以匹配剩余路径的输出。

我们使用指数线性单位(ELU)作为我们的激活函数,而不是使用ReLU和批量归一化,因为当x < 0时ELU可以生成负激活值,并且具有零均值激活,这两者都可以提高对噪声的鲁棒性,当我们的网络变得更加深入时,训练的融合。此外,我们删除了BN层,因为它可以被ELU部分替换,ELU速度提高了2倍,并且内存使用效率更高。

2.3 损失函数

我们的损失函数如下:

image

数据损失:数据损失定义了预测图像与真实之间的像素级相似性。 我们采用下面的联合双边滤波(也称为交叉双边滤波[3,4]),并结合预测的反照率和阴影的乘积应该与输入相匹配的约束,而不是使用像素方式的均方误差。

image

感知损失:在转换过程中也应该保留高级语义结构,因此使用基于CNN特征的感知损失。我们利用标准的VGG-19 [5]网络从神经激活中提取语义信息。我们的感知损失定义如下:

image

变分损失:最后,我们使用变分项对输出结果进行平滑处理。

image

其中i和j是图像行和列索引。

2.4 数据增强训练

在本节中,我们将描述一种数据增强策略,用于将未标记的图像合并到自我增强网络培训过程中。我们从育种学习的工作中汲取灵感。这个想法是采用一个前向生成模型来为模型生成新的训练对,通过扰动模型产生的参数来增强。这种机制在一定程度上承载了Boostrap的精神,并且证明是相当有效的。例如,Li等人最近将这种策略应用于外观建模网络中,通过根据模型对未标记图像的预测反射率生成训练图像。

我们从一个初步的网络开始,用一个中等大小的数据集进行训练,该数据集具有地面真实反射图像和光照图像。然后,我们将网络应用于一组新图像,并获得估计的反照率A和阴影S。通过简单的综合程序,我们可以从估计中生成新图像。请注意,根据我们的损失定义,A和S不会严格限制为与输入图像完全匹配,因此新合成的图像会偏离原始图像。

为了在增强数据集中引入进一步的扰动,我们另外应用自适应流形滤波器到A和S,并使用过滤结果合成新数据。 AMF滤波算子抑制A和S中可能来自输入图像或由早熟网络产生的噪声或不需要的细节,并用于调整新合成图像的多样性及其地面真实性。

3 实验

在本节中,我们将描述MPI-Sintel数据集和MIT Intrinsic Images数据集上的模型评估。

3.1 数据集

MPI-Sintel数据集由18个场景级计算机生成的图像序列组成,其中17个包含50个场景图像,一个包含40个图像。我们的实验中使用其中的ResynthSintel版本,因为数据满足A×S = I的约束条件。两种类型的训练/测试分割(场景分割和图像分割)用于与之前的工作进行逐一比较。场景分割将场景级别的数据集分割,其中一半场景用于训练,另一场景用于测试。图像分割会随机挑选一半图像进行训练/测试,而不考虑其场景类别。原始版本的MIT Intrinsic数据集具有20个对象在实验室环境下的不同图像,每个图像具有11种不同的照明条件。

3.2 MPI数据集实验结果

MPI-Sintel数据集的评估结果如下图所示。同样,我们的模型比以前的方法产生了令人满意的结果,特别是在网络不易“过度拟合”测试数据的场景分割测试中。

与以前的工作比较:我们首先将我们的模型与以前的一系列方法进行比较,其中包括两个简单的基线Constant Shading和Constant Albedo,一些传统方法以及最新的最新的基于神经网络的模型结果显示我们的模型无论是有/无数据增强训练,在所有三个指标的评估下,都有着最好的性能。

image
image

我们希望指出一个事实,所有方法对Sintel图像拆分的定量结果在某种程度上可能会产生误导。这是因为Sintel数据集中相同场景类别的图像序列彼此非常相似,所以通过在图像级别分割所有数据(相同场景类型的图像可能出现在火车和测试集中),将全部训练集上的训练网络仍然会在图像分割测试集上“表现良好”。但场景分割数据集不会有这个问题。我们的实验中一个有趣的结果是,我们对前一结果的结果边缘在场景分割中比图像分割大。在表格中,尽管我们在图像分割上保留了相当适中的边缘,但我们在场景分割上保留的边距在si-MSE中高达25%,在DSSIM中高达43%,这表明我们网络结构在更具有挑战性的数据集上依然表现良好。

从顺序到并行结构:我们在第2.1节中描述的一个重要的网络架构改革是从顺序结构到多分支并行结构。这种改革将一个深度堆叠网络平滑作为一组并行通道,因此缓解了梯度反向传播问题,传播。该行(Ours Sequential)通过图2中的顺序架构(a)显示了结果。它显示该架构产生了与以前的作品相媲美的性能,但对最终的模型而言并不理想,特别是在DSSIM度量中。

分层优化vs联合优化:我们工作中的另一个架构优化是消除每个拉普拉斯金字塔等级的约束(损失),并同时训练所有网络通道并使用单个损失约束。在后一种情况下,我们称优化方案为联合优化,而前者为分级优化。补充材料中包括一些数值结果,解释层次优化的更多细节。在表1-2中,实验显示出在所有度量标准下联合优化方案有着10%-15%的改进。

对其他因素的自我比较:我们也有一套关于其他因素的控制自我比较,包括金字塔结构,损失函数,交替网络输入和数据增加。

金字塔结构:实验(Ours w / oPyramid)使用单通道网络显示结果,即,我们使用单个残差块直接从输入生成输出,而无需使用多通道分解结构。表1和表2中的结果表明,与对照设置相比,我们的金字塔结构的对应模型提高了30%以上。请注意,随着金字塔层数的增加,网络复杂度呈线性增长直至一个常数因子。

损失函数:实验(Ours w /MSE loss)显示结果,用经典的MSE损失代替我们的损失函数。事实证明,MSE损失的量化误差不会由于尺度不变MSE度量中的大因素而降低。然而,补充材料的定性结果确实揭示了MSE损失会产生模糊边缘的结果。基于结构的度量(DSSIM)在MSE损失和我们的损失之间也显示出更清晰的边际(从场景分割中的10.23到8.86)。

CNN特征作为输入:我们进一步研究在这个任务中高斯金字塔图像分量作为我们网络输入的影响,因为大多数现有的多尺度深度网络使用CNN网络产生的多尺度特征。实验(Ours w /'FPN' input)显示将CNN特征完全作为FPN网络后面的输入的结果。比较显示我们的最终模型具有轻微但不明确的优势,这意味着CNN的高级特征仍然很好地保留了我们的像素到像素转换网络的大部分必要语义信息。

3.3 MIT数据集实验结果

我们还在MIT Intrinsic Images数据集上评估了我们模型的性能,并与以前的方法进行了比较。结果如下图所示。在这组实验中,我们在两个不同的设置中进行了数据增强:Ours + DA和Ours + DA +。不同之处在于我们为增强所做的数据。Ours + DA是一种普通的设置,其中通过一组类似的对象类别名称从数据集中提取扩展数据。在Ours + DA +中,我们在新的照明条件下。这会创建一个非常类似于原始数据集的数据集,在实际情况下几乎不可能获取。换句话说,它为增强数据的质量设定了一个上限。我们的结果表明,这两种增强设置都是有效的,而后者提供了我们可以从我们为此任务引入的数据增强方案中获得的限制线索。

image

image

4 结论

我们引入了受拉普拉斯金字塔启发的神经网络架构来进行本征图像分解。我们的神经网络将这个问题建模为不同尺度下的图像到图像的转换。我们在MPI Sintel和MIT数据集上进行了实验,实验结果表明我们的算法可以得到不错的数值结果和图片质量。对于未来的工作,我们期望所提出的网络架构能够在其他图像到图像转换问题上进行测试和改进,例如像素标记或深度回归。

原文发布时间为:2019-02-18
本文作者:廖子承
本文来自云栖社区合作伙伴“ 阿里巴巴机器智能”,了解相关信息可以关注“ 阿里巴巴机器智能”。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

关于阿里的技术创新均呈现于此.

官方博客
官网链接