triplet loss 图像检索_Pixel2Mesh:从单帧RGB图像生成三维网格模型

d1d356bb7bbddc62a60b66c262a4cb05.png

Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images

Pixel2Mesh[paper][code]

一、Introduction

从单一视角推断三维形状是人类视觉的一项基本功能,但对计算机视觉来说却是一项极具挑战性的工作。

利用规则网格上的卷积层或多层感知,估计的三维形状作为神经网络的输出,可以表示为体积点云。然而,这两种表示都会丢失重要的曲面细节,并且对于重建曲面模型(图1)来说是非常重要的,即网格,因为它是轻量级的,能够建模形状细节,易于变形。

b175249ec0e6d1b8964806fc5eac8307.png
图1。在给定单色图像和初始网格的情况下,我们的方法可以生成包含示例细节的高质量网格。

本文沿着单幅图像重建的方向,提出了一种从单色图像中提取三维三角网格的算法。

我们的模型学习将网格从平均形状变形到目标几何体。在这项工作中,我们特别研究了可以通过变形一个固定大小的椭球体,使用genus 0的三维网格来近似物体。

Benifits:

  • 深度网络更擅长于预测残差,例如空间变形,而不是结构化输出,例如图形。
  • 一系列的变形可以叠加在一起,这样就可以逐步细化形状的细节。它还可以控制深度学习模型的复杂性和结果质量之间的权衡。
  • 它提供了将任何先验知识编码到初始网格的机会,例如拓扑结构。

Challenges:

1、如何在神经网络中表示网格模型(本质上是一个不规则图形),并且仍然能够有效地从二维规则网格表示的给定彩色图像中提取形状细节。它需要整合从两种数据模式中获得的知识。

  • 在三维几何方面,我们直接在网格模型上建立一个基于图的全卷积网络(GCN),其中网格中的顶点和边直接表示为图中的节点和连接。三维图形的网络特征编码信息保存在每个顶点上。通过前向传播,卷积层实现了相邻节点间的特征交换,最终回归出每个顶点的三维位置。
  • 在二维图像方面,使用类似VGG-16的架构来提取特征。

为了解决这两个问题,我们设计了一个感知特征池层该层允许GCN中的每个节点将其2D投影的图像特征集中到一起,这可以通过假设已知的摄像机固有矩阵很容易地获得。 使用更新的3D位置进行多次卷积后,即可启用感知特征池化,因此来自正确位置的图像特征可以有效地与3D形状集成。

2、给定了Graph Representation,下一个挑战是如何有效地向ground truth更新顶点位置。

在实践中,我们观察到,利用训练好的网络直接预测大量顶点的网格很可能在开始时出错,并且之后很难修复。原因是:一个顶点不能有效地从其他有许多边的顶点检索特征,即有限的接受域。

为了解决这一问题,我们提出了三点:

  • 设计了一个graph unpooling层,它允许网络以较少的顶点开始,并在前向传播过程中增加。由于初始阶段的顶点较少,网络将学习将顶点分布到最具代表性的位置,然后随着顶点数量的增加添加局部细节。
  • 使用由shortcut connections增强的深层GCN作为网络的主要架构,这使得对于全局环境和更多的运动步骤具有更大的接受场。
  • 定义了一个有利于平滑表面的曲面法向损失;一个edge loss以约束网格顶点的均匀分布,以提高召回率;以及一个laplacian loss,以防止网格面相互交叉。

Contributions:

  • 提出一种新的端到端神经网络架构,从单一的RGB影像产生三维网格模型。
  • 设计了一个投影层,将感知图像特征融入到以GCN表示的三维几何体中。
  • 网络以粗到细的方式预测三维几何,这是更可靠和更容易学习的。

二、Method:

1、图卷积

在本文中,附加的特征向量fp是3D顶点坐标、3D形状特征编码和从输入彩色图像中学习的特征(如果存在的话)的合并或者说级联。变形的过程可以理解为卷积更新特征的过程。

2、总览

模型是一个端到端的深度学习框架,它以单色图像为输入,在摄像机坐标系下生成三维网格模型。

图2展示了我们框架的概况。

655b3b5d91f67fda80ba79e7a32b056c.png
图2

整个网络由图像特征网络级联网格变形网络组成。

图像特征网络是从输入图像中提取感知特征的二维CNN,利用网格变形网络将椭球网格逐步变形为所需的三维模型。

级联网格变形网络是一种基于图的卷积网络(GCN),它包含三个变形块,由两个graph unpooling层相交。

