三维重建之understanding部分有关于体素部分的总结(一)

  体素(voxel)是像素(pixel)的3D扩展,像2D中的像素一样,基于体素的表示在3D空间中也有着规则的结构。已经证明在2D图像领域中可用的各种神经网络的体系结构也可以轻松扩展为体素的形式。所以在有关三维场景重建、语义理解方面,也可以通过体素这一表现形式来实现,在这里我们将有关于体素的表达形式分为密集体素表示、稀疏体素表示和通过点云转体素化的形式。

Dense voxel

  基于体素的表示方法传统上是密集表示法,它通过3D空间中的体积网格来描述3D形状数据,网格中的每个体素都会记录其占用状态(即已占用或未占用)。 2015年,3D ShapeNets被__等人提出,这是将深度神经网络应用于体积表示的最早的方法之一。他们使用CAD数据作为训练数据,使用卷积DBN(Deep Belief Network)网络构建了一个模型–3D ShapeNets,为Kinect传感器获取的2.5D深度图所产生的体积表示中的体素分配了三种不同的状态:即observed,unobserved and free,最终实现目标识别和复原全3D形状的目标。3D ShapeNets实现了将深度置信网络从像素数据扩展到体素数据,该模型通过使用深度置信网络将几何三维形状表示为三维体素网格上二元变量的概率分布。

  同年,由Maturana等人提出使用3D卷积神经网络(3D CNN)处理体积表示,他们设计了一种称为VoxNet的体积占用网络,这是一种基本的3D CNN架构,可用于为3D点云数据创建快速、准确的对象类检测器以实现对三维物体的识别。VoxNet定义了输入层、卷积层、池化层和完全连接层,尽管这些层只是将传统的2D CNN 扩展到3D,但VoxNet易于实现和训练,并且作为体积卷积的首次尝试而证明了其可实现性,意义重大。此外,为确保VoxNet的方向不变性,Maturana等人提出了一种新的方法,通过在训练期间将每个形状旋转为具有不同方向的n个实例来增强输入数据,并在输出层之后添加pooling操作以在测试过程中对来自n个实例的所有预测进行分组。

Sparse voxel

  尽管以上方法已经取得了突破性的进展和成果,但是由于从像素到体素的计算呈指数级增长,基于体素的表示通常会导致较高的计算成本,而此前的大多数方法不能在合理的时间内处理或生成高分辨率模式。例如,3DShapeNets被设计用于在每个方向上具有3个体素填充的24^3 体素网格;VoxNet被设计用于32^3体素网格。随着体素分辨率的增加,占用的体素在3D空间中变得更加稀疏,这导致了更多不必要的计算。

  随着一些处理数据稀疏性的新方法的提出,为解决上述问题提供了可能。一些方法改为使用稀疏的、自适应的数据结构来编码体素网格,通过octree来降低输入数据的维度。Häne等人提出了分层表面预测方法(HSP),该方法在八叉树中从粗分辨率到精细分辨率对小块体素进行分层预测,可以从粗到细生成八叉树形式的体素网格。他们观察到,只有少数体素位于对象表面附近,因此只需要在高分辨率下预测对象表面附近的体素即可,而大多数体素将是“boring”的,它们完全位于对象内部或外部。从而其所提出的HSP一方面避免了一些不必要的计算,另一方面可以负担得起以更高的分辨率去处理想要处理的体素。八叉树中的每个节点被定义为具有固定数量(在本文中为16^3个)的不同大小的体素的体素块,并且每个体素块被分类为free space, boundary space and occupied space。该模型的解码器以特征向量为输入,并且分层预测与体素块对应的特征块。HSP定义八叉树有5层,每个体素块包含16^3 个体素,因此HSP可以生成多达256^3个体素的网格。

  Tatarchenko等人提出了一种用于生成高分辨率体积表示的解码器OGN,将八叉树中的节点分为三类:free、full and mixed。表示3D模型的八叉树和八叉树的特征地图以按空间位置和八叉树级别索引的哈希表的形式存储。为了处理表示为哈希表的特征映射,Tatarchenko等人设计了卷积层OGNConv,将卷积运算转化为矩阵乘法运算。通过对特征映射进行卷积运算,在每个解码器层生成不同分辨率的八叉树单元,然后根据标签决定是否将特征传播到下一层(如果是“边界”则传播特征,如果是“混合”则跳过特征传播)。(PS.此前相关工作的一个基本限制是输出分辨率较低,同时占用内存大、计算复杂度高,而本文提出的OGN之所以节省时间,是因为在处理高分辨率时只有包含细节的区域才会被进一步被处理,即不断精细化体素来达到高分辨率)

  除了设计上述用于合成体素网格的解码器模型之外,还可以使用八叉树设计形状分析方法。由于在深层网络中很难使用传统的八叉树结构,许多研究人员试图通过设计新的八叉树结构,以及在八叉树上进行卷积、合并和解池等特殊操作来解决这个问题。

  Riegler等人提出OctNet,率先使用混合网格八叉树结构对点云进行分层划分,该结构表示沿规则网格具有多个浅八叉树的场景。它的八叉树表示比传统的八叉树具有更规则的结构,并将浅八叉树放置在规则3D网格的单元中。每个浅八叉树的深度最多为3,并且以73 bits进行编码来表示完整的树,每一位可确定是否需要拆分相应的单元。八叉树通常使用指针来实现,其中每个节点都包含一个指向其子节点的指针。访问八叉树中的任意元素(或元素的邻居)需要从根开始遍历,直到到达所需的单元格为止。因此,存储器访问的数量等于树的深度。而浅八叉树的好处在于可以使用位字符串表示非常有效地对它们的结构进行编码,这进一步缩短了访问时间,并允许有效的GPGPU实现。

  随后同年O-CNN被Wang等人提出,他们提出了一种基于八叉树的卷积神经网络来用于对三维形状的分析,该模型同样去除了指针,以三维形状的八叉树表示为基础,并使用一系列向量来存储八叉树数据和结构,包括混洗密钥向量(shuffle key vectors)、标签和输入信号。除了表示体素外,还可以使用八叉树结构来表示具有平面片的3D曲面。Wang等人还提出了一种基于面片引导的自适应八叉树的自适应O-CNN算法,该算法将三维曲面划分为一组平面面片,由八角体对应的包围盒约束。他们还提供了本文定义的八叉树的编码器和解码器。

上述所提及论文汇总

ps.排列不分顺序

  O-CNN:Octree-based Convolutional Neural Network for 3D Shape Analysis 

  OctNet: Learning Deep 3D Representations at High Resolutions CVPR2017

  VoxNet: A 3D convolutional neural network for real-time object recognition IROS2015

  3D shapeNets: A deep representation for volumetric shapes  CVPR2015

  HSP:Hierarchical Surface Prediction for 3D Object Reconstruction

  OGN:Octree Generating Networks:Efficient Convolutional Architectures for High-resolution 3D Outputs
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值