Advertisement

Shape and Viewpoint without Keypoints论文笔记,ECCV2020

阅读量:

摘要:我们提供了一个学习框架,该框架学习从单个图像中恢复3D形状,姿势和纹理 ,并在没有ground truth 3D shape,多视图,相机视点或关键点监督 的情况下对图像集进行训练。我们在“综合分析”框架中解决这个高度受限的问题,目标是预测形状,纹理和相机视点的相似性,这些形状,纹理和相机视点可能会产生具有各种已习得的类别特定先验的图像(??)。我们在本文中的特殊贡献是提出了一个像机分布的表示形式,我们称其为“camera-multiplex””。我们没有选择点估计,而是保留了一组在训练过程中进行了优化的相机假设,以在给出当前形状和纹理的情况下最好地解释图像。我们称此方法为无监督的特定类别网格重建(U-CMR),并在CUB,Pascal 3D和新的Web抓取的数据集上展示定性和定量结果。我们获得了目前最好的相机预测结果,并表明我们可以使用图像集学习预测整个对象的各种形状和纹理,而无需任何关键点注释或3D ground truth。

1 introduction

近年来,使用深度网络从2D图像推断3D形状取得了很大进展。这些方法基于所使用的监督信号分为两类(a)ground truth的3D模型(可在诸如ShapeNet之类的CAD模型集合中使用)(b)相同对象的多个视图,可以通过不同视图的对应性,使用深度学习或经典技术(例如形状雕刻或运动结构)来学习3D形状。但是,我们需要这些监督吗?

在互联网上可以轻松找到大量属于特定类别的对象(例如鸟,汽车或椅子)的图像集合。首先我们关注鸟类,对于鸟类,存在如图1(左)所示的CUB [35]这样的数据集。请注意,这是“多实例单视图”设置。对于每个鸟类实例,我们只有一个视图,并且即使多个实例是同一类鸟,每只鸟类的形状也略有不同。与具有“单实例多视图”的经典SFM相比,我们的目标是“ 3Dfy”这些鸟。从单个图像中恢复3D形状及其纹理贴图,然后可以从不同的相机视角对其进行渲染,如图1(右)。 Kanazawaet等人的“类别特定的网格重构”[15]工作介绍了这种特定的公式。 他们的算法(CMR)是我们工作的灵感。甚至更早的Cashman和Fitzgibbon [3]在分析海豚图像上的工作表明,通过“具有形状类别的可变形模板模型”的“综合分析”范式可以使人在优化框架中推断3D形状。

令人遗憾的是,这些方法虽然开创性地利用了一些有用的监督信息。这包括(1)类别的平均形状(2)每个实例的剪影(3)各种实例上标记的关键点(例如,每只鸟的喙尖)。其中,最需要的是标注的关键点。整个类别仅需要一个平均形状,有时使用非常通用的初始化(例如球体)就足够了。可以通过例如Mask R-CNN的实例分割网络来标记剪影(或许也可以用与类别无关的方式)。但是在每个实例上都标注关键点是一个很大的工作量。对于像人类这样的单个类别,可以证明这一努力是合理的,但是对于我们可能想要“ 3Dfy”的数千个类别,我们承受不起。是的,我们可以通过网络标记关键点,但要进行训练需要关键点标签!近年来,在无监督的关键点检测方面已经做出了一些努力[13],但是到目前为止,这些方法学习的是依赖于视点的关键点,这些关键点在存在180度旋转的情况下常常会混淆。

在本文中,我们提出了一种方法,即U-CMR(适用于无监督CMR),它使我们能够训练一个函数,该函数可以将图像分解为3D形状,纹理和相机,并且设置与CMR大致相似[15],只是我们替换了整个类别都需要具有单个3D模板形状的关键点注释。事实证明,要恢复相机(使用类似SFM的技术)需要关键点注释,如果我们没有关键点注释,则必须同时解决形状和纹理问题。不幸的是,将“综合分析”范式扩展到还可以恢复摄像机是相当困难的。从直觉上讲,这是由于可能的摄像机视点空间的不连续和多模态。虽然形状和纹理具有平滑,表现良好的优化表面,但可以进行梯度下降优化,这并不适合可能的相机空间。相机的两种最可能的解释可能位于视域的相对侧,在这种情况下,不可能像优化深度网络的能量格局时那样以迭代方式接近最佳相机。这通常会使相机预测陷入bad的局部最小值。我们对这个问题的解决方案是为每个训练实例维护一组可能的相机假设,这就是我们所谓的“camera-multiplex”。这让人联想到粒子滤波方法,其思想是保持分布而不是过早地选择点估计。我们可以迭代地优化形状,纹理以及摄影机的多重性。第3节中提供了更多详细信息。

