Convolutional Occupancy Networks 论文阅读笔记

概要:一种使用了编码器解码器结构隐式场重建的神经网络点云重建方法,可以从噪声点云和低分辨率体素中重建,且可以扩展到大型室内场景。

Introduction

背景:3D几何的理想表示应该具有以下特性:a)能够编码复杂的几何结构和任意拓扑,b)能表示大型场景,c)能具有局部和全局信息,d)在内存和计算方面易于处理。而本文目标是使用神经网络重建这种理想表示的3D几何

现有缺陷1:体积表示有分辨率限制,网格表示用神经网络难以学习,点云表示无法表示拓扑关系,而隐式场表示则解决了上述问题。

现有缺陷2:由于传统隐式场神经网络的简单全连接架构,导致它无法引入归纳偏差(神经网络的预置规则,[知识点笔记]归纳偏差 - 知乎),且只能进行过于平滑的全局性重建。

创新点:引入了卷积占用网络,这是一种具有连续隐式表示的精确大规模3D重建的新表示。这种表示不仅保留了精细的几何细节,而且能够大规模重建复杂的室内场景。

贡献:

1.确定了当前隐式3D重建方法的主要局限性。

2.提出了一种灵活的具有输入平移不变性的神经网络体系结构,可以实现从对象到场景级别的精确3D重建。

3.证明了模型能够从合成场景到真实场景以及新的对象类别和场景进行泛化。

Related Work

体素表示是最早的神经网络形状学习方式之一,通常基于八叉树等空间结构,但是受内存和算力限制。

点云表示是另一种输出表示,但是该表示下得神经网络在可以处理的点的数量方面通常是有限的。此外,点云不能表示拓扑关系。

网格表示一般是通过直接预测网格的点和面位置,部分属于该方法的工作是通过使固定拓扑的模板网格变形实现的。有些方法容易导致自交面的产生和非水密性重建。

隐式场表示通常是给定位置,求其在隐式场内与平面的带符号距离或在平面内外的概率。隐式模型已被用于从图像中学习隐式表示,用于编码纹理信息,用于4D重建以及用于基于基元的重建。所有这些方法都局限于单个对象的相对简单的3D几何体,并且不能扩展到更复杂或更大规模的场景。关键的限制因素是简单的全连接网络架构。

PIFU和DISN使用了2D图像进行隐式场重建,其主要基于的是2D卷积。而本文同时利用了2D和3D卷积。

Chibane等人提出的卷积结构与本文类似,但只应用在了单个人的模型重建上;而Jiang等人通过形状先验和点法线实现了场景级输入,并进行了优化。

Method

神经网络结构:编码器-解码器结构,尝试了平面表示(a,c,d)和体积表示(b,e)两种方式重建。

编码器

输入为带有噪声的系数点云或一个粗略的占用网格。

特征获取:体素化输入用3D CNN处理,而点云输入使用具有局部池化的浅层PointNet处理。通过这些处理可以获得局部信息(单个点或体素)的特征向量表示。

基于平面的特征投影聚合(平面编码):对于每个输入点,在规范平面上执行正投影。对于体素输入,将体素中心视为一个点,并将其投影到平面上。以H×W像素单元的分辨率对规范平面(即与坐标系的轴对齐的平面)上的投影结果进行离散化。使用平均池来聚合投影到同一像素上的特征,从而产生维度为H×W×d的平面特征,其中d是特征维度。

在实验中,分析了模型的两种变体:一种变体是将特征投影到地平面上,另一种变体则是将特征投射到所有三个规范平面上。虽然前者在计算上更高效,但后者允许在z维度上恢复更丰富的几何结构。

基于体积的特征聚合(体积编码):平面编码所允许的空间分辨率高,但只局限于2D。体积编码能更好地考虑3D信息,但仅限于较小的分辨率。与平面编码器类似,对同一体素内的所有单元执行平均池化,但这一次所有特征都落入同一体素单元,从而产生维度为H×W×D×D的特征体积。

 解码器

编码结果的处理:通过使用2D和3D卷积沙漏网络(2D and 3D convolutional hourglass networks,U-Net,一种提取图像中特定目标的网络,也许可以扩张到三维,介绍从零开始的U-net入门_Pterosaur_Zero的博客-CSDN博客)处理来自编码器的特征平面和特征体积,以使模型具有平移不变性(在平移模型后结果不变,可见CNN中的Translation Equivariance【理解】 - 知乎),该网络由一系列具有跳跃连接的下采样和上采样卷积组成,以集成局部和全局信息。我们选择的U-Net深度能使感受野变得等于相应特征平面或体积的大小。

 三类输入的不同处理方式:对于单平面投影特征的情况,使用的是2D的U-Net;对于多平面投影特征的情况,使用的是共享权重的2D U-Net;对于体积特征的情况,使用了3D U-Net。由于卷积运算是平移等变的,因此输出特征也是平移等变,从而实现结构化推理。此外,卷积运算能够在保留全局信息的同时“修复”特征,从而能够从稀疏输入进行重建。

