0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于八叉树形式的三维卷积网络数据中学习表征

3D视觉工坊 来源:3D视觉工坊 2023-08-21 09:53 次阅读

1 前言

大多数现有的3D网络架构通过稠密且规则的三维体素网格来代替2D像素阵列,并使用3D卷积和池化操作来处理该网格。然而,对于稠密的三维数据,计算和内存需求随着分辨率的提高呈三次方增长。因此,现有的3D网络仅限于较低的3D分辨率,通常为30的3次方个体素。

2 相关背景

尽管2D卷积网络在从图像中提取信息方面已被证明是非常成功的,但在处理三维数据方面的工作相对较少。我们回顾关于稠密模型和稀疏模型的现有工作。稠密模型:由于计算和内存的限制,稠密模型的常用方法都只能在非常粗的分辨率下处理和生成形状,通常在30的3次方个体素的数量级。此外,当需要高分辨率的输出时,例如用于标记三维点云时,采用有限的低效滑动窗口技,分辨率的提高降低了网络的深度,从而降低了网络的表现力。相比之下,所提出的OctNets允许在更高的分辨率下训练深层结构。稀疏模型:只有少数网络架构明确地利用了数据中的稀疏性。由于这些网络不需要穷举密集卷积,它们具有处理更高分辨率的潜力。部分工作具有减少卷积数量的潜力,但不会减少所需的内存量。因此,他们的工作只考虑最多三层的非常浅的网络。

3 方法

为了减少卷积网络在稀疏的三维数据上的内存占用,作者提出了一个自适应的空间划分方案,将计算集中在相关区域。由于深度网络的数学运算,特别是卷积网络,在规则的网格上最容易被理解,作者把注意力限制在三维体素网格的数据结构上。在体素网格上最流行的空间划分结构之一是八叉树,由于其灵活的分层结构,八叉树已被广泛采用。应用的领域包括深度融合、图像渲染和三维重建。在本文中,我们提出了八叉树形式的三维卷积网络,以从高分辨率的三维数据中学习表征。

3.1 .混合网格-八叉树数据结构

随着八叉树深度的增加,其所存在的问题不断增加。作者使用一种类似于Miller等人提出的混合网格-八叉树结构来代替单个非平衡八叉树来表示整个高分辨率3D输入。作者的核心思想是将一棵八叉树的最大深度限制在一个很小的数值,如3层,并将若干个这样的浅八叉树沿一个规则的网格放置。虽然这种数据结构可能没有标准八叉树那样的内存效率,但仍然可以实现显著的压缩比。浅层八叉树集合的另一个好处是,它们的结构可以使用位串表示进行非常有效的编码,从而进一步降低访问时间,并允许高效的GPU实现。通过给定一个深度为3的浅八叉树,我们用73 bit表示完整的树。索引为0的第1位表示根节点是否分裂。进一步,比特1到8表示是否对其中一个子节点进行了剖分,比特9到72表示孙子节点的剖分,如图3所示。树的深度为3在内存消耗和计算效率之间给出了一个很好的折衷。增加八叉树深度导致存储树结构所需的比特数呈指数增长,进一步增加了单元遍历时间。

c1e40634-3eaa-11ee-ac96-dac502259ad0.png

3.2. 针对网络操作

我们现在讨论混合网格-八叉树数据结构再网络操作上的高效实现。重点介绍卷积网络[中最常见的操作:卷积、池化和去池化。卷积卷积操作是深度卷积网络中最重要的,同时也是计算开销最大的操作。对于单个特征图,将三维张量T与三维卷积核W∈RL × M × N卷积可写为:

c1fd9284-3eaa-11ee-ac96-dac502259ad0.png

类似地,网格-八叉树数据结构上的卷积定义为:

c214b0fe-3eaa-11ee-ac96-dac502259ad0.png

虽然这个计算结果与单特征图的张量卷积与oc2ten、ten2oc包装器相同,但我们现在能够定义一个计算上更有效的卷积算子。我们的关键观察是,对于小的卷积核和大的体素,c234e2a2-3eaa-11ee-ac96-dac502259ad0.png在体素的小范围内是恒定的,因为它的恒定支持c24098a4-3eaa-11ee-ac96-dac502259ad0.png]。因此,我们只需要计算一次体素内的卷积,然后沿着体素的表面进行卷积,由于相邻的体素取值不同,支持度会发生变化(图4)。这使83个体素的计算次数减少了4倍。同时,它还能实现一个更好的缓存机制。

c256d3a8-3eaa-11ee-ac96-dac502259ad0.png