我们评估了4类3D形状,姿势和纹理重构的方法:CUB-200-2011鸟类[35],PASCAL-3D [38]汽车,摩托车和我们刮掉的鞋子的新数据集来自网络。我们显示,天真地预测形状,相机和纹理会直接导致退化的解决方案,其中形状是扁平的,相机会崩溃为单一模式。我们定量评估了最终的摄像机预测,其中在这种没有关键点注释的弱监督设置下,所提出的camera-multiplex方法获得了最好的结果。我们表明,尽管缺乏视点和关键点,我们仍可以学习合理的3D形状空间,接近通过使用关键点监督的先前方法获得的形状[15]。

2 相关工作

最近的基于深度学习的3D重建方法可以按所需的监督信号和系统输出进行分类。在表1中对此进行了说明。较早的方法提出了假设图像[5,9,7,31,10]是有3D形状监督的,这些方法可以在ShapeNet [37]和SunCG [27]等合成数据集上使用。一些方法使用从现实世界收集的数据来生成合成数据集,以训练他们的模型[4,33,41]。但是,由于ground truth 3D形状的成本很高或无法获得,特别是在大规模情况下,需要3D监督严重地限制了这些方法。因此,接下来的方法探索了更自然的监督形式,即可以使用同一对象的多个视图。其中一些方法采用类似于传统MVS或可见外壳(由空间物体的所有已知侧影轮廓线决定的该物体的凸包)的已知视点[39,16,32]。其他方法探讨了未知视点设置的问题[30,12,8]。这些方法假定多视图轮廓,图像和/或深度图像可用,并训练它们的模型,以便预测的3D形状在投影或可微分的渲染后重建图像。[21,18,20]已经探索了多种可区分的渲染机制。

尽管可以在现实世界中获得多视图图像,但是大部分是无约束收集单视图图像,而不是同时获得同一实例的多个视图。对于形状可能随时间变化的非刚性物体,也是通过这种方法获取图像的。传统的从运动中恢复非刚性结构[29]也属于此类别,其中输入是对应的跟踪集点[29,6]或2D关键点[34,22]。较早的方法将可变形的3D模型[1,17,3,14]拟合到2D关键点和mask。Kanazawaet al.[15] 提出的CMR是一种基于学习的框架,其中从单个图像预测3D形状,纹理和相机姿态,并在具有已知mask和关键点注释的单视图图像集合的这种设置下进行训练。虽然这是朝着正确方向迈出的一步,但关键点注释的要求仍然很严格。最近,Kulkarniet等人。 [19]绕过了关键点的这种要求,从具有mask监督和模板3D形状 的一组图像集中学习对象的密集规范表面映射。他们专注于预测图像上的表面对应关系,并在训练过程中学习预测相机的视点,但不学习预测3D形状。当我们解决一个不同的问题时,我们在相同的必需监督下进行操作。因此,我们在预测的摄像机质量上与CSM进行了定量比较,其中我们的方法获得了更好的摄像机预测。请注意,最近有几种方法可以将图像分解成2.5D表面特性、相机和来自单眼图像集合的可见区域的纹理,而无需使用任何mask[28,26,36]。然而,这些方法主要在人脸上被证明。在这项工作中,我们从单个图像中恢复了完整的3D表示和纹理。

3 方法

3.1准备工作

形状表示。我们将3D形状表示为具有顶点V∈R^{eft |V |imes 3}和面F的网格M≡(V,F)。 面F的集合定义了网格中顶点的连通性,我们假定它保持不变。我们选择一个与球体同胚(即拓扑结构一样)的拓扑网格,我们将可变形物体的顶点位置建模为V = ∆V +ar{V},即从图像预测到每个实例特定的变形∆V,和与实例无关的平均形状ar{V}[15]的总和。使用模板3D望各位初始化平均形状。这样的参数化允许模型学习每个类别的可能变形的空间。