占用概率预测

某一位置的特征值查询方式:目标位给定特征图,通过神经网络求得3D空间中任意一位置p的占用概率。而位置p的特征值获取则通过插值获取。对于单平面解码器,将每个点p正交投影到地平面上,并通过双线性插值查询特征值。对于多平面解码器,通过对所有3个平面的特征求和来聚合来自3个规范平面的信息。对于体积解码器则使用三线性插值。

将点p处输入x的特征向量表示为ψ(p,x),使用一个小的全连接占用网络来预测p的占用。该网络包括多个ResNet块。

损失函数设计和重建

使用了二进制交叉熵损失函数来量化预测占用值和真实占用值之间的损失值。

重建方式和实现细节:在PyTorch中实现了所有模型,并使用Adam优化器,学习率为10-4。在推理过程中,应用多分辨率等表面提取(MISE,解释可见常见三维表示方法_三维数据表示_码界战士嘎嘎嘎的博客-CSDN博客)来提取给定输入x的网格。由于我们的模型是完全卷积的,我们能够通过在推理时以“滑动窗口”的方式应用它来重建大型场景。

Experiments

进行了三种类型的实验:ShapeNet的对象级重建,合成室内模型的场景级重建,真实室内模型的场景级重建。

数据库:ShapeNet,Synthetic Indoor Scene Dataset(自建数据库),ScanNet v2(作者自己采样获得点云),Matterport3D(同样通过采样获得点云)。

对比对象:ONet(使用全连接网络,输入全局编码重建),PointConv(有使用局部特征信息,但是没有使用卷积),SPSR(泊松曲面重建,根据点云进行模型三维重建的技术,但是要求额外的曲面法线,这在现实中很难获得)。

对象级重建任务评估

首先在ShapeNet上对于单对象重建任务进行了评估。考虑两种不同类型的3D输入:噪声点云和低分辨率体素。文中的方法在所有指标上都取得了很好的结果。只经过几次迭代就达到了很高的验证IoU。此外,还进行了超分辨率重建任务结果的评估,即从体素化的模型中恢复其高分辨率。该任务在单平面恢复的情况下失败了,但三平面和体积重建是成功的,且三平面重建所需GPU资源更少。(下图顺序为:一般重建定性结果->一般重建定量分析->超分辨率重建定性结果->超分辨率重建定量分析)

合成场景级重建任务评估

同样通过采样点+高斯噪声的方式获得点云。其它方法中,ONet和PointConv的精度较低,而SPSR会产生表面噪声。

高分辨率体积特征更容易恢复细节,但容易产生表面噪声。低分辨率体积特征对噪声更具鲁棒性,但会产生更平滑的曲面。结合互补的体积特征和平面特征可以改善结果。将体积特征的分辨率增加到643时,可以实现此设置中的最佳结果。

Ablation Study消融研究

(ablation study指的是在论文最终提出的模型上,减少一些改进特征(如减少几层网络等),以验证相应改进特征的必要性。详情可见 https://blog.csdn.net/PolarisRisingWar/article/details/123557940)

本节研究了相似GPU消耗情况下不同的特征聚合和插值策略的实验结果

GPU相似消耗下,多平面方法略优于单平面和体积方法。此外,单平面变体的平面分辨率的增加并没有导致明显的性能提升。同时比较了多平面变体的最近邻插值和双线性插值两种方式,经试验发现双线性插值效果更好。

真实场景级重建任务评估

在ScanNet和Matterport3D上评估了训练模型。使用从网格中采样的10000个点作为输入。

在变体中,基于体积的方法表现最好。同时发现3D CNN对噪声更具鲁棒性,因为它们聚合了来自所有邻居的特征,从而产生了平滑的输出。

该方法能够在不同尺度上平滑地重建具有几何细节的场景。虽然SPSR也会产生合理的重建,但它往往会生成闭合的网格,因此需仔细调整参数来实现好的效果。相反,本文的方法不需要额外的超参数。

(值得注意的是ONet虽然不能产生室内对象的合理结果,但是其生成的模型在墙壁结构方面更加规整?需要看下原论文搞明白为什么)

Conclusion

各个分支的优势:我们的三平面模型使用内存较少,在合成场景中运行良好,并允许更大的特征分辨率。相比之下,我们的体积模型在实际场景中的表现优于其他变体,但同时消耗了更多的内存。

局限性:局限性:方法不是旋转等变的,而只是平移等变的。此外,合成数据和真实数据之间仍存在性能差距。

总结:将卷积引入了隐式场神经网络模型。总体的神经网络框架是:PointNet或3DCNN提取特征->对特征通过聚合的方式进行2D像素化或3D体素化->对聚合结果,也就是特征图用U-Net进行处理以强化特征->用带有ResNet的全连接网络来预测对应的隐式场模型中某一位置的值,该位置的特征值通过对特征图或特征模型中附近位置的特征值的查询和插值获得。可用于大型场景建模,但处理点的能力有限,需要先抽稀后再处理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值