Li Jiang等作者

ECCV 2018 | 腾讯优图提出几何对抗损失函数在单视图3D物体重建中的应用

点云是常用的3D物体表示方式,但该技术中的损失函数没有保证预测的点遵从物体的几何形状。为解决这一问题,腾讯优图与港中文联合提出了一种补充的损失函数——几何对抗损失,通过保持预测点云和真实点云在不同2D视角上的几何一致性来从整体上规范生成的点云,同时要求生成的点云与输入图片的语义相符。

论文:GAL: Geometric Adversarial Loss for Single-View 3D ObjectReconstruction

论文链接:https://xjqi.github.io/GAL.pdf

1. 介绍

单目 3D 物体重建是计算机视觉的一个基础问题,在机器人科学,虚拟现实等领域有广泛的应用。随着大规模 ShapeNet 数据集的出现和深度卷积神经网络的发展,数据驱动的 3D 物体重建获得了越来越多的关注。现有的方法采用的 3D 物体表示方式大多是以下两种:三维像素和点云。采用三维像素来表示 3D 模型,需要神经网络直接预测每个三维像素是否被物体占据。尽管三维立体像素可以直接使用 3D 卷积神经网络处理,这种表示方式在高分辨率时常常会受到效率和内存问题的困扰。为了解决这些问题,Fan et al. 提出了点云模型。点云模型中物体由离散的三维点组成。考虑到点云的可扩展性和灵活性,我们基于点云模型构建了一个 3D 重建系统。

在点云表示方式的发展过程中,研究者大都着眼于设计一个损失函数来衡量预测点云和真实点云的距离。Chamfer 距离和 Earth Mover 距离被用于当作损失函数来优化神经网络模型,减小重建模型与真实模型的差距。但这些损失函数有其局限性,即它们没有保证预测的点遵从物体的几何形状,这些点可能存在于真实的物体 3D 形体之外。

在本文中我们提出了一种补充的损失函数——几何对抗损失来解决这个问题。几何对抗损失通过保持预测点云和真实点云在不同 2D 视角上的几何一致性来从整体上规范生成的点云,同时它要求生成的点云与输入图片的语义相符。

几何对抗损失由两个损失项组成:多视角几何损失和条件对抗损失。几何损失使得预测结果与真实模型在不同视角保持几何一致。条件对抗损失则通过条件判别网络来优化生成模型。条件判别网络由提取图片语义特征的 2D 卷积神经网络和提取点云特征的 PointNet 组成。2D 图片特征作为条件促使生成的 3D 点云符合输入图片的语义。总的来说,几何对抗损失在整体上规范了生成的 3D 模型,与前面提到的 Chamfer 距离损失相互补充,从而更好地进行单视角物体重建。

如图 1(b)(d) 所示,仅仅使用 Chamfer 距离损失,生成的点云有许多不在物体三维形状内的噪点。这是因为重建过程没有满足对整体的 3D 几何形体的限制,而仅采用了局部的点对点的限制。如图 1(c)(e) 所示,几何对抗损失使得重建的结果更加合理。

2. 网络结构

如图 2 所示,整个网络框架由两部分组成:生成网络和条件判别网络。生成网络包含一个编码解码模块构成的卷积分支和一个全连接分支,负责将输入的单视角图片映射到相对应的点云。判别网络则由一个提取生成/真实点云特征的 PointNet,和一个从输入图片中提取物体语义特征的 2D CNN 组成,提取的 2D 和 3D 特征被连接在一起作为最终的特征表示,以判别输入判别器的 3D 点云是否真实合理。

3. GAL: 几何对抗损失

3.1 多视角几何损失

人类即使只从一个方向看物体,也可以自然的联想出它的三维形状。这是因为我们拥有这个物体是什么形状的先验知识。在这一部分中,我们增加了多视角几何约束,从而让神经网络也掌握这样的先验知识。多视角几何损失从多个不同的视角衡量了模型预测的点云和真实点云在几何上的不一致程度。

当给定当前生成的点云和真实点云时,对于每个给定的视角,我们通过使用其对应的相机参数可以分别合成一副当前视角下生成点云的投影图和真实点云的投影图,并且比较两幅生成图像的不一致程度,作为当前视角的几何损失。