每个deformation block 采用一个输入图表示当前网格模型,并将三维形状特征附加到顶点上,生成新的顶点位置和特征。而graph unpooling层增加了顶点的数目,增加了处理细节的能力,同时仍然保持了三角形网格的拓扑结构。

从较少的顶点开始,模型逐渐变形,并以从粗到细的方式向网格模型添加细节。

3、Mesh deformation block

86e778096ee05bb48c33f783cb0073e4.png

为了生成与输入图像中显示的物体一致的三维网格模型,mesh deformation block需要从输入图像中引入池化特征(P)。这是结合图像特征网络和给定当前网格模型中顶点的位置(Ci−1)的感知特征池层来完成的。

然后将感知特征(P)与附加在输入图顶点上的3D形状特征(Fi−1)级联起来,并输入到基于图的ResNet(G-ResNet)中。

G-ResNet为每个顶点生成新的坐标(Ci)和3d形状特征(Fi)作为网格mesh deformation block的输出。

3.1、Perceptual feature pooling layer

使用VGG-16体系结构直到conv5_3层作为图像特征网络。给定一个顶点的三维坐标,利用摄像机内函数计算其在输入图像平面上的二维投影,然后利用双线性插值将相邻四个像素点的特征集中起来。特别是,我们将从“conv3_3”、“conv4_3”和“conv5_3”层提取的特征串联起来,得到的总维数1280。然后将该感知特征与来自输入网格的128维3D特征相连接,从而得到1408的总维数。如图(b)所示。注意,在第一个块中,感知特征与三维特征(坐标)相连接,由于开始时没有学习到形状特征。

77cd65a90cc8102d7e697c879c356686.png

3.2、G-ResNet

在获得每个顶点1408个同时代表三维形状二维图像信息的维数特征后,设计了一个基于图的卷积神经网络来预测每个顶点的新位置和三维形状特征。这需要在顶点之间有效地交换信息。然而,如果使用传统的图卷积公式,每一个卷积只允许相邻像素之间的特征交换,这严重影响了信息交换的效率。

为了解决这个问题,建立了一个具有 shortcut connections 非常深的网络,并将其表示为G-ResNet。它由14个图残差卷积层和128个通道组成。G-ResNet块序列产生了一个新的128维三维特征。除了特征输出,还有一个分支,它将额外的图形卷积层应用于最后一层特征,并输出顶点的三维坐标。

3.3、Graph unpooling layer

Graph unpooling layer的目标是增加GCNN的顶点数目。它允许我们从一个顶点较少的网格开始,只在必要时添加更多的顶点,这样可以减少内存开销并产生更好的结果。

一个简单的方法是在每个三角形的中心添加一个顶点,并将其与三角形的三个顶点连接(图4(b)基于面)。但是,这会导致顶点度数不平衡,即顶点上的边数。受计算机图形学中普遍使用的网格细分算法的顶点添加策略的启发,我们在每条边的中心添加一个顶点,并将其与该边的两个端点连接起来(图4(a))。新添加顶点的三维特征设置为其两个相邻顶点的平均值。如果将三个顶点添加到同一个三角形(虚线)上,我们还将它们连接起来。因此,我们为原始网格中的每个三角形创建4个新三角形,并且顶点的数量将随着原始网格中边的数量而增加。这种基于边缘的unpooling均匀地对顶点进行上采样,如图4(b)中基于边缘的顶点。

98b87fdcd0301c1a18c521f15e0ebd32.png
图4

3.4、Loss

定义了四种loss来约束输出形状的特性,并定义了变形过程以保证效果。

我们采用Chamfer loss来约束网格顶点的位置,使用normal loss来加强曲面法线的一致性,采用laplacian regularization 来保持变形过程中相邻顶点之间的相对位置,以及采用edge length regularization防止异常值。这些损失在中间和最终网格上的权重相等。使用p表示预测网格中的一个顶点,q表示基本真实网格中的一个顶点,N(p)表示p的相邻像素。

1. Chamfer 损失函数:其作用是限制网格顶点的具体位置;

d06912a928d32f5795b21893e204a616.png

2. Normal 损失函数:其作用是增强网格表面法向的一致性(增加表面光滑度);

1942d289507883777d74b3e03aea179f.png

3. Laplacian 正则化:其作用是在形变时维持临近顶点的相对位置;

b670116bb40e22f78153062a485310d7.png

4. Edge length 正则化:其作用是防止个别异常顶点的出现。

513896a12bc30034af26e310bf1ac297.png

本方法对输入图像进行的三维网格建模的结果:

b51815a8c45192487b83095bbfec1c6d.png

参考:

https://www.jiqizhixin.com/articles/2018-09-10-6

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值