纹理表示。由于网格的拓扑是固定的,因此可以使用UV图像I^{uv}表示形式对纹理进行建模。 UV图像中的值通过固定的UV映射被映射到表面上。 UV映射要么是类似于将球体展开成平面图的非球面投影[11],要么当前面这种方法不够好时,就是使用混合器[2]沿人工定义的接缝最小化模板网格的变形。

像机投影。我们假设是弱透视摄像机投影,其参数由缩放s∈athbb{R},平移t∈athbb{R}^{2}和旋转R(用欧拉角表示为方位角,俯仰角和滚转角[az,el,cr]∈athbb{R}^{3})来参数化。我们使用π(P)来表示一组3D点通过π≡(s,t,R)定义的弱透视投影到图像坐标的投影。我们通过合成的三个因素渲染的idetilde{I}= R(V,I^{uv},π)来表示图像,和仅从形状和相机渲染的idetilde{S}= R(V,π)来表示剪影,其中R(·)是可微分的渲染器。对于每个图像保留的一组相机假设,即相机多路复用C = {π1,···,πK}。我们在下面描述其训练细节。

3.2 方法

图2概述了我们的方法。在训练期间,我们学习一个函数f(I)来预测在图像I中的对象的3D形状和纹理。我们针对训练数据集中的每个实例来优化相机多路复用,而不是进行确定性的预测。对于每个图像中鸟的形状和纹理的预测,我们计算使用camera-multiplex中每个像机得到的重建loss,从而在camera-multiplex内的像机姿态上产生分布。然后,我们使用camera-multiplex上的得到的重建loss来更新f(I)当训练收敛时,我们为camera-multiplex中的每个训练实例确定最佳相机 。然后,我们训练一个函数g(I)从单个图像预测最佳相机 ,以便在测试时可以从单个图像推断所有形状,纹理和相机 。我们在下面提供了培训过程的详细信息。

对于每个训练实例I,用C = {i _{1},···,i _{k}}表示与它对应的camera-multiplex中的K个相机,用S表示它的剪影。请注意,为简洁起见,我们省略了训练实例的下标,但每个实例都独立维护它对应的C 。对于每个预测的形状V =ar{V}+ ∆V 和纹理I^{uv},我们针对每个相机πk计算剪影和图像重建损失:

其中L_{mask,k}表示剪影损失,其中idetilde{S}_{k} = R(V,i _{k})是从相机i _{k}渲染的剪影,而dt(S)是ground truth的剪影的单向距离变换(???)。L_{pixel,k}表示在前景区域上计算的图像重建损失,其中idetilde{I}=R( V,I^{uv}i _{k})是从相机i _{k}渲染的图像。为此,我们使用Zhanget等人的感知距离度量 [40]。为了利用双边对称性并确保对称纹理预测,我们还在对称的第二个摄像头下渲染网格,并计算两个摄像头的平均像素损失作为L_{pixel,k}

除了这些损失外,我们在3D形状上使用图-拉普拉斯平滑先验L_{lap}=eft V_{i}-rac{1}{eft | Night |}um {jubset N}V{j}ight ^{2},对远离相邻顶点重心N(i)的顶点进行惩罚。对于汽车,摩托车和鞋子,我们观察到使用L_{lap}=eft LVight ^{2}得到的结果更好,其中L是离散Laplace-Beltrami算子,该算子使平均曲率最小[25]。为此,我们在训练开始时使用模板网格一次构造L。由 [1,3,17],我们还发现规范变形是有益的,因为它会阻止任意大的变形并有助于学习有意义的平均形状。相应的能量项表示为L_{def}=eft elta Vight _{2}

和18年CVPR的工作相比 ,第一点是在计算剪影损失时L_{mask,k}加了后面的一项(为什么?)。第二点是重建损失中,由于这篇文章对相机视点不是预测一个值,而是一组可能的分布,所以使用的是对称相机的平均重建损失,并且是所有可能的相机的重建损失总和。第三点是在使用表面光滑先验约束时,使用L_{lap}=eft V_{i}-rac{1}{eft | Night |}um {jubset N}V{j}ight ^{2}而不是L_{lap}=eft LVight ^{2}(CUB数据集)。