如图 3 所示,这样存在一个问题,那就是当生成图像的分辨率较高时,两幅生成图像的点云密度会存在较大的差别。因为真实点云的点的数量远大于生成点云的点的数量,所以合成的真实点云的投影图像会比生成点云的头像图像密的多。为了解决这个问题,我们的多视角几何损失包含了高分辨率模式和低分辨率模式两部分。

高分辨率模式: 在高分辨率模式中,我们将投影图像的长和宽设为了较大的值,记为 h1,w1。如图 3(b1-e1) 所示,该模式下的投影图像包含了较多的细节。然而,由于两幅投影图像的点的密度存在较大差异,直接使用 L2 损失衡量两者的不一致性显然不合适。由于生成点云对应的投影图像更稀疏,所以我们提出只使用生成点云投影图像中非空的点来衡量两者的不一致性,如下所示:

低分辨率模式:在高分辨率模式中,我们只要求了生成点云投影图中的非空点也需要出现在真实点云投影图的对应位置。然而,值得注意的是,这个约束应该是双向的。在低分辨率模式中,我们将投影图像的长和宽设为了较小的值,记为 h2,w2。该模式下的投影图像如图 3(b2-e2) 所示,虽然在低分辨率模式下图像损失了一些细节,但是大体的形状是保留的,且也能用来衡量两者的不一致性。因此,低分辨率模式下的不一致性的衡量我们直接使用了 L2 损失,如下所示:

多视角几何损失:我们设 v 为不同视角的标号变量,则整体的多视角几何损失可以记为:

损失函数从不同视角约束了生成点云的几何形状。

3.2 基于点云的条件对抗损失

为了产生更合理且符合输入图像的点云,我们提出了基于点云的条件对抗损失去规范生成的 3D 物体点云。我们的出发点是考虑到生成的 3D 模型需要跟输入的图像保持语义信息上的一致。我们采用了 PointNet 提取生成点云的全局特征,将此全局特征加上输入图像提供的 2D 语义特征输入判别网络,则可以让判别网络更好的识别生成的点云和真实的点云。在对抗训练中,生成点云和 2D 图像语义特征作为负样本,而真实点云和 2D 图像语义特征作为正样本,用于训练判别网络。这样在训练生成网络时,该条件对抗损失会促使生成点云更加符合输入图像的特征。

在判别网络中,我们使用了预训练好的 CNN 提取 2D 图像的语义特征,使用 PointNet 提取点云的全局特征。由于真实点云比生成点云更密,我们在实际中下采样的真实点云,使其与生成点云规模一致。并且,我们采用了 LSGAN 作为我们的条件对抗损失,如下所示:

在对抗训练过程中,生成网络和判别网络将会被交替优化。生成网络促使生成点云更接近真实点云,而判别网络目标是区分真实点云与生成点云。在测试时,只有训练好的生成网络会被用于从单幅图像中重建物体三维模型。

多种方法的对比:

  • P-G:chamfer 距离损失

  • P-Geo:chamfer 距离损失 + 多视角几何损失

  • P-Gan:chamfer 距离损失 + 条件对抗损失

  • GAL: chamfer 距离损失 + 几何对抗损失

多视角几何损失函数:多视角几何损失函数保证了重建的点云不仅是从拍照视角 (v1),而是从各个视角看 (v2) 都符合真实物体的三维形状。

基于点云的条件对抗损失函数:利用判别网络,使得生成的点云更加符合物体语义。例如第二行的椅子,从侧面看时,不采用对抗损失生成的点云 (f) 很难分辨出是一个座椅,而加上对抗损失生成的点云 (g) 显然更加合理。

真实图片作为输入的例子:

更多例子:

理论3D建模损失函数腾讯优图
31
相关数据
参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

虚拟现实技术

虚拟现实,简称虚拟技术,也称虚拟环境,是利用电脑模拟产生一个三维空间的虚拟世界,提供用户关于视觉等感官的模拟,让用户感觉仿佛身历其境,可以及时、没有限制地观察三维空间内的事物。用户进行位置移动时,电脑可以立即进行复杂的运算,将精确的三维世界视频传回产生临场感。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

推荐文章
多种方法对比那里是不是翻译错了。