[三维递归重建神经网络]3D-R2N2: A Unified Approach for Single andMulti-view 3D Object Reconstruction

目录

 

摘要

1.贡献:

2.LSTM&GRU

3.网络结构3D-R2N2

3.1. Encoder: 2D-CNN

3.2. Recurrence: 3D Convolutional LSTM/GRU

3.3. Decoder: 3D Deconvolutional Neural Network

3.4. Loss: 3D Voxel-wise Softmax

3.5. IoU: Intersection-over-Union

4 训练过程

5. 实验结果

5.1. Multi-view Reconstruction Evaluation

5.2. Single Real-World Image Reconstruction

5.3. Reconstructing Real World Images

5.4. Multi View Stereo(MVS) vs. 3D-R2N2

6. 总结


摘要

计算机视觉上的应用在2D图像方面主要是检测,分割还有分类。DL是图像处理的主要方法。但是目前 DL在三维重建方面的应用还比较少

这篇文章就是利用DL基于RGB图像进行三维重建,把2D图像到其对应的3D Voxel模型建立映射关系。

3D-R2N2网络从任意角度接收一个或多个对象实例的图像,并以三维占用网格的形式输出对象的重建

和以往大多数工作不同,这个网络不需要任何图像注释或分类标签来进行训练或测试。并且通过大量的实验分析表明

i)优于最先进的单视图重建方法

ii)能够在传统的SFM/SLAM方法失败(因为缺乏纹理和/或宽基线)的情况下实现对象的三维重建

此文的网络结构如下图所示

图1说明

a) 我们希望重建的一些对象的示例图像-请注意,视图被一个大基线分隔,对象的外观显示出很少的纹理和/或非朗伯特性。

b) 我们提议的3D-R2N2概述:网络从任意(未标定)视点获取一系列图像(或仅一幅图像)作为输入(在本例中,为扶手椅的3个视图),并生成体素化3D重建作为输出。当网络看到对象的更多视图时,重建会逐渐细化

 

1.贡献:

–我们提出了一个扩展的标准LSTM框架,我们称之为3d递归重建神经网络,它适用于以一种有原则的方式调节多视图图像馈送

–我们将单视图和多视图三维重建统一在一个框架中。

–我们的方法在培训和测试中需要最少的监督(只是边界框,但不需要分段、关键点、视点标签、摄像机标定或类标签)。

–我们广泛的实验分析表明,我们的重建框架优于最先进的单视图重建方法[32]。

-我们的网络能够在传统的SFM/SLAM方法失败的情况下(因为缺乏纹理或宽基线),对物体进行三维重建

 

2.LSTM&GRU

LSTM单元明确控制从输入输出流,允许网络克服消失梯度问题[33,38]。具体地说,LSTM单元由四个部分组成:存储器单元(一个存储单元和一个隐藏状态),以及三个控制从输入到隐藏状态(输入门)、从隐藏状态到输出(输出门)以及从先前的隐藏状态到当前隐藏状态(忘记门)的三个门。

就是说,在t时刻收到新的输入xt时,LSTM单元的操作可以表示为

it,ft,ot表示输入门、输出门和遗忘门

st, ht分别指存储单元和隐藏状态。我们用来表示元素乘法,下标表示t时刻的激活。W(·)、U(·)是转换当前输入X和先前隐藏状态T−1的矩阵,

b(·)表示偏差。

GRU

LSTM单元的一个变体是GRU,和LSTM(Long-Short Term Memory)一样,也是为了解决长期记忆和反向传播中的梯度等问题而提出来的。

GRU的一个优点是与标准LSTM相比,计算量更少。在GRU中,更新门控制输入门和遗忘门。另一个区别是在非线性变换之前应用了一个集合门。更正式些

ut、rt、ht分别表示更新门、重置门和隐藏状态。对于矩阵和偏差,我们遵循与LSTM相同的符号。

3.网络结构3D-R2N2

三维递归重建神经网络在这一部分中,我们介绍了一种新的结构称为三维递归重建网络(3D-R2N2),它建立在标准LSTM和GR|U的基础上。网络的目标是同时执行单视图和多视图3D重建

其主要思想是利用LSTM的能力来保留先前的观测值,并随着更多观测值的增加而逐渐细化输出重建

该网络由三个部分组成:二维卷积神经网络(2D-CNN)、新型结构3D卷积LSTM(3D-LSTM)和三维反卷积神经网络(3D-DCNN)(见图2),2D cnn首先将每个输入图像x编码到低维特征

(第3.1节)。然后,给定编码输入,一组新提出的3D卷积LSTM(3D-LSTM)单元(第3.2节)要么选择性地更新其单元状态,要么通过关闭输入门来保持状态。最后,3D-DCNN解码LSTM单元的隐藏状态,并生成3D概率体素重建(第3.3节)

