3D-R2N2论文阅读笔记

摘要:
在利用形状先验来实现鲁棒三维重建的方法的最近成功的启发下,我们提出了一种新颖的循环神经网络体系结构,我们称之为三维递归重建神经网络(3D-R2N2)。 该网络从大量合成数据中学习从对象图像到其底层三维形状的映射。 我们的网络从任意视点接收一个或多个对象实例的图像,并以三维占用网格的形式输出对象的重建。 与以前的大多数作品不同,我们的网络不需要任何图像注释或对象类标签来进行培训或测试。
我们广泛的实验分析表明,我们的重建框架
(I)优于目前最先进的单视图重建方法。
(Ii)能够在传统的SFM/SLAM方法失败时(由于缺乏纹理和/或宽基线)对对象进行三维重建)。

一、相关介绍
大多数最先进的三维对象重建方法都受到一些限制。 一些限制是:
(I)必须从大量视图中观察对象;或者等效地说,视图必须具有相对较小的基线。
(ii)物体外观(或其反射函数)满足Lambertian(即非反射性)和反照率应该是不均匀性的(即,具有丰富的非均匀性的纹理)。
为了规避与大基线或非朗伯表面相关的问题,空间雕刻及其概率扩展等三维体积重建方法变得流行起来。 然而,这些方法假设对象是从背景中精确分割出来的,或者摄像机是校准的,在许多应用中并非如此。
另一种思路是假设关于物体外观和形状的先验知识是可用的。 使用先验的好处是,随后的重建方法不那么依赖于在视图之间找到准确的特征对应。 因此,基于形状先验的方法可以工作在较少的图像和较少的假设对象反射率函数。 形状先验通常以简单的3D原语的形式编码,如早期的开创性工作所证明的那样或从三维CAD模型的丰富存储库中学习到的,从而在更大程度上探索了将3D模型拟合到人脸图像的概念。 还引入了复杂的数学公式,使三维形状模型适应不同程度的监督和不同的正则化策略的观测。
本文的想法与上述方法相同,但有一个关键的区别。 我们不试图在观察对象之前匹配合适的3D形状,并可能适应它,而是使用深卷积神经网络从大量训练数据中学习从观察到对象的底层3D形状的映射。 受早期使用机器学习来学习场景理解的2D到3D映射的工作的启发,最近提出了数据驱动的方法来解决从给定数量的对象类别的单一图像中恢复对象形状的艰巨问题。 然而,在我们的方法中,我们第一次利用深度神经网络的能力,以一种简单的端到端的方式自动学习来自数据的适当中间表示,以恢复近似的3D对象重建,从很少的单一图像和最小的监督。
3D Recurrent Reconstruction Neural Network (3D-R2N2):该网络从不同的角度接收一个对象实例的一个或多个图像,并以三维占用网格的形式输出对该对象的重建。在训练和测试中,我们的网络不需要任何对象类标签或图像注释(即不需要分段、关键点、视点标签或类标签)。
3D-R2N2的关键属性之一是它可以通过控制输入门和忘记门选择性地更新隐藏表示。 在训练中,这种机制允许网络自适应地和一致地学习对象的适当3D表示,因为来自不同观点的(潜在冲突的)信息变得可用。
本文的主要贡献总结如下:
1)我们提出了一个标准的LSTM框架的扩展,我们称之为三维循环重建神经网络,它适合于以有原则的方式容纳多视图图像提要。
2)我们将单视图和多视图三维重建统一在一个单一的框架中。
3) 我们的方法需要在培训和测试中进行最低限度的监督(只是边界框,但不需要分割、关键点、视点标签、摄像机校准或类标签)
4) 我们广泛的实验分析表明,我们的重建框架优于最先进的单视图重建方法。
5) 我们的网络能够在传统的SFM/SLAM方法失败时(由于缺乏纹理或宽基线)对对象进行三维重建)。
二、循环神经网络
LSTM:
一个LSTM单元由四个组件组成:存储器单元(存储器单元和隐藏状态)以及三个门,它们控制从输入到隐藏状态(输入状态)、从隐藏状态到输出(输出门)以及从以前的隐藏状态到当前隐藏状态(忘记门)的信息流。更正式地,在时间步骤t,当接收到新的输入xt时,LSTM单元的操作可以表示为:
在这里插入图片描述
it,ft,ot是指输入、输出和忘记门,st和ht指的是存储单元格和隐藏状态。我们用圈来表示元素方面的乘法,下标t用来表示时间t时的激活。
GRU:
与标准LSTM相比,GRU的一个优点是计算量较少,在GRU中,更新门同时控制输入和忘记门。另一个不同点是在非线性变换之前应用了一个复位门。
在这里插入图片描述
UT、RT、ht分别表示更新、重置和隐藏状态
三、3D循环重建神经网络
该网络的目标是同时执行单视图和多视图的三维重建。主要的想法是利用LSTM的力量来保留以前的观测结果,并随着更多的观测结果可用而逐步改进输出重建。
该网络由三个组件组成:一个2维卷积神经网络(2D-CNN),一个名为三维卷积LSTM(3DLSTM)的新架构,和一个3D反卷积神经网络(3D-DCNN)。从任意角度给定一个对象的一个或多个图像,2D-CNN首先将每个输入图像x编码为低维特征T(x)。然后,给定编码输入,一组新提出的三维卷积LSTM(3D-LSTM)单位或者有选择地更新它们的单元格状态,或者通过关闭输入门来保持这些状态。最后,3D-DCNN解码了LSTM单元的隐藏状态,并生成了一个三维概率体素重建。
使用基于LSTM的网络的主要优势在于,它能够在向网络提供多个视图时有效地处理对象的自遮挡。网络有选择地更新与对象的可见部分相对应的存储单元。如果后续视图显示以前自遮挡的部分并与预测不匹配,网络将更新先前遮挡的截面的LSTM状态,但保留其他部分的状态。
3.1 Encoder: 2D-CNN
在这里插入图片描述
上面一个标准的前馈CNN和下面一个深度残差变化。
第一个网络由标准卷积层、池层和Leaky整流线性单元组成,然后是一个全连接层。
根据该研究,在标准卷积层之间添加残余连接可以有效地提高并加速了非常深的网络的优化过程。编码器网络的深度残差变化除了第四对外,每2个卷积层后都有标识映射连接。为了匹配卷积后的信道数,我们使用1×1卷积来进行剩余连接。 然后将编码器输出压平并传递到完全连接的层,该层将输出压缩成1024维特征向量。
3.2 Recurrence: 3D Convolutional LSTM
我们的3D-R2N2的核心部分是一个循环模块,它允许网络保留它所看到的内容,并在看到新图像时更新内存。一种通俗的方法是使用普通的LSTM网络。 然而,如果没有任何正则化,预测如此大的输出空间(32×32)将是一项非常困难的任务。所以我们提出了一种新的体系结构,我们称之为三维卷积LSTM(3D-LSTM)。 该网络由一组具有受限连接的结构化LSTM单元组成。三维LSTM单元在空间上分布在三维网格结构中,每个单元负责重建最终输出的特定部分。在三维网格内,存在N×N×N个三维LSTM单元,其中N是三维LSTM网格的空间分辨率。每个3D-LSTM单元,每个三维LSTM单元,索引(i,j,k),都有一个独立的隐藏状态ht,(i,j,k)∈RNh,遵循与上一节相同的符号。但用ft,it,st,ht作为4D张量,控制三维-LSTM网格的方程是
在这里插入图片描述
我们将卷积运算表示为∗。 在我们的实现中,我们使用N=4。 与标准的LSTM不同,我们没有输出门,因为我们只在末尾提取输出。 通过去除冗余输出门,可以减少参数的数量。
这种配置迫使一个3D-LSTM单元处理预测重建的特定区域与地面真相模型之间的不匹配,以便每个单元学习重建体素空间的一部分,而不是贡献整个空间的重建。这种配置还赋予网络一种局部性的感觉,以便它能够有选择地更新其对先前被遮挡的对象部分的预测。
一个三维卷积的LSTM单元限制了其隐藏状态与其空间邻居的连接。对于香草LSTM,隐藏层ht−1中的所有元素都影响当前的隐藏状态ht,而空间结构的三维卷积LSTM只允许其隐藏状态ht(i,j,k)对所有i、j和k受其相邻的3D-LSTM单元的影响。更具体地说,相邻的连接是由卷积核的大小来定义的。例如,如果我们使用3×3×3内核,一个LSTM单元只受到其近邻的影响。这样,单位可以共享权重,网络可以进一步正规化。
在第2节,我们还将门控递归单元(GRU)描述为LSTM单元的一个变体。我们使用门控递归单元(GRU)创建了3D卷积LSTM的一个变体。更正式地说,基于GRU的递归模块可以表示为
在这里插入图片描述
3.3 Decoder: 3D Deconvolutional Neural Network
在接收到输入图像序列x1、x2、···、xT后,三维LSTM将隐藏状态hT传递给解码器,通过应用三维卷积、非线性和三维解池来提高隐藏状态分辨率,直到达到目标输出分辨率。
与编码器一样,我们提出了一个具有5个卷积的简单解码器网络和一个具有4个残差连接的深度残差版本,然后是一个最终的卷积。 在激活达到目标输出分辨率的最后一层之后,我们使用体素级Softmax将最终激活V∈RNvox×Nvox2转换为体素单元在(I,j,k)处的占用概率p(i,j,k)。
3.4 Loss: 3D Voxel-Wise Softmax
网络的损失函数定义为体素向交叉熵之和。让每个体素(i、j、k)处的最终输出为伯努利分布[1 − p(i,j,k), p(i,j,k)],其中对输入的依赖性x={xt}t∈{1,…T}被省略,并让相应的地面真实占用为y(i,j,k)∈{0,1},然后
在这里插入图片描述
四、实施
1)数据扩充:在训练中,我们使用三维CAD模型生成输入图像和地面真相体素占用地图。我们首先用透明的背景渲染了CAD模型,然后用帕斯卡VOC2012数据集中的随机作物增强了输入图像。
2)训练:在训练网络时,我们使用了从一个图像到任意数量的图像的可变长度输入。更具体地说,单个小批中每个训练示例的输入长度(视图数)保持不变,但不同小批的训练示例的输入长度随机变化。这使得网络能够执行单视和多视图重建。在训练过程中,我们只在输入序列结束时计算损失,以节省计算能力和内存。另一方面,在测试时间期间,我们可以通过提取LSTM单元的隐藏状态来访问每个时间步长的中间重构。
3)网络:输入的图像大小被设置为127×127。输出体素化重建大小为32×32×32。实验中使用的网络被训练了6万次迭代,批处理大小为36,除了[Res3D-GRU-3]的批次设置为24以满足GPU的应用。
对于LeakyReLU层,它的斜率在整个网络中设置为0.1。 对于反卷积,我们遵循了其中提出的反池化方案。我们使用 Theano来实现我们的网络,并使用Adam为SGD更新规则。
我们初始化了所以权重,除了使用MSRA的LSTM权重,并且设置所有的偏差为0.1,对于LSTM权重,我们使用SVD分解随机矩阵,并使用酉矩阵进行初始化。
五、实验
5.1数据集
1)ShapeNet:形状网数据集是根据WordNet层次结构组织的三维CAD模型的集合。 我们使用了ShapeNet数据集的子集,它由50,000个模型和13个主要类别组成。 我们将数据集分成培训和测试集,其中4/5用于培训,其余五分之一用于测试。 我们将这两个数据集称为整个实验部分的形状网训练集和测试集。
2)PASCAL 3D:该PASCAL3D数据集是由PASCAL2012检测图像增强的三维CAD模型对齐。
3)Online Products:该数据集包含了在网上出售的23,000件商品的图片。由于超宽基线,MVS和SFM方法在这些图像上失败。由于数据集没有地面真实的三维CAD模型,我们只使用数据集进行定性评估。
4)MVS CAD Models:为了将我们的方法与多视角立体声方法进行比较,我们收集了4个不同类别的高质量CAD模型.所有的CAD模型都有一个纹理丰富的表面,并被放置在一张纹理丰富的纸上,以帮助MVS方法的相机定位。
衡量指标:我们使用了两个指标来评估重建的质量。主要的度量是三维体素重建与其地面真相体素化模型之间的IoU。
在这里插入图片描述
较高的IoU值表明了更好的重建。损失值作为一个次要的度量。较低的损失值表明了更高的置信度重建。
5.2网络结构比较
在这里插入图片描述
我们观察到
(1)基于GRU的网络优于LSTM网络
(2)相邻网络循环单位连接(3×3×3卷积)优于网络没有相邻循环单位连接(1×1×1卷积)
(3)深度剩余网络变化进一步提高重建性能
5.3单一真实世界图像重建
我们用真实世界的图像评估了我们的网络在单视图重建中的性能,并将其与Kar等人最近的一种方法的性能进行了比较。为了进行定量比较,我们使用了PASCALVOC2012数据集以及相应的三维模型PASCAL 3D+ dataset.我们用与Kar等人相同的配置进行了实验。 我们还允许Kar 方法将地面真相对象分割掩码和关键点标签作为训练和测试的附加输入。
1)训练:我们用PASCAL3D在ShapeNet数据集上对一个网络进行了微调。 我们使用PASCAL3D验证集来寻找超参数,如微调迭代次数和体素化阈值。
2)结果:在这里插入图片描述