模型更新

为了迭代地细化camera-multiplex,我们使用剪影和图像重建损失的总和L_{i_{k}}=L_{mask,k}+L_{pixel,k} ,作为camera-multiplex中每个相机的损失。在训练中,每次遇到这个实例,我们通过优化每个相机i _{k},来最小化L _{k}。为了更新形状和纹理,我们使用了在camera-multiplex中最可能的相机姿态分布中得到的损失,并最小化在所有相机的预期损耗。具体来说,我们通过softmin函数p_{k}=rac{e^{-L_{k}/igma }}{um {j}e^{-L{j}/igma }}计算出i _{k}是最佳相机的概率,并使用最终损失训练形状和纹理预测模块:

实际上,为了使L _{k}具有固定范围以标准化概率分布的峰值,我们会对L _{k}线性归一化,使用归一化后的L _{k}来计算P _{k}时,温度σ是动态变化的。我们不通过P _{k}​​​​反传。综上所述,针对每个训练样本,我们迭代的通过L_{i_{k}} 优化了camera-multiplex中的相机通过L_{total} 更新 f 中的参数

我们通过为每个图像C_{i}存储了一个字典中的变量来实现camera-multiplex。每次在训练过程中遇到一张图像时,都会从此字典中获取对应的camera-multiplex变量,并将其作为剩余的训练部分的输入。像PyTorch [24]这样的大多数现代深度学习框架都支持使用这样的变量字典。

训练一个前馈相机预测器 。当 f 训练收敛时,对于每个训练图像,我们选择最佳相机来最小化轮廓和图像重建损失。然后,我们以监督的方式训练新的相机预测模块g(I),以便在测试时我们的模型可以同时预测3D形状,纹理和相机。

在测试时进行评估 。测试时给定一张新的图像 I,我们可以使用已学习的模块 f 和 g 来预测图像 I 中对象(鸟)的3D形状,纹理和相机视点。f(I)可以预测形状V =ar{V}+ ∆V ,纹理I^{uv},g(I)可以预测相机视点π。如图2所示。

4 实验

在本节中,我们将对我们的方法进行定量和定性评估,该方法可学习从单个图像预测3D形状,纹理和相机,而在训练过程中无需使用任何关键点注释。我们在四个对象类别上探索我们的方法:鸟类,汽车,摩托车和鞋子。

4.1实验细节

数据集 。我们主要使用CUB-200-2011数据集[35],该数据集具有200种鸟类的6000张训练和测试图像。除此之外,我们还在多个类别上对U-CMR进行训练和评估:汽车,Pascal3D +数据集中的摩托车以及zappos.com上搜集的鞋子。对于CUB和Pascal3D,我们使用与CMR[15]相同的训练和测试集划分。对于鸟类和汽车的初始网格,我们使用Kulkarniet等人[19]使用的3D模板网格。对于其他人,我们免费下载可用的在线模型,将其均匀化为一个球体,并减少顶点数量来简化模型。我们对称化所有网格来利用双边对称性。我们通过简单的基于阈值的背景减法和孔填充,为包含白色背景图像的zappos鞋子数据集计算mask。

架构 。对于除纹理之外的所有模块,我们使用与CMR [15]相同的架构,并将Resnet18得到的特征传递到两个模块中,一个模块用于预测形状,一个用于预测纹理。形状预测模块由2个全连接层组成,输出athbb{R}^{3eft |V ight |}的向量,然后像[15]一样,根据它对∆V进行变形,得到预测的形状V =ar{V}+ ∆V 。对于纹理预测,以前的工作是预测流,最终输出是一个偏移量,然后根据偏移量得到从原图上采样像素的位置坐标。在这项工作中,我们通过解码器直接预测UV图像的像素值。对于resnet18输出的特征,送入到一组上卷积层,同时保持空间维度不变。我们发现,由于解码器网络能够学习到UV图像上的空间优先级,因此可以使相机更加稳定(???)。我们使用SoftRas [20]作为渲染器。请参阅补充材料以了解详细信息和消融实验。