图4:卷积。该图说明了33个核(红色)与83个网格-八叉树单元(黑色)的卷积。图中只显示了三个维度中的两个。如(a)所示,在网格树单元内的每个位置(i, j, k)都有一个直接的实现,对内核进行评估。在这个例子中,这导致了约1万4千次乘法。相比之下,(b)描述了我们对同一操作的有效实现,只需要约3千次乘法。由于网格-八叉树单元内的所有83个体素都是相同的值,单元内的卷积核只需要评估一次。单元边界的体素需要整合来自相邻单元的信息。这可以通过截断内核的求和来有效实现。

池化:深度卷积网络中另一个重要的操作是池化。池化降低了输入张量的空间分辨率,聚合更高层次的信息进行进一步处理,从而增加感受野和捕获上下文。

c269fcc6-3eaa-11ee-ac96-dac502259ad0.png

图5:池化。在grid-octree结构上的23个池化操作将8个相邻的浅八叉树(a)合并为一个浅八叉树(b)。每个体素的大小被减半并复制到新的浅八叉树结构中。最细分辨率的体素被集中起来。不同的浅层八叉树用不同的颜色来描述。

例如,卷积步长为 23 最大池化将输入张量Tin分成23个不重叠的区域,并计算每个区域的最大值。形式上,我们有

c28814d6-3eaa-11ee-ac96-dac502259ad0.png

为了在网格八叉树数据结构上实现池化,我们减少了浅八叉树的数量。对于一个具有2D × 2H × 2W浅八叉树的输入网格树Oin,输出Oout包含D × H × W浅八叉树。Oin的每个体素的大小减半,并在浅层八叉树中复制一个层次。Oin中深度为3的体素被集合起来。这可以被表述为

c2a2eefa-3eaa-11ee-ac96-dac502259ad0.png

其中vxd(-)计算浅层八叉树中索引体素的深度。图5中描述了一个直观的例子。

作者为了捕捉精细的细节,体素可以根据相应集合层的原始八叉树,以最精细的分辨率再次分割。这使我们能够充分利用跳跃连接。在作者的语义三维点云标签实验中,其遵循这种方法。去池化对于语义分割等多个任务,期望的网络输出与网络输入大小相同。虽然池化对于增加网络的感受野大小和捕获上下文至关重要,但它会损失空间分辨率。为了提高网络的分辨率,U型网络架构已经成为流行的,其使用池化操作编码信息,并在解码器部分使用去池化或反卷积层提高分辨率[ 51 ],可能与跳跃连接(skip-connections)[ 9、19]结合以提高精度。最简单的去池化策略使用最近邻插值,可以在稠密输入T in∈RD × H × W和输出T out∈R2D × 2H × 2W张量上进行如下形式化:

c2bcc640-3eaa-11ee-ac96-dac502259ad0.png

同样,我们可以在混合网格-八叉树数据结构上定义类似的操作,即

c2caf698-3eaa-11ee-ac96-dac502259ad0.png

c2df2ffa-3eaa-11ee-ac96-dac502259ad0.png

这个操作也改变了数据结构:浅层八叉树的数量增加了8倍,因为每个深度为0的节点会产生一个新的浅层八叉树。所有其他节点的大小都增加了一倍。因此,在这个操作之后,树的深度减少了。这个操作的直观例子见图6。备注:为了捕捉精细的细节,体素可以根据相应集合层的原始八叉树,以最精细的分辨率再次分割。这使我们能够充分利用跳过的连接。在我们的语义三维点云标签实验中,我们遵循这种方法。

4 .实验评估

在本节中,作者利用OctNet来研究输入分辨率对三种不同3D任务的影响:3D形状分类、3D方向估计和3D点云语义分割。为了将分辨率的影响从其他因素中分离出来,作者考虑较为简单的网络结构。数据增强、2D / 3D联合建模或集成学习等正交技术可能会进一步提高模型的性能。

4.1. 3D Classification

作者使用流行的ModelNet10数据集进行3D形状分类任务。该数据集包含10个形状类别,包括用于训练的3991个3D形状和用于测试的908个3D形状。每个形状被提供为一个三角形网格,以规范的姿态定向。作者将三角形网格转换为稠密的各自的网格-八叉树占用网格,其中一个体素如果与网格相交则设置为1。我们对每个网格进行缩放以拟合成一个( N-P)3体素的3D网格,其中N是输入网格中每个维度的体素数,P = 2是填充参数。我们首先研究了输入分辨率对内存占用、运行时间和分类精度的影响。为了实现这个目标,作者创建了一系列从83到2563个体素的不同输入分辨率的网络。作者考虑了三种不同类型的网络:马图拉纳等人[ 30 ]的原始VoxNet架构,它运行在固定的323个体素网格上,OctNet和它的稠密版本,我们在下文中表示为" DenseNet "。虽然可以通过使用正交方法如网络集成[ 5 ]或3D和2D卷积网络[ 20 , 42]的组合来获得性能增益,但在本文中,作者特意关注"纯" 3D卷积网络方法,以将分辨率的影响与其他影响因素隔离开来。