在这里插入图片描述
除了更好的性能,我们的网络比Kar等人有几个优势。
首先,我们不需要对每个类别进行培训和测试。我们的网络在不知道对象类别的情况下进行训练和重建。
其次,我们的网络不需要对象分割掩码和关键点标签作为额外的输入。卡尔等人。通过估计分割和关键点,证明了在野生未标记图像上进行测试的可能性。然而,我们的网络的性能优于他们用地面真相标签测试的方法。
5.4 Multi-view Reconstruction Evaluation
1)实验步骤:在这个实验中,我们使用了Res3D-GRU-3。我们用ShapeNet测试集来评估了这个网络。测试集包括13个主要类别的8725个模型。我们为每个模型呈现了五个随机的视图,并对图像应用了一个统一的彩色背景。我们报告了Softmax损失和在联合(IoU)上的交集,预测模型和地面真相体素模型之间的体素化阈值为0.4。
2)总体成果:我们首先研究了不同视图下重建模型的质量。随着观测点的增加,重建的效果越好。但是随着增加的观测面越多,效果越不明显,因为随着增加,重合的特征就会越多,也就是可用的信息就越少。
在这里插入图片描述

3)每一类别的结果
我们观察到,随着视图数量的增加,每个类别的重建质量都有所提高,但质量因类别而不同。机柜、汽车和扬声器具有最高的重建性能,因为对象是笨重的形状,与其他类相比具有较少的(形状)方差。网络在灯、长凳和桌子类别上表现得更差。 这些类比其他类具有更高的形状变化。
在这里插入图片描述
4)定性分析的结果
a显示了来自ShapeNet测试集的一些示例重构。 一个典型的例子是第2行中显示的卡车。 在初始视图中,只有卡车的前部是可见的。 网络最安全地猜测物体是轿车,这是汽车类别中最常见的形状。 然后网络在看到更多的视图后,对卡车进行了更精确的重建。 所有其他实例都显示了类似的改进,因为网络看到了更多的对象视图。 b显示两个失败案例。
在这里插入图片描述
5)重建真实世界图像
在本实验中,我们在在线产品数据集上对我们的网络进行了定性评估。 不是方形的图像填充了白色像素。c显示一些样本重建样本,结果表明,该网络能够仅使用合成数据作为训练样本重建真实世界的对象。它还演示了网络在看到对象的附加视图后改进了重构,一个典型的例子是如第1行所示的沙发的重建。 最初的沙发侧视图让网络相信这是一张单座沙发,但在看到沙发的前部后,网络立即对其重建进行了细化,以反映观察结果。类似的行为也显示在其他样本中。 一些故障情况如d图所示。
在这里插入图片描述
6) Multi View Stereo(MVS) vs. 3D-R2N2
在本实验中,我们将我们的方法与MVS方法进行比较,以重建具有不同视图数量的不同纹理级别的对象。MVS方法受到不同视图特征对应的准确性的限制。因此,它们往往无法从稀疏定位的摄像机视点重建无纹理的对象或图像。相反,我们的方法不需要精确的特征对应或相邻的摄像机视点。
1)结果:试验结果如图所示。(a)和(b)。我们观察到
(1)我们的模型只使用一个视图,而当视图数量小于20时,MVS方法完全失败(IoU=0)
(2)我们的模型工作,而不管对象的纹理级别,而MVS方法经常无法重建具有低纹理级别的对象,即使提供了大量的视图。
这表明,我们的方法在MVS方法性能差或完全失败的情况下工作。
注意,我们的方法的重建性能在通过24个视图之后下降。 这是因为我们只在最大24个视图的样本上对我们的网络进行了微调。
此外,当给出模型的30多个不同视图时,我们的方法不能像MVS方法那样重建更多的细节,因为3D-R2N2使用了127×127分辨率图像(相对于640×480)和低分辨率体素网格。
然而,一个更大的网络可以很容易地克服这种限制。最后,我们的方法在重构具有高纹理级别的对象方面效果较差。这主要是因为形状网训练集中的大多数模型的纹理级别都很低。
六、结论
在本工作中,我们提出了一种新的体系结构,将单视图和多视图三维重建结合成一个单一的框架。 尽管我们的网络可以接受可变长度的输入,但我们证明了它的性能优于Kar等人的方法。 在单视图重建中使用真实世界的图像。 我们进一步测试了网络在Shape Net数据集和Online Products数据集上执行多视图重建的能力,这表明网络能够在看到更多的对象视图时逐步改进其重建。 最后,我们分析了网络在多视点重建中的性能,发现当MVS等技术失败时,我们的方法可以产生精确的重建。 总之,我们的网络不需要最少数量的输入图像才能产生合理的重建,并且能够克服过去处理纹理不足或基线视点宽的图像的挑战。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值