camera-multiplex实现 。对于camera-multiplex,我们使用K = 40。对于训练集中的每个图像,我们都将它对应的camera-multiplex C初始化为一组数据包含K个点,这K个点的方位角和仰角在视域上均匀间隔。的摄像机多路复用C初始化为一组K点,这些K点的方位角和仰角在视域上均匀间隔。对于汽车和摩托车,我们使用K = 8个相机,全部初始化为零海拔。在训练形状和纹理之前,我们使用剪影lossL_{mask,k}来优化camera-multiplex中的每个像机。为了减少训练形状和纹理时的计算时间,我们修剪camera-multiplex,在20个epoch后,将K从40减少到4,保留前4个相机。注意,使用缩放和/或平移图像而未调整camera-multiplex的简单数据增强,将导致渲染的形状未像素对齐。在训练过程中,可以在训练过程中使用随机的裁剪和缩放比例来增加数据,但要通过使用确定性仿射变换来调整存储的摄像机多路复用中的缩放比例和平移,然后再将其用于渲染形状。

baseline :由于没有其他方法可以预测3D形状,纹理和姿势,而无需依赖关键点或已知的相机或训练过程中的多视图提示,因此将不使用camera-multiplex的方法作为baseline来进行比较。这可以想到没有关键点监督的CMR,CMR同时预测形状,相机和纹理,并且仅监督渲染的轮廓和纹理。我们将此方法称为CMR-nokp,并确保实验设置可与U-CMR相比。另外,在补充资料中,我们将CMR [15]的两个变体进行了比较,它们比我们使用了更多的监督。对于相机预测,我们将其与CMR [15](使用附加的关键点监督),CSM [19]和没有纹理预测的U-CMR(U-CMR-noTex)进行比较。

4.2定性评估

没有关键点和视点时,问题是对于任何相机姿态的图像和轮廓,总是存在平面形状和纹理可以解释(结果扁平化)。我们首先使用CMR-nokp证明这一点。我们观察到,正如预期的那样,CMR-nokp导致了退化的解决方案,如图3所示,其中恢复的形状很好地解释了图像的轮廓,但从另一个角度看,形状是平面的。

在图6中,我们可视化了用U-CMR预测CUB测试集中训练时没见过的图像结果。尽管没有使用任何视点或关键点监督,我们的方法仍能够从单个图像中恢复鸟类完整,合理的3D形状,并且预测其纹理。我们的方法可捕获各种类型的鸟类形状,包括水禽和鸣禽的形状。我们能够恢复锋利的长尾巴以及腿和喙的一些突出部分。有关测试集和与CMR进行比较的更多随机结果,请参阅补充资料。

我们进一步分析在图4中学习到的形状空间,其中我们对训练集上获得的所有形状进行主要成分分析。我们找到了捕捉身体类型,头部形状和尾巴形状变化的方向。在图4中,我们还显示出最终的平均形状与初始化时所用的模板网格相比,变得更薄(瘦),并且尾巴更长更明显。请参阅补充以获取更多结果。

4.3定量评估

由于此数据集上没有3D groundtruth形状,因此我们对从我们的方法获得的相机姿势进行了定量评估。对于相机评估,我们将我们的方法与CSM [19]进行了比较,CSM的监督是模板3D形状以及没有关键点标注的图像集合中的相机姿势,学习到的是图像的密集对应关系。请注意,他们不会预测3D形状。我们使用与CSM相同的3D模板网格,因此可与CSM相比。我们通过各种方法评估相机的度量标准,以衡量其准确性和collapse情况。我们将预测的摄像机与CMR [15]中在关键点上使用SFM计算出的伪ground truth像机进行比较。为了评估精度,我们将旋转误差err_{R}=rccos -1}{2}来计算预测摄像机旋转ilde{R}与伪ground truth像机旋转R^{*}之间的测地距离。我们报告整个测试数据集的平均旋转误差(以度为单位)。为了测量collapse,我们分析了方位旋转分布并报告了(i)熵(以nat为单位)和(ii)到伪groundtruth方位-仰角分布的Wasserstein距离。由于计算简便,我们仅报告Wasserstein距离在方位角和仰角边际上的情况。我们主要关注方位角和仰角旋转,因为像机的缩放,平移和滚转角的变化只会使2D图像变形,而不会构成“新的视点”。