c2fd13a8-3eaa-11ee-ac96-dac502259ad0.png

图7 展示了结果。首先,我们比较了我们的Oct Net 的内存消耗和运行时间,如图7a和7b所示。重要的是,与密集输入网格相比,OctNets需要更少的内存和运行时间来实现高输入分辨率。

c32077bc-3eaa-11ee-ac96-dac502259ad0.png

作者注意到,尽管OctNet具有池化表示,但它的性能与它的稠密等价类相当。稀疏数据允许自适应地分配资源而不会损失性能。此外,两个模型都优于较浅的VoxNet架构,表明了网络深度的重要性。关于分类精度,我们观察到低分辨率的改善,但超过323个体素的输入分辨率的回报递减。较高的输入分辨率有助于某些类别,如浴缸,而其他类别则与分辨率无关,如梳妆台v。我们通过从ModelNet10数据库中显示三维形状的体素化表示来可视化这种缺乏辨别力的情况,如图8所示。虽然浴缸在低分辨率下看起来与床(或沙发、桌子)相似,但在更高分辨率下可以成功区分。

4.2. 3D Orientation Estimation

在本节中,我们研究了输入分辨率对三维方向估计的重要性。大多数现有的三维姿态估计方法都假设物体实例的真实三维形状是已知的。为了评估3D卷积网络的泛化能力,我们考虑了一种只知道物体类别的略有不同的设置。在单个类别的3D形状的保留集合上训练模型后,我们测试了模型对来自同一类别的未知3D形状的3D方向的预测能力。图10展示了作者得到的结果。可以观察到,与分类任务相比,精细细节对于位姿的估计更为重要。对于OctNet 1 - 3架构,我们观察到性能的稳步增加,而对于跨分辨率容量恒定的网络(图10b ),性能水平超过1283体素输入分辨率。后一实验的定性结果如图11所示。每一行显示了在几个输入分辨率上对两个随机选择的椅子实例的10个不同的预测,范围从163到1283。较暗的颜色表示较大的误差,这些误差在较低分辨率下出现的频率更高。相比之下,较高网络分辨率下的预测集中在真实姿态附近。

c36906da-3eaa-11ee-ac96-dac502259ad0.png

c3a3b85c-3eaa-11ee-ac96-dac502259ad0.png

在Modelnet10上进行朝向估计。图中显示了输入分辨率从163到1283变化时,3个椅子实例的10个旋转估计值。较暗的颜色表示与真实值有较大的偏差。

4.3. 3D Semantic Segmentation

对于该任务,我们在643、1283和2563三种不同的输入分辨率上训练了一个U型网络,其中体素大小被选择使得所有建筑物的高度都与输入体积相符合。我们首先将点云映射为网格-八叉树结构。对于所有包含一个点以上的叶子节点,我们对输入特征进行平均,并计算地面真值标签的多数投票进行训练。作为特征,我们使用了二进制体素占有率、RGB颜色、法向量和地面高度。由于训练样本数量较少,我们通过施加小幅度的旋转来增加该任务的数据。图12,作者的结果清表明,提高输入分辨率对于获得最先进的结果是必不可少的,因为在较粗的分辨率下,更精细的细节会消失。

c3c84974-3eaa-11ee-ac96-dac502259ad0.png

5 总结

该作者所提出的OctNet,作为一种新颖的三维表示和数据结构表达,使得高分辨率输入的深度学习变得容易。作者提供了一种实现高分辨率输入的方式,这对物体分类、姿态估计和语义分割等多个3D学习任务做出了一定的贡献。随着对象数据集从低分辨率向高分辨率大规模三维数据地转变,OctNet将能够实现进一步的改进,其为未来的研究的提供了一个高效处理高分辨率体素化数据的途径。

审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 3D
    3D
    +关注

    关注

    9

    文章

    2756

    浏览量

    106455
  • 数据
    +关注

    关注

    8

    文章

    6512

    浏览量

    87606
  • 三维
    +关注

    关注

    1

    文章

    466

    浏览量

    28767
  • 卷积网络
    +关注

    关注

    0

    文章

    41

    浏览量

    2129