使用基于LSTM的网络的主要优点在于,当网络中有多个视图时,它能够有效地处理对象的自遮挡self-occlusions。网络有选择地更新与对象可见部分相对应的存储单元。如果随后的视图显示先前自遮挡且与预测不匹配的部分,则网络将更新先前遮挡部分的lstm状态,但保留其他部分的状态(图2)

图二说明:网络结构:每个3D-R2N2由一个编码器、一个递归单元和一个解码器组成。在每一个卷积层之后,我们放置一个漏点非线性编码器将127×127 RGB图像转换为低维特征,然后输入3D-LSTM。然后解码器获取3D-LSTM隐藏状态并将其转换为最终的体素占用图。在每一个卷积层之后是阿莱克瑞鲁。我们使用两个版本的3D-R2N2:(顶部)浅层网络和(底部)深层残余网络[40]

利用2D CNN对输入的图片进行编码(encode),之后将编码提取到的特征输入到本文的核心部分3D Convolutional LSTM中进行学习,最后用3D Deconvolutional NeuralNetwork对其进行解码(decode)输出。该神经网络通过关键的3D-LSTM结构对输入的图片序列进行有记忆地学习,保持图片之间的相关性和联系性。

3.1. Encoder: 2D-CNN

我们使用CNNs将图像编码成特征。我们设计了两种不同的二维CNN编码器,如图2所示:一个是标准的前馈CNN,另一个是它的深度残差变化。

第一个网络由标准卷积层、池层和线性修正单元组成,然后是完全连接的层。通过最近的一项研究[40],我们还创建了第一个网络的深度残差变化,并在第5.2节中报告了这种变化的表现

因为这个改变,在标准卷积层之间添加残差连接有效地改善和加快了深度网络的优化过程

除第4对外,每2个卷积层后,编码器网络的深残差变化具有相同的映射连接。为了匹配卷积后的信道数,我们对剩余连接使用1×1卷积。然后,编码器输出被展平并传递到一个完全连接的层,该层将输出压缩成1024维的特征向量。

总结:首先将127*127的图片输入到2DCNN中进行编码(encode)提取特征。这是一个带有残差网络的CNN网络结构,通过层层卷积后全连接层得到的是一个1024维的向量。

3.2. Recurrence: 3D Convolutional LSTM/GRU

3D-LSTM结构如下图所示:

我们的3D-R2N2的核心部分是一个递归模块,它允许网络保留所看到的内容,并在看到新图像时更新内存。一种简单的方法是使用一个普通的LSTM网络。然而,预测如此大的输出空间(32×32×32),没有任何正则化的情况下将是一个非常困难的任务。于是提出了一种新的体系结构,我们称之为3D卷积LSTM(3D-LSTM)。   该网络由一组具有限制连接的结构化LSTM单元组成。3D-LSTM单元在空间上分布在三维网格结构中,每个单元负责重建最终输出的特定部分(参见图3(a))。

在三维网格中,有N×N×N 3D lsm单元,其中是N是3D-LSTM网格的空间分辨率。每个3D-lsm unit,索引(i,j,k)都有一个独立的隐藏状态

采用与第2节相同的符号,但使用ft,it,st,htas 4D张量(N×N×sizeNh的N×N×nV),控制3D-LSTM网格的方程为

我们用*表示卷积运算。在我们的实现中,我们使用n=4。与标准LSTM不同,我们没有输出门,因为我们只在最后提取输出。通过移除冗余的输出门,我们可以减少参数的数量

直观地说,这种设置使3D-LSTM单元能够处理预测重建的特定区域与真实模型之间的不匹配,以便每个单元学习重建体素空间的一部分,而不是参与整个空间的重建。这种结构赋予了网络一种局部性,这样它就可以有选择地更新关于物体先前被遮挡部分的预测。

此外,三维卷积LSTM单元限制了隐藏态与spatial neighbors空间邻居的连接。对于普通LSTM,隐藏层ht−1中的所有元素都会影响当前隐藏状态ht,而空间结构的三维卷积LSTM仅允许其隐藏状态h

t(i,j,k)受其相邻的3D-LSTM单元(i,j,k)的影响。更具体地说,邻域连接由卷积核大小定义。例如,如果我们使用一个3×3×3内核,LSTM单元只受它的近邻的影响。这样,单元可以共享权重,网络可以进一步正则化

在第二节中,我们还将选通递归单元(GRU)描述为LSTM单元的一个变量。我们建立了一个三维卷积LSTMusing门控复发单位(GRU)的变体。更正式地说,基于GRU的递归模块可以表示为

