H3DNet
3D Object Detection Using Hybrid Geometric Primitives
论文网址:H3DNet
总结
这篇论文提出了H3DNet,一个用于3D对象检测的端到端神经网络。该方法的关键创新点是预测一个混合的、过完备的几何基元集合(包括边界框中心、面中心和边中心),然后拟合检测到的对象以契合这些原语及其相关特征。主要贡献总结如下:
- 将对象检测表述为回归和聚合一个过完备的几何基元集合。
- 预测适合不同对象类型和场景的多种几何基元。
- 在ScanNet和SUN RGB-D数据集上实现了最先进的结果,仅使用点云输入。
具体来说,H3DNet包含三个模块:
- 几何基元模块:该模块对点云进行密集的点描述子计算,并预测三种几何基元,即边界框中心、面中心和边中心。
- 提议生成模块:该模块将预测的几何基元转换为对象提议,关键是定义了一个距离函数来评估对象边界框和预测基元之间的距离。优化这个距离函数可以连续地优化对象提议。
- 分类和调整模块:该模块对每个对象提议进行分类,并对检测到的对象进行调整,包括预测偏移向量来微调边界框参数和预测语义标签。该模块的关键是聚合与每个对象提议相关的几何原语的特征。
整个网络端到端训练。实验结果显示,与仅使用一种几何基元的方法相比,预测并聚合混合的过完备几何基元集合可以显著提高检测性能,特别是对于薄型或部分遮挡的对象。该方法在两个数据集上都获得了最先进的结果。
总之,本文的主要创新点是提出了使用过完备的混合几何基元进行3D对象检测的框架,并设计了对应的网络结构和优化目标。这种方法可容忍基元预测中的错误,并融合不同类型基元的优势,从而提高了检测性能。
网络前向传播过程
几何基元模块
(1) 使用基于PointNet++的网络backbone提取点云的稀疏点特征。这里使用了4个不同的backbone网络(使用4个不同backbone的目的是学习区分的特征描述子,来更好地预测不同类型的原语。)分别提取特征。
(2) 将4个backbone网络提取的特征拼接,并通过全连接层降维到256维。
(3) 分别输入到3个不同的Cluster Network中,预测点云中每个点到对应的原语(包括中心、面、边)的偏移向量。同时也预测每个点是否接近原语的flag。
(4) 根据偏移向量预测聚类得到原语的坐标,根据flag进行筛选。每个原语同时也得到一个256维的特征表示。
提议生成模块
(1) 利用原语的坐标和特征生成初始的对象提议bounding box。
(2) 定义目标函数计算每个初始提议与原语的距离,进行优化调整提议使其逼近原语。
(3) 保留不同的局部最优解作为最终对象提议。
分类和调整模块
(1) 对于每个对象提议,在其相关原语周围采样获取原语特征。
(2) 汇聚原语特征并与对象中心特征拼接,输入全连接网络。
(3) 网络输出对象标记、边界框参数调整量和语义标签。
(4) 根据对象标记筛选出最终检测结果。
整个网络端到端训练,通过定义针对每个模块的损失函数进行监督。
摘要
本文引入了H3DNet,它以无色点云作为输入,输出定向对象边界框及其语义标签的集合。H3DNet的关键思想是预测一组混合的几何基元(边界框中心,边界框面中心和边界框边中心)。
结论
本文介绍了一种新颖的3D目标检测方法,该方法将3D场景作为输入,输出一组带标签和定向的边界框。关键思想是预测一组混合几何基元,然后将检测到的对象拟合到这些几何基元及其相关特征上。
未来希望该方法应用在其他3D场景理解任务上,例如实例分割和CAD模型重建。另一个未来的方向是集成更多的几何基元,例如边界框的角,等等。
引言
目标检测是计算机视觉识别中的一个基本问题。本项工作的目标是从3D点云中检测对象(即定向3D边界框和相关语义信息)。
挑战:点云数据的不规则性以及不同场景中目标的数量不同。
关键:选择合适的中间表征,将低层次的物体线索整合到检测到的物体中,是决定系统性能的关键。
早期的工作是对滑动窗口进行分类,判断该区域是否包含感兴趣的目标物体(效率低)。最近的工作[Three-dimensional object detection and layout prediction using clouds of oriented gradients-2016, Multi-view 3d object detection network for autonomous driving-2017, 2d-driven 3d object detection in RGB-D images-2017, Frustum pointnets for 3d object detection from rgb-d data-2018, VoxelNet-2018]显示,设计端到端的神经网络用于生成,分类和细化目标提议有巨大的前景。
本文介绍了H3DNet,这是一种端到端的神经网络,利用新颖的中间表征进行3D目标检测。具体来说,H3DNet首先预测一组混合的几何基元(即边界框中心,边界框面中心,边界框边中心),然后检测对象拟合这些基元及其相关特征。这种回归方法的灵感来自6D物体姿态检测估计中的基于关键点的姿态回归,它有两个优势,首先,每种类型的几何基元关注输入点云的不同区域(例如,用于预测边界框中心关注的是整个对象的点,预测边界框面的中心关注的是边界面的点)。组合不同的几何基元可以增加其泛化的优势。多种几何基元比仅使用一种几何基元可以提供更多的约束。其次,多种几何基元约束可以容忍预测基元中的异常值(例如,使用鲁棒函数)并减少单个预测误差的影响。H3DNet的设计充分践行了这两个优点。
具体来说,H3DNet由三个模块组成。第一个模块计算密集的逐点特征并使用它们预测几何基元及其潜在特征。第二个模块将这些几何基元转换为对象提议。H3DNet的一项关键创新是定义了参数距离函数,用于评估对象边界框与预测基元之间的距离。该距离函数可以轻松合并多种几何基元。它的局部最小值自然对应与对象提议。这种方法能够不断优化对象边界框,并从不精确的初始提议生成高质量的对象提议。第三个模块是将每个目标提议分类为是否检测到目标,并且为每个检测到的目标预测其几何参数的偏移向量和语义标签以微调检测结果。该模块的性能取决于输入。由于每个对象提议都与不同的几何基元相关联,因此,H3DNet聚合与这些几何基元相关的潜在特征,这些特征可能包含互补的语义和几何信息,作为该模块的输入。本文还引入了一种可以处理不同数量的几何基元的网络设计。
消融实验证明:证明回归混合的几何基元以生成对象提议以及聚合与匹配基元相关的特征已对检测到的对象进行分类和细化的重要性
贡献:
- 将目标检测表述为回归和聚合一组混合的几何基元
- 预测适合不同场景和对象类型的多种类型的几何基元
- 仅使用点云在SUN RGB-D和ScanNet数据集上获得最先进的结果
相关工作
3D object detection
从方法论的角度来看,3D 目标检测方法与其 2D 对应方法之间存在紧密的联系。大多数现有工作遵循对使用滑动窗口或更先进的技术生成的候选对象进行分类的方法。物体分类涉及基于模板的方法或深度神经网络。 2D 方法和 3D 方法之间的主要区别在于特征表示。例如,[Holistic scene understanding for 3d object detection with RGBD cameras-2013]利用成对语义上下文潜力来指导提议的客观性得分。 [Three-dimensional object detection and layout prediction using clouds of oriented gradients-2016]使用定向梯度云(COG)进行对象检测。 [3d-sis-2019] 利用 3D 卷积神经网络的强大功能来识别 3D 对象的位置和关键点。由于 3D 领域的计算成本,许多方法利用 2D-3D 投影技术来集成 2D 目标检测和 3D 数据处理。例如,MV3D 和 VoxelNet 在继续进行Pipeline的其余部分之前以鸟瞰图表示 3D 输入数据。类似地,[Frustum pointnets for 3d object detection from rgb-d data-2018]首先处理 2D 输入以识别候选 3D 对象提议。
点云已经成为3D深度学习的强大表示,特别是在提取显著的几何特征和空间位置方面。基于Point的神经网络先前用法包括分类,分割,估计和3D重建。
基于点云的目标检测研究越来越多。H3DNet与VoteNet最相关,它利用深度神经网络来预测目标边界框。H3DNet的关键创新在于,它利用一组几何基元和距离函数将它们集成起来进行目标检测。该策略可以容忍不准确的原始预测(例如,只有部分输入)。
Multi-task 3D understanding
联合预测不同类型的几何基元与多任务学习相关,其中将多个相关任务合并在一起可以提高特征学习的性能。在最近的一项工作 HybridPose 中,表明预测关键点、关键点之间的边和对称对应共同提高了每种类型特征的预测精度。本文表明一起预测边界框中心、边界框面部中心和边界框边中心有助于提高原始预测的泛化行为。
Overcomplete constraints regression
H3DNet 的主要思想是合并一组混合的几何约束。这种方法从使用单一类型几何基元中获得了相当大的性能提升。在概念层面上,类似的策略已用于对象跟踪、零镜头细粒度分类、6D 对象姿态估计和扫描之间的相对姿态估计等任务。与这些工作相比,H3DNet的新颖之处在于设计适合目标检测的混合约束、持续优化目标提议、聚合混合特征以分类和微调目标提议以及整个网络的端到端训练。
方法
方法概述
如上图所示,H3DNet的输入是一组密集的3D点(点云)。输入一般来自深度传感器或多视图立体匹配的结果。输出是定向边界框的集合。
H3DNet由三个模块组成,从几何基元预测开始,到提议生成,再到提议细化。主要是预测和集成一组混合的几何基元,即边界框中心,边界框面中心,边界框边中心。整个网络是端到端训练的。
Geometric primitive module :H3DNet的第一个模块以点云作为输入,输出一组几何基元,预测对象边界框的中心,边界框面的中心,边界框边中心的位置。该网络扩展设计了[Deep hough voting for 3d object detection in point clouds]的网络设计。具体来说,它结合了用于提取逐点特征的子模块,以及将逐点特征作为输入和输出点与相应中心之间偏移向量的子模块。最终的语义是通过据类获得的。除了位置之外,每个预测的几何基元还拥有一个潜在特征,该特征会传递到H3DNet的后续模块。
与VoteNet相比,H3DNet有两个优点。首先,由于仅预测几何基元的子集足以用于对象检测,因此检测到的对象对错误预测不敏感。其次,不同类型的几何基元表现出互补的力量,例如,边界框中心对于完整的物体来说是准确的,而边界框面中心则适合于具有丰富平面结构的部分物体。
Proposal generation module :第二个模块将预测的几何基元作为输入并输出一组对象建议。H3DNet的一项关键创新是将目标提议转换为距离函数的局部最小值。这种方法在几个方面都非常灵活,首先,很容易合并几个几何基元,每个几何基元对应于距离函数的一个客观项。其次,它可以使用稳健的规范来处理异常预测和错误预测。最后可以连续优化对象提议,并且此方法减轻了生成高质量初始提议的负担。
Classification and refinement module :H3DNet的最后一个模块是将每个对象提议分类为是否检测到对象。该模块还计算偏移向量以及细化每个检测到对象的边界框中心,边界框大小和边界框方向以及语义标签。该模块的关键思想是聚合与每个对象提案的相应基元相近的几何基元特征。这些聚合特征包含丰富的语义信息,而这些信息是与每个几何基元相关的特征所不具备的。
Primitive Module
H3DNet的第一个模块输入点云预测一组几何基元。每个几何基元都对检测到的对象提供一些约束。与大多数先前计算最小基元集(即足以确定对象边界框)的工作相比,H3DNet利用多个几何基元,即边界框中心,边界框面中心和边界框边中心。换句话说,这几个几何基元可以为一个边界框提供多达19个位置约束。
与VoteNet类似,该模块的设计结合了描述符子模块和预测子模块。特征提取子模块计算密集的逐点特征,其输出传递给预测子模块,该模块由三个预测分支组成。每个预测分支预测一组类型的几何基元。
Descriptor sub-module : 描述符子模块。 描述符子模块的输出可以提供语义信息,用于将Point分组以预测几何基元(例如,同一物体上的点可作为边界框中心,同一边界面上的点可作为边界框面中心)。H3DNet不适用单个特征计算,而是集成四个独立的特征计算。由此产生的特征被串联起来,用于H3DNet的原始预测和后续模块。实验表明,这种网络设计可以学习到预测各类基元的独特特征,且并没有显著增加网络的复杂性。
BB center prediction : 边界框中心预测。与VoteNet相同,H3DNet利用具有三个全连接层的网络来预测每个点与其对应的对象中心的偏移向量。由此产生的边界框中心是通过聚类获得的(类似VoteNet)。除了偏移向量之外,H3DNet还计算每个边界框中心的关联特征,这些特征用作H3DNet后续模块的输入特征表示。
对于完整的矩形物体,边界框中心的预测是准确的。然而,由于偏移预测的权重不平衡,部分或被遮挡的物体以及薄物体(如图片,窗帘)存在移位误差。这促使本文考虑边界框面中心和边界框边中心。
BB face center prediction :边界框面中心预测。平面在人造场景和实际物体中无处不在。与边界框中心类似,H3DNet使用三个全连接层来执行逐点预测。预测属性包括该点是否靠近边界框面的中心,如果是,则计算该点与其对应的边界框面中心之间的偏移量。对于训练,通过计算每个点最接近的边界框面来生成真实标签。如果距离小于0.2m,就指定该点靠近边界框面(即正实例)。与边界框中心类似,每个边界框面中心预测也拥有一个潜在特征描述,该特征描述也被传递给后续模块中。
由于边界框面中心预测仅受靠近该面的点的影响,因此本文发现它们对具有丰富平面信息的对象(例如冰箱,浴帘)和不完整的对象特别有用。
BB edge center prediction : 边界框边中心预测。边界线特征在所有 3D 场景和对象中是另一种类型的几何线索。与边界框面类似,H3DNet 采用 3 个全连接层来为每个点预测一个标志,指示它是否靠近边界框边,如果是,则预测该点与相应边界框边中心之间的偏移向量。与边界框面中心相同,通过计算每个点最接近的边界框边来生成真实标签。如果最近距离小于 0.2m,则称某个点靠近边界框边。同样,每个边界框边中心预测都拥有相同维度的潜在特征。与边界框中心和边界框面中心相比,边界框边中心对于点密度不规则(例如,具有大孔)但边界框边看起来完整的对象(例如,窗户和电脑桌)非常有用。
不同基元的误差分布在很大程度上彼此不相关。当将它们集成在一起以检测对象时,这种不相关的预测误差为性能提升提供了基础。
提议模块
预测几何基元后,H3DNet 继续计算对象提议。由于预测的几何图元过于完备(可能指的是预测的几何基元的数量超过了实际需要的数量),H3DNet 将它们转换为距离函数,并生成对象提议作为该距离函数的局部最小值。这种方法是 H3DNet 的重要贡献,具有多种吸引人的特性。首先,它自动合并多个几何基元来确定每个对象提议的参数。其次,距离函数可以不断优化目标建议。由此产生的局部最小值对初始提议不敏感,允许使用简单的初始提议生成器。最后,每个局部最小值都附加到不同类型的几何基元,这些基元携带潜在的互补语义信息。H3DNet 的最后一个模块基于此属性来分类和细化对象建议。
Proposal distance function : 提议距离函数。
使用截断的 L2 范数来匹配预测基元和最接近的对象基元。 βt 描述了类型 t 的权衡参数。 βt 和截断阈值 δ 都是通过交叉验证确定的。
Initial proposals : 初步建议。H3DNet 通过探索一组初始提议中距离函数的局部最小值来检测对象提议。从优化的角度来看,从任何足够接近局部最小值的初始解中获得相同的局部最小值。这意味着最初的建议不需要精确。在本文的实验中,发现简单的对象提议生成方法就足够了。具体来说,H3DNet 利用[VoteNet]的方法,从每个检测到的 边界框中心初始化一个对象提案。
Proposal refinement : 提议细化,通过最小化 FS,改进了每个初始提案。请注意,不同的初始提案可能共享相同的局部最小值。最终的目标提案仅收集独特的当地最低标准。
Classification and Refinement Module
H3DNet的最后一个模块将proposal模块的输出作为输入,并输出检测到的对象的集合。该模块结合了分类子模块和细化子模块。分类子模块确定每个对象提议是否是对象。细化子模块为每个检测到的对象预测边界框中心的偏移、边界框大小、边界框方向以及语义标签。
主要思想是聚合每个对象提案的基元(即对象中心、边中心和面中心)相关的特征。这些特征捕获潜在的互补信息,但只有在这个阶段(即,在检测到匹配基元组之后)才有可能将它们融合在一起以确定和微调检测到的对象。
如下图所示,通过组合四个全连接层来实现该子模块。输入层连接对象提案的 19 个对象基元(即 1 个边界框中心、6 个边界框面中心和 12 个边界框边中心)的输入特征。每个输入特征都集成了与相应对象基元附近的基元相关联的特征。为了解决邻域基元数量不同(例如没有或多个)的问题,本文利用 PointNet中最大池层的变体来计算输入特征。具体来说,每个最大池层的输入由与输入对象提议相关的特征组成,该特征解决了没有匹配图元的问题,以及在每个对象图元的邻域中随机采样的 32 个特征点。在本文的实现中,通过范围查询确定相邻图元,半径为0.05m。
该模块的输出结合了指示客观性的标签、边界框中心的偏移、边界框大小和边界框方向以及语义标签。文章来源:https://www.toymoban.com/news/detail-725646.html
网络训练
loss function:
优化器:
Adam文章来源地址https://www.toymoban.com/news/detail-725646.html
到了这里,关于[论文阅读]H3DNet——基于混合几何基元的3D目标检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!