原文标题:八叉树,内存无忧!

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    三维逆向工程的成果及应用案例

    `三维逆向工程的成果及应用案例何为逆向工程?为适应现代先进制造技术的发展,需将实物样件或手工模型转化为Sence数据,以便利用快速成形系统、计算机辅助系统等对其进行处理,并进行修改和优化。逆向工程
    发表于 03-02 15:12

    什么让三维扫描数据栩栩如生

    `什么让三维扫描数据栩栩如生1.应用需求描述利用三维扫描仪扫描三维数据,并贴上色彩,可以用将产品三维
    发表于 08-02 10:18

    恒茂创远虚拟仿真三维实训系统在医学实验教学的运用优

    提高医学教学的质量,为社会培养更多的医学人才,为国家的医学事业发展添砖加瓦。 河南恒茂创远科技股份有限公司从医学院学生的学习、考核管理及培训入手相继研发了护理实训三维交互系统、临床实训三维交互系统、多
    发表于 08-11 16:39

    三维快速建模技术与三维扫描建模的应用

    `三维快速建模技术与三维扫描建模的应用随着数字化测量的发展,三维激光扫描仪能够快速地以多角度、高效、高精度方式获取物体的表面三维数据,可以用
    发表于 08-07 11:14

    整车三维扫描及其零部件三维扫描解决方案

    报告,客户对这个很感兴趣。汽车整车扫描得到的数据,我们可以用来干什么呢?首先,我们扫描得出的数据,可以进行数据存档,便于后面需要获取这款车的三维尺寸
    发表于 08-21 10:17

    广西扫描服务三维检测三维扫描仪

    、医疗、教育等行业都在广泛使用三维扫描技术。中科院广州电子的Creaform便携式激光三维扫描仪扫描工件的三维数据,通过实物与理论二
    发表于 08-29 14:42

    三维设计应用案例

    CAD是目前工业制造产品设计的重要软件之一,广泛应用于机械、建筑等领域。而常用的CAD软件,也就是所谓的三维制图软件,较二的图纸和二的绘图软件,三维CAD软件能够更加直观、准确地反
    发表于 07-03 07:06

    Handyscan三维扫描仪对户外大型灯箱三维扫描解决方案

    `近期我们接到一个与广告行业相关的客户,他们是一家专业设计、改装户外广告灯箱的公司,目前是有一个大型户外广告灯箱,想要通过三维扫描,获取其精准的三维数据,并据此逆向建模设计,最终得出满足自己需求
    发表于 07-15 10:52

    三维立体数字沙盘是是什么?

    三维动画技术放入虚拟环境中,最后借助各种展示设备,展示在人们面前。在这个虚拟环境中,用户可以任意浏览查询三维内容,也可以进行分析、标注和量算。  三维立体数字沙盘优势包括以下几点:  1、有多种展示
    发表于 08-28 14:40

    SMARTSCAN三维扫描仪电子产品配件三维扫描服务

    设计,于是客户找到我们,希望借助三维扫描技术去进行快速的逆向工程设计。如图所示,该串行数据传输模块:尺寸偏小,且缝隙较多,本身扫描难度就比较高。而客户希望扫描时不要喷粉,尽量保留表面细节精度。在完整逆向
    发表于 09-17 16:16

    三维可视化的应用和优势

    的整体态势。  比如设备在偏僻区域(海下、深山、沙漠、分布全国各地等),可以实现无人检测,无需消耗人力物力进行检测,通过三维数据的分析可以直观的探测出设备状态和产能。  设备运行可视化:根据图像
    发表于 12-02 11:52

    如何实现三维数据的采集?

    本文主要从触摸屏工作原理、ADS7846的工作方式以及单片机89S51对ADS7846的控制等方面来分析如何实现三维数据的采集。
    发表于 04-07 06:11

    卷积神经网络卷积的处理过程

    。本文就以一卷积神经网络为例谈谈怎么来进一步优化卷积神经网络使用的memory。文章(卷积神经
    发表于 12-23 06:16

    卷积神经网络简介:什么是机器学习

    复杂数据中提取特征的强大工具。例如,这包括音频信号或图像中的复杂模式识别。本文讨论了 CNN 相对于经典线性规划的优势。后续文章“训练卷积神经网络:什么是机器学习?——第2部分”将讨论
    发表于 02-23 20:11

    于八叉树的三维地质建模系统设计研究李灿辉

    于八叉树的三维地质建模系统设计研究_李灿辉
    发表于 03-16 08:00 0次下载