这部分是本文的核心,LSTM和GRU是RNN的一种,通常用于输入为序列并具有相关性的情况。假若我们对一个物体拍摄多角度的图片,在对该物体进行三维重建时,每个角度的图片都是具有高度相关性和连续性的,因此可以将同一个物体不同视角的图片看作连续的序列输入到神经网络中,使神经网络拥有对之前图片的记忆性。本文作者基于这个思想,设计了3D Convolutional LSTM和3D Convolutional GRU。利用该单元排列成3D网格结构,每个单元接受一个图片编码后的feature vector和上一个单元的隐藏状态,通过计算后将其输入到decoder中。

3.3. Decoder: 3D Deconvolutional Neural Network

在接收到输入图像序列x1,x2,·····,xT后,3D-LSTM将隐藏状态传送到解码器,解码器通过应用3D卷积、非线性和3D去冷来提高隐藏状态分辨率,直到达到目标输出分辨率。

与编码器一样,我们提出了一个简单的解码器网络,5个卷积和一个深残差版本(有4个残差连接),最后卷积。在最后激活达到目标输出分辨率的最后一层之后,我们使用voxel-wise softmax将最终激活

转换为体素单元在(i,j,k)处的占用概率(i,j,k)。

(总结:图片序列经过3D-LSTM后被输入到3D反卷积网络中进行decode,最后输出一个32*32*32的体素空间。在这个空间中,若该位置有体素,则为1,若该位置无体素,则为0。)

3.4. Loss: 3D Voxel-wise Softmax

本文采用的Loss定义为所以体素的交叉熵的和,以下为Loss公式。该公式中,X代表输入的图片序列,y(i,j,k)表示ground-truth,p(i,j,k)表示预测该体素点存在体素的概率。

让每个体素(i,j,k)的最终输出为伯努利分布[1−p(i,j,k),p(i,j,k)],其中对inputX的依赖性={xt}t∈{1,…,T}省略,令对应的ground truth占用y(i,j,k)∈{0,1},则

3.5. IoU: Intersection-over-Union

本文采用IoU作为评价指标,该评价指标越大越好。公式如下,其中,I(x)为指示函数,t表示阈值。若概率大于该阈值则该位置存在体素。

4 训练过程

作者用ShapeNet [3] 数据集对模型进行训练。输入为127*127*3的图片,经过该模型后,输出为32*32*32的体素空间。

5. 实验结果

5.1. Multi-view Reconstruction Evaluation

作者用ShapeNet [3] 的测试集对模型进行了测试。并与Karet al. [2] 的研究进行了对比,以下为对比结果,评价指标为IoU(越大越好)

以下为不同视角数量的结果对比,可以发现同一物体的视角越多,重建效果越好。

ShapeNet测试集实验结果(图片来自论文[1])

5.2. Single Real-World Image Reconstruction

作者将ShapeNet数据集训练过的模型用PASCAL 3D [4] 数据集进行fine-tune,希望从单张真实世界的图片进行三维重建,并将实验效果与Kar et al.的方法进行了对比,下图(a)为优秀结果展示,(b)为失败结果展示。

单张真实图片重建效果展示(图片来自论文[1])

5.3. Reconstructing Real World Images

作者用OnlineProducts [5] 数据集对该模型进行了测试。该数据集为网络上收集的一些物体的真实图片。结果如下,其中(a),(c)为理想的重建结果;(b),(d)为不理想的重建结果。

Online Products数据集测试效果展示(图片来自论文[1])

5.4. Multi View Stereo(MVS) vs. 3D-R2N2

作者将本文方法与传统三维重建方法MVS [6]进行对比。当拍摄到的图片数量太少或特征点太少时,MVS会难以得到足够信息进行重建,而3D-R2N2则可以克服这个困难。以下为实验结果展示:

3D-R2V2 vs. MVS结果图展示(图片来自论文[1])

(a)图展示了纹理强度(即特征点数量)对两种方法的影响。(b)图展示了一个物体的观察点数量对两种方法的影响。

(c),(d),(e)分别为20个视角,30个视角,40个视角时MVS的重建效果;(f),(g),(h)分别为20个视角,30个视角,40个视角时3D-R2N2的重建效果。可以明显看出,当输入图片数量较少时,本文的方法是优于传统方法的。但本文方法的缺点在于重建精度不够高。因此本文提出的模型适用于图片数量少或特征点较少的情况。

6. 总结

本文设计了一个3D神经网络架构以深度学习为思想实现了物体的三维重建。该模型可以在图片特征点过少或图片视角数量不足的情况下进行三维重建。其缺点在于重建后的模型精度低,无法完成精细的三维重建任务。相信未来通过深度学习进行三维重建的研究将朝着模型高精度的方向探索前进。

论文参考链接:https://cloud.tencent.com/developer/news/148108

改进建议:https://www.zhihu.com/question/29885222/answer/250156706

https://www.zhihu.com/question/29885222/answer/250156706

代码:https://www.jianshu.com/p/a66e6b7eccff

斯坦福:http://3d-r2n2.stanford.edu/poster.pdf

  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值