表2报告了有监督(CMR)和弱监督(CMR-nokp,CSM,U-CMR)方法的所有度量标准上的数值。观察到所有弱监督的baseline都会导致相机的姿态严重崩溃,从其分布的熵可以看出。相比之下,U-CMR尽管受到了弱监督,但其熵还是略高于CMR(有监督的baseline)。我们会自动学习一个相机分布,它比有监督的baseline(CMR)更接近groundtruth的相机分布(在Wasserstein距离内)。 U-CMR比CMR-nokp和CSM更准确,并且平均旋转误差至少比它们低15度。该表还表明,虽然U-CMR(noTex)分布良好且具有很高的熵,但纹理损失有助于改善相机的姿势,使其更加准确,所以U-CMR(noTex)没有U-CMR准确。

图5展示了不同方法的方位角仰角分布。该图说明了CSM可以防止相机的极端模式崩溃,但它们的相机姿态分布仍会在某些模式下崩溃。为了制作此图,我们使用CSM的公共模型,该模型在具有固定模板形状的同一CUB数据集上进行训练。这些经验证据证明了U-CMR的弱监督camera-multiplex优化方法学习的摄像机姿态分布要比其他弱监督baseline好得多,并且几乎与有监督方法(CMR)一样好。

4.4对其他类别的评价

虽然我们的主要评估基于CUB Birds数据集,但我们还在Pascal3D +中汽车和摩托车数据集,以及从zappos.com获取的鞋子数据集上进行评估。我们显示了所有类别的预测形状,纹理和相机的定性可视化。对于Pascal3D汽车,我们还将预测形状的IoU与CMR,先前基于可变形模型拟合的[17]和体积预测[32]方法进行了比较。这三种方法都利用了mask,相机和关键点来学习推断3D形状。

图7显示了来自各自测试集的所选图像的定性结果。 U-CMR学习准确的相机姿势和适用于汽车和摩托车的多样但合理的形状。对于鞋子,U-CMR形状是合理的,但由于基础数据集中存在偏差而没有那么多样化。我们观察到一些假象,在这些假象中,汽车的侧面有凹入的凹痕,鞋子的某些部分呈锥形并且变尖。这些问题源于使用弱透视投影和正则化的局限性,后者在空间上不适应。请参阅补充内容中每个类别的PCA可视化的和初始模板。

我们在表3的测试集上报告了平均IoU,并观察到U-CMR的性能与需要更多监督的其他方法相当。

4.5局限性

虽然U-CMR在弱监督3Dshape理解的方向上显示出令人鼓舞的结果,但它也有一些局限性。最大的限制是我们不建模关节,在关节影响比较大的情况下会不适用。在图8中,我们演示了形状,纹理和相机视点预测的各种失败模式。当鸟类的形状与模板网格明显不同并且经历较大的关节运动时(例如,飞翔的鸟类),我们的方法会遇到困难。当像这样的大变形没有关键点时,要确定正确的摄像机姿势是一项挑战。数据鸟的展翅和合翅之间的不平衡也加剧了这个问题。图8第一行中的两个示例显示了当图像中的鸟儿飞翔或翅膀张开时,形状预测是失败的。右下方的示例显示了一只铰接的鸟,其头部向后扭曲。由于缺乏关节模型,这些失败案例是可以预期的。有时我们也无法预测出良好的纹理,特别是对于对象的不可见部分。图8左下方和图7右下方的示例显示了背景颜色如何泄漏到预测的纹理中。

5结束语

在这项工作中,我们提出了一个学习框架,可以将可变形对象的图像分解为3D形状,纹理和相机视点。为了解决这个高度受限的问题,我们提出了一种表示方法,用于维持可能的摄像机视点上的分布,称为“camera-multiplex”。这使模型可以维持一组可能的摄像机假设,从而避免学习过程陷入不良的局部最小值。我们在四个类别上展示了我们的方法,其中我们展示了U-CMR可以在没有视点和关键点的情况下恢复合理的3D形状和纹理。

全部评论 (0)

还没有任何评论哟~