目录
摘要
1.介绍
2.相关工作
3.方法
3.1、迭代几何校正
3.2、顺序对抗训练
3.3、敌对目标
4.实验
4.1、3D立方体
4.2、室内物体
4.3、眼镜
5.结论
论文地址
我们解决了向前景对象发现真实几何校正的问题,使得它在合成到背景图像时显得自然。为了实现这一目标,我们提出了一种新型的生成对抗网络(GAN)架构,该架构利用空间变换器网络(STN)作为发生器,我们称之为空间变换器GAN(ST-GAN)。ST-GAN通过在几何扭曲参数空间中操作寻求图像真实感。特别是,我们利用迭代STN变形方案,并提出了一种顺序训练策略,与单个发生器的天真训练相比,可获得更好的结果。ST-GAN的关键优势之一是它能够间接适用于高分辨率图像,因为预测的扭曲参数可以在参考帧之间转换。我们在两种应用中展示了我们的方法:(1)可视化室内家具(例如从产品图像中)如何在房间中感知,(2)幻想如何配戴真正的肖像时眼镜配件的外观。
生成图像建模随着卷积神经网络(CNN)的出现而显着发展。大多数方法通过学习低维嵌入作为自然图像子空间的编码并且由此在像素级进行预测来约束图像内可能的外观变化。我们在这里将这些方法称为直接图像生成。生成敌对网络(GANs)[7]尤其证明是一种用于逼真图像生成的特别有力的工具。它们包括一个由代码产生图像的发生器网络(G)和一个区分真实图像与伪造图像的鉴别器网络(D)。这两个网络发挥一个极小极大游戏,导致G产生逼真的图像,而D在达到平衡时无法区分这两者。
直接图像生成,但是,有其局限性。由于所有图像的空间都非常高,而且图像生成方法受限于有限的网络容量,所以直接图像生成方法目前只能在受限域(例如人脸)或低分辨率下正常工作。
图1:由于外观和几何差异,复合图像容易落在自然图像流形之外。我们试图学习几何校正,使复合图像依次朝向几何图像和自然图像流形的交集。
在这项工作中,我们利用空间变换网络(STNs)[11],这是一种特殊类型的CNN,能够对图像进行几何变换,以提供一种更简单的方式来生成逼真的图像 - 通过限制可能的输出空间 - 定义真实图像的低维几何变换。我们提出空间变换器生成敌对网络(ST-GANs),它学习GAN框架内的空间变换发生器。对抗性的损失使我们能够学习几何校正,从而导致位于自然图像人与几何流形的交集处的扭曲图像 - 特定于目标图像的几何操作空间(图1)。为了实现这一目标,我们提倡采用顺序对抗训练策略来学习迭代空间变换,这些变换将大型变换分解为更小的变换。
我们评估上下文图像合成中的ST-GAN,其中源空间变换发生器G对源前景图像及其掩模进行变形,并且由鉴别器D评估所得到的合成图像。在这个设置中,D试图从实际图像中区分翘曲的复合材料,而G试图通过生成尽可能逼真的复合材料来愚弄D。据我们所知,我们首先通过GAN框架中的几何变换来解决逼真的图像生成问题。我们演示了将合成家具应用于室内场景的这种方法,例如,预览了购买物品在房屋中的外观。为了在这个领域进行评估,我们创建了一个室内场景图像的综合数据集作为背景,以蒙版对象作为前景。我们还展示了ST-GAN在完全不成对的设置中用于在肖像图像上合成眼镜的任务。大规模的用户研究表明,我们的方法提高了图像合成的真实性。我们的主要贡献如下:
图像合成指的是在背景图像顶部覆盖掩模前景图像的过程。图像合成的主要挑战之一是前景物体通常来自与背景不同的场景,因此它不可能以多种方式与背景场景相匹配,这会对合成物体的真实性产生负面影响。这些可以是外观差异(由于照明,白平衡和阴影差异)和几何差异(由于相机视点和对象定位的变化)。
现有的照片编辑软件具有各种图像外观调整操作,使用户可以创建逼真的复合图像。先前的工作试图通过泊松混合[26]或更近期的深度学习方法[42,30]来自动化外观校正(例如对比度,饱和度)。在这项工作中,我们专注于第二个挑战:纠正源图像和目标图像之间的几何不一致。
空间变换网络(STN)[11]是将学习型图像变形纳入深度学习框架的一种方法。Spatial Transformer模块由一个子网络组成,预测一组warp参数,后面跟着一个(可微分)warp函数。
已经显示STN在解决差别化任务的几何变化方面以及广泛的扩展应用(例如鲁棒滤波器学习[4,13],图像/视图合成[41,6,24,37]和3D表示学习[14,35,40]。最近,逆向组合STN(IC-STN)[17]提出了一种迭代对齐框架。在这项工作中,我们借用迭代翘曲的概念,但不强制在几何预测网络中重现;相反,我们在顺序训练方案的每个变形步骤中添加不同的生成器。生成对抗网络(GANs)[7]是通过在发生器网络G和鉴别器网络D之间进行极小极大值优化游戏而学习的一类生成模型。通过这种对抗过程,GAN被证明能够学习与给定数据收集的经验分布相匹配的生成分布。GAN的一个优点是,损失函数本质上是由鉴别器网络学习的,该鉴别器网络允许在具有强大监督的地面真实数据不可用的情况下进行培训。
GAN用于各种领域的数据生成,包括图像[27],视频[31]和3D体素化数据[33]。特别是对于图像,已经显示在各种各样的条件图像生成问题中产生引人注目的结果,诸如超分辨率[16],修补[25],图像 - 图像平移[10,44,19]和图像编辑/操作[43]。
最近,STN也被试图进行对象检测的对抗训练[32],其中产生了具有特征变形的对抗性例子以强化物体检测器。LR-GAN [36]通过在(直接)生成的图像上附加STN来处理直接图像生成问题,以分解形状变化。我们在给定输入的条件图像生成空间中探索带有GAN的STN的上下文,这是两个框架更直接的整合。
我们的目标是给定背景图像IBG和前景对象IFG以及相应的掩膜MFG,进行图像合成的逼真几何校正。我们的目标是校正前景物体的相机视角,位置和方向,以使得生成的复合物看起来自然。合成过程可以表示为:
为了简单起见,我们进一步引入符号⊕来表示合成(IFG中暗含的MFG)。给定IFG的复合参数p0(定义初始翘曲状态),我们可以将(1)改写为其中图像作为翘曲参数的函数写入。该算子如图2(a)所示。
图2:背景。 (a)给定初始复合变换,使用(1)将前景图像和蒙版合成到背景图像上。 (b)使用空间变换网络(STN),几何预测网络预测以前景和背景图像为条件的更新,导致新参数。更新是用warp合成(3)进行的。 (c)我们的最终形式是一个迭代STN,用于预测前景中的一系列累积翘曲更新,以使得到的合成图像更接近自然图像流形。
在这项工作中,我们将几何扭曲函数限制为单应变换,它可以表示大多数平面或小扰动物体的近似三维几何整形。因此,我们假设前景对象的视角接近正确的视角;当人们选择合成前景物体的相似但不相同的图像时,通常会出现这种情况。
我们的网络设计的核心模块是一个STN(图2(b)),其中几何预测网络G预测了更正。我们在背景和前景图像上调整G,因为知道如何将对象转换为适合背景场景需要知道两者之间的复杂交互作用。这包括对象和背景场景的几何形状,相对摄像机位置以及对真实物体布局的语义理解(例如,在房间中间有一个窗户是没有意义的)。
从图像像素中预测大位移扭曲参数是非常具有挑战性的,因此大部分以前的图像对准工作都是以迭代方式预测局部几何变换[9,21,2,34,18]。同样,我们建议使用迭代STN来预测一系列warp更新,如图2(c)所示。在第i次迭代中,给定输入图像I和前一个翘曲状态,修正翘曲更新和新翘曲状态可写为
是几何预测网络,◦表示扭曲参数的组成。这种迭代STN系列由于多次变形操作而保留原始图像信息丢失[17]。
为了使STN学习将图像映射到更接近自然图像流形的几何变形,我们将它们集成到GAN框架中,我们称之为ST-GAN。这个动机是双重的。首先,学习现实的几何校正是一种多模态问题(例如,床可以合理地存在于房间中的多个地方);其次,对这些扭曲参数的监督通常是不可用的。ST-GAN与常规GAN的主要区别在于:(1)G生成一组低维翘曲参数更新而不是图像(整组像素值);和(2)D获得与背景合成的变形前景图像的输入。
为了学习对自然图像流形的渐进几何改进,我们采用了迭代STNs的连续对抗训练策略(图3),其中几何预测器G对应于发电机组的堆叠。我们首先培训一个,每个后续的新发电机都是通过修复所有以前的发电机的重量来添加和培训的。结果,我们只训练和D,通过将产生的经过Icomp 的合成图像送入鉴别器D,并将其与实际数据分布进行匹配。这种学习理念与监督下降法[34]有共同之处,其中一系列线性回归器被贪婪地解决,并且我们发现它使得整体训练更快,更稳健。最后,我们对整个网络进行端到端调整以实现我们的最终结果。请注意,我们对发生器的所有阶段使用相同的鉴别器D,因为“几何假”的基本度量在迭代过程中不会改变。
图3:ST-GAN的顺序对抗训练。当学习一个新的变形状态时,只有新的发生器被更新,而前一个被固定。顺序学习过程中,单个鉴别器(从所有阶段学习)不断得到改进。
我们优化了Wasserstein GAN(WGAN)[1]我们的对抗游戏的目标。我们注意到ST-GAN适用于任何其他GAN变体[22,39,3],并且GAN体系结构的选择与这项工作是正交的。第i阶段的WGAN minimax目标是
其中实数和计算是从真实数据和假复合分布中提取的,D是通过添加梯度惩罚项Lgrad [8]强制执行的1-Lipschitz函数的集合。这里,(其中被暗示,在(3)中定义)是从(递归暗示)的后验分布中抽取的。当,的初始扭曲是从Ppert中提取的,这是一种用于几何数据增强的预定义分布。
我们还通过引入额外的惩罚Lupdate 来限制warp更新位于信任区域内。这是非常重要的,因为ST-GAN可能会学习微不足道的解决方案来移除前景(例如,将它翻译成图像或将其缩小为无),只留下背景图像,从而使复合图像变得逼真。
其中λgrad和λupdate分别是D梯度和warp更新的惩罚权重,而和又通过(3)暗示。当使用N个学习更新端对端地对ST-GAN进行细微调整时,生成器目标是来自每个的总和,即。
我们从描述基本的实验设置开始。
扭曲参数化。我们用李代数[23]参数化单应性,即翘曲参数和单应性矩阵通过指数映射关联。在该参数化下,翘曲成分可以表示为添加参数,即。
模型架构。我们表示如下:C(k)是一个二维卷积层,其大小为,步幅2(将特征映射分辨率减半),L(k)是具有k个输出节点的完全连接层。发生器的输入具有7个通道:用于前景的RGBA和用于背景的RGB,并且鉴别器D的输入是具有3个通道(RGB)的合成图像。所有图像都重新缩放到,但我们注意到参数化的warp可以在测试时应用于全分辨率图像。
G的架构是C(32)-C(64)-C(128)-C(256)C(512)-L(256)-L(8),其中输出是8维单应性的情况)扭曲参数更新。对于G中的每个卷积图层,我们将原始图像的降采样版本(使用平均汇集)与输入要素图连接起来。对于D,我们使用PatchGAN体系结构[10],以及布局C(32)-C(64)-C(128)-C(256)C(512)-C(1)。在所有图层之间插入非线性激活,它们分别是G和LeakyReLU的ReLU,D为0.2。我们忽略了所有的标准化层,因为我们发现它们会降低培训效果。
图4:(a)我们创建一个三维立方体渲染的综合数据集,并通过尝试纠正随机生成的几何扰动来验证ST-GAN的效率。 (b)ST-GAN能够以正确的视角修正立方体,尽管可能与实际情况有偏差。
首先,我们验证ST-GAN是否可以在简单的人工设置中进行几何校正。我们创建了一个由3D矩形房间,房间内的轴对齐立方体和透视摄像机组成的综合数据集(图4(a))。我们将随机3-DoF转换应用到相机的立方体和6-DoF扰动,并将立方体/房间对分别渲染为前景/背景(分辨率为)。我们随机地为立方体和房间的所有边着色。
我们使用随机单应性转换将渲染的前景立方体扰乱为初始扭曲,并通过将原始立方体与D的基础真实对象配对来训练ST-GAN。如图4(b)所示,ST-GAN能够校正扰动的立方体尺度和透视失真w.r.t.底层的场景几何。此外,STGAN有时能够发现其他现实的解决方案(例如,不一定要调整回地面真实位置),这表明ST-GAN能够学习此数据集中正确的多维数据集布局的多模态分布。
接下来,我们将展示如何将ST-GAN应用于实际的图像合成领域。我们选择合成家具在室内场景中的应用,并展示其在模拟和真实世界图像上的效果。为了收集训练数据,我们创建了一个由渲染的背景场景和带有蒙版的前景对象组成的综合数据集。我们对合成测试集以及高分辨率真实世界照片进行评估,以验证ST-GAN是否也推广到真实图像。
表1:室内对象实验的数据集统计数据,报告为扰动选择的对象实例的数量,以及渲染的扰动样本的最终数量。
图5:渲染管道。给定一个室内场景和一个候选物体,我们移除遮挡物体以创建一个无遮挡的场景,我们在另一个摄像机姿势下做同样的事情。我们进一步删除该对象以创建具有不匹配视角的训练样本对。
数据准备。我们从SUNCG数据集[29]中提取合成的室内场景图像,其中包括45,622个室内场景,其中有37个类别的超过5M的3D对象实例[28]。我们使用Zhang等人选定的41,499个场景模型和568,749个相机视点。 [38]并利用Mitsuba [12]用全局照明渲染照片般逼真的图像。我们保留了一个候选3D对象列表,其中包含从摄像机视点可见并且属于表1中列出的类别的所有实例。
渲染流水线如图5所示。在此过程中,我们从候选列表中随机采样一个对象,并附带相关的相机视点。为了模拟无遮挡的合成场景,通过检测重叠的对象遮罩来自动删除遮挡。我们渲染一个图像与候选对象存在(作为“真实”的样本),并删除一个(作为背景图像)。另外,我们扰动6-DoF相机的姿态,并用它的蒙版(作为前景图像)渲染物体进行合成。因此,我们从不同的摄像机视角获得渲染对象;这模拟了前景和背景透视不匹配的图像合成任务。我们注意到,单应校正只能逼近这些三维扰动,所以没有平面地面真实变形用于监督。
表2:室内对象实验的AMT用户研究。百分比表示每个类别中的图像被Turkers分类为“真实”的频率。我们可以看到,我们的最终模型ST-GAN(端到端)在跨所有类别平均时大大提高了几何真实性。我们的现实主义表现随着训练的经纱数量以及端到端的细微调整而提高。地面实况数字是所有方法的理论上限。
我们在表1中报告了我们呈现的数据集的统计数据。所有图像都以分辨率呈现。
基线。 ST-GAN的一个主要优势是它可以从“现实主义”比较中学习,没有监督的地面变形参数。但是,以前的方法需要直接监督弯曲参数。因此,我们将在前景对象上随机单应性摄动训练的自我监督方法作为输入进行比较,产生翘曲参数作为自我监督。我们再次强调,这种直接监督在这个应用中是不充分的,因为我们的目标是找到多种逼真的复合材料的最接近点,而不是拟合特定的配对模型。我们的基线是:(1)HomographyNet [5],一种基于CNN的方法,学习经纱参数的直接回归;(2)监督下降法(SDM)[34],通过级联线性回归贪婪学习参数。我们还为4条连续经纱训练SDM基线。
定量评估。与目标是现实的大多数图像生成任务一样,没有可能的自然定量评估。因此,我们对亚马逊Mechanical Turk(AMT)进行感知研究,以评估翘曲复合材料的几何真实性。我们从每个类别中随机选择50个测试图像,并从225个参与者收集数据。每个参与者都从一个随机选择的算法(表2)中看到一幅合成图像,并询问他们是否看到任何形状在所呈现的图像中看起来不自然的物体。
我们在表2中报告了AMT评估结果。平均而言,ST-GAN显示出几何真实性的大幅改善,并且质量相对于连续弯曲得到改善。考虑到翘曲仅限于单应性变换,这些结果是有希望的,因为我们不能纠正诸如遮挡之类的平面外旋转的更复杂的视角合成效应。另外,ST-GAN在训练期间不需要地面真实扭曲参数,其性能远远优于其他基线,而SDM不会有任何改进,并且HomographyNet增加了真实感,但程度较低。
消融研究。我们发现学习迭代warps是有优势的:与具有相同训练迭代的非迭代版本(表2中非seq。)相比,ST-GAN(具有多个生成器)通过迭代warp更新更有效地逼近几何真实性。此外,我们使用与ST-GAN相同的顺序训练策略训练迭代HomographyNet [5],但发现对非迭代版本的视觉改善很小;因此我们将重点放在与原始[5]相比较。
定性评估。我们在图6中给出了定性结果.ST-GAN在视觉上优于直接单应性参数监督训练的基线,这也反映在AMT评估结果中。图7显示ST-GAN如何用每个发生器更新单应变形;我们看到它学习逐步更新,在每一步都会改进现实。此外,我们在图8中说明了ST-GAN学习的效果,包括房间内不同组合位置处物体透视的渐变,以及预测最有可能的合成位置的“贴紧”效果初始位置。这些功能可以自动从数据中学习,并且在交互式设置中实现时可以很有用。
图6:室内渲染测试集的定性评估。与直接单应监督训练的基线相比,ST-GAN创造出更逼真的复合材料。我们发现ST-GAN能够学习数据集中的常见对象 - 房间关系,例如靠在墙上的床。请注意,ST-GAN纠正了观点,但不一定是规模,因为对象通常存在于真实数据的多个比例中。我们观察到,ST-GAN偶尔对不寻常的物体表现更差(例如色彩奇特,最后一列)。
图7:ST-GAN中迭代更新的可视化,其中对象以渐进方式渐进式改进,以达到逼真。
图8:拖动和贴紧。 (a)在场景中拖动对象时,透视图会随着合成位置而变化,以与摄像机的视点相匹配。 (b)STGAN将物体“卡入”到经常合成的地方(例如书架通常靠在墙上)。
图9:真实世界的高分辨率测试结果。这里我们展示了我们的方法应用于真实图像。输入被缩小并馈送到网络,然后以全分辨率应用变形参数。
最后,为了测试ST-GAN是否扩展到真实图像,我们提供了对从互联网收集并手动屏蔽的照片,高分辨率测试图像的定性评估(图9)。这是可行的,因为从低分辨率网络输入预测的翘曲参数可转移到高分辨率图像。因此,ST-GAN间接适用于各种图像分辨率,而不像传统的GAN框架那样受到严格限制。我们的结果证明了STGAN可用于高质量图像生成和编辑。
图10:CelebA为背景和真实图像的分割,以及制作的眼镜为前景。
最后,我们在完全不成对的设置中演示结果,在该设置中,我们学习了在人脸上合成眼镜的翘曲修正。配对数据的缺乏意味着我们不一定有相同的人都有和没有眼镜的照片(基本事实)。
数据准备。我们使用CelebA数据集[20],并遵循提供的培训/测试分割。然后,我们使用“眼镜”注释将训练集分为两组。戴眼镜的第一批人是我们的对抗环境中要与之匹配的真实数据,而没有眼镜的人群则作为背景。这导致了152249次训练和18673次没有眼镜的测试图像,以及10521次带有眼镜的训练图像。我们手工制作了10副正面眼镜作为前景来源(图10)。我们注意到,没有关于脸部放置位置或方式的注释,并且我们没有任何关于眼镜的不同部分位于前景图像中的信息。
在这个实验中,我们用连续经纱训练ST-GAN。我们将对齐的面裁剪为图像,并将眼镜的大小调整为在中心处初始化为120像素的宽度。在训练过程中,我们通过随机扰动人脸随机相似变换和随机单形眼镜来增加几何数据增强。
结果。结果如图11所示。与之前的实验一样,ST-GAN逐渐学习以逐步的方式翘曲前景眼镜,从而改善每一步的真实感。我们发现,即使有一定数量的面内旋转,我们的方法也可以将眼镜正确对准人们的脸部。但是,ST-GAN在面外旋转太多的人脸上工作较差。
虽然这样的效果可以通过利用面部标志来实现,但我们的结果令人鼓舞,因为没有关于任何一个领域的结构的信息,我们只能访问有和没有眼镜的人的不成对图像。尽管如此,ST-GAN能够学习驱动空间变压器发电机的现实流派。我们相信这展示了将ST-GAN扩展到其他图像对齐任务的巨大潜力,其中获取配对数据非常具有挑战性。
图11:眼镜合成结果。 (a)眼镜逐渐进入更现实的位置。 (b)STGAN学习扭曲各种眼镜,使得由此产生的位置通常是现实的。最上面的行表示最初的复合材料,最下面的行表示ST-GAN输出。最后4个例子显示失败的情况下,眼镜不能收敛到脸上。
我们已经引入了ST-GAN作为模拟几何现实的一类方法。我们已经展示了ST-GAN在图像合成任务中的潜力,显示了大规模渲染数据集中改进的真实性,以及完全不成对的真实世界图像数据的结果。我们希望这项工作能够为研究界开辟新的收入,继续朝这个方向发展。
尽管ST-GAN取得了令人鼓舞的成绩,但仍然存在一些局限性。当发现不平衡的数据时,我们发现ST-GAN会受到更多的影响,特别是罕见的例子(例如眼镜实验中的白色厚框眼镜)。此外,我们还发现STGAN的收敛失败,会出现更多的极端平移或物体旋转。我们相信未来对经典图像对齐方法与GAN框架的收敛性的分析值得研究,以提高ST-GAN的鲁棒性。