没有合适的资源?快使用搜索试试~ 我知道了~
189420点云的表面表示0韩昊曦1* 刘俊2 王成杰201 东北大学 2 腾讯优图实验室 ranhaoxi@gmail.com {juliusliu, jasoncjwang } @tencent.com0摘要0大多数先前的工作通过坐标来表示点云的形状。然而,直接描述局部几何是不充分的。在本文中,我们提出了RepSurf(代表性表面),这是一种新颖的点云表示方法,用于明确描述非常局部的结构。我们通过预定义的几何先验计算RepSurf的表示,这些先验是在表面重建之后得到的,RepSurf可以作为大多数点云模型的即插即用模块,因为它可以与不规则点自由协作。基于PointNet++(SSG版本)的简单基准,UmbrellaRepSurf在性能和效率方面在各种基准上超过了先前的最新技术,包括分类、分割和检测。在参数数量增加约0.008M、FLOPs增加约0.04G和推理时间增加约1.12ms的情况下,我们的方法在ModelNet40上实现了94.7%(+0.5%)的准确率,在ScanObjectNN上实现了84.6%(+1.8%)的准确率,用于分类;在S3DIS6-fold上实现了74.3%(+0.8%)的mIoU,在ScanNet上实现了70.0%(+1.6%)的mIoU,用于分割。对于检测,先前最先进的检测器与我们的RepSurf相结合,在ScanNetV2上获得了71.2%(+2.1%)的mAP25,54.8%(+2.0%)的mAP50,在SUNRGB-D上获得了64.9%(+1.9%)的mAP25,47.7%(+2.5%)的mAP50。我们的轻量级TriangularRepSurf在这些基准上表现出色。代码公开可用于https://github.com/hancyran/RepSurf。01. 引言0从原始点云中学习已经引起了相当大的关注,因为它在各种应用中具有优势,如自动驾驶、增强现实和机器人技术。然而,由于点云的不规则性,处理不规则点可能会很困难。为了处理不规则点,开创性的工作PointNet[41]采用了逐点多层感知器(MLP)。0* 通讯作者0图1.使用RepSurf进行点云分类的概述。给定飞机点云中的一个点(蓝色),我们通过坐标xi指示其全局位置。与之前的工作不同,我们进一步通过从重建的三角形提取的三角形RepSurfti或从重建的伞面学习的伞形RepSurfui明确描述其局部几何。通过结合位置和几何信息,点表示可以更具表现力。在将xi和ti/ui连接为输入后,我们通过MLPs和池化操作预测点云的类别。0独立学习点并利用对称函数获取全局信息。PointNet++[43]进一步引入了集合抽象(SA)来捕捉点云的局部信息。然而,这两种方法都是从独立点学习,并没有注意到局部形状的意识。局部形状对于点云的学习至关重要。为了从局部结构信息中学习,一些先前的工作从网格[25, 53]、关系[31,44]或图[58,65]中学习。然而,这些方法通过附加更多的成分(如欧几里得距离、注意机制)或应用各种变换(如图构建、体素化)间接地从形状中学习。这可能导致复杂的预处理和显著的计算量。这些复杂的手工制作的组件通常从隐含的局部形状表示中学习。我们认为,在预定义成分时,这可能会导致信息的遗漏,或者在转换过程中丢失几何信息。泰勒级数[52]通过导数来表示局部曲线。我们简化为仅考虑二阶导数。189430因此,我们可以通过其相应的切线来粗略地表示局部曲线,或者我们称之为3D点云中的“表面”。为此,受到泰勒级数的启发,我们提出了RepSurf(代表性表面)来明确表示点云的局部形状(如图1所示)。为了在点集中补充笛卡尔坐标的几何信息,我们定义了具有三个属性的RepSurf:离散性、显式局部性和曲率敏感性。这些属性使得RepSurf能够与不规则点自由协作地表达局部几何。对于RepSurf的一个简单版本,我们提出了受计算机图形学中三角形网格启发的TriangularRepSurf。我们通过查询每个点的两个邻居来重构一个三角形,并计算三角形特征(如法向量、表面位置、归一化坐标)作为RepSurf。为了扩大RepSurf的感知域,我们进一步提出了受伞曲率[10]启发的Umbrella RepSurf。UmbrellaRepSurf可以作为TriangularRepSurf的扩展,因为它是从伞状表面的三角形计算得到的。与TriangularRepSurf不同,我们在搜索K个最近邻并逆时针排序邻居之后重构一个伞状表面。为了获得表达能力强的表示,我们将伞状表面的K个三角形特征输入到可学习的变换函数中,然后进行聚合。此外,我们还提出了一些精心设计的方法(如极坐标辅助、通道去差异化)来进一步改进RepSurf。我们的主要贡献如下:0• 一种新颖的基于三角形的表示,用于点云的TriangularRepSurf。0• 一种新颖的多表面表示,用于点云的UmbrellaRepSurf。0•一种基于RepSurf的高效即插即用模块,用于点云模型。0•我们的方法在众多点云基准测试中达到了最先进的水平。02. 相关工作02.1. 在点云上的学习0多视图方法[9, 14-16, 42, 62]或基于体素的方法[7, 12, 21,34,60]通过多个视图(即将3D形状转换为2D图像[51]和格点空间[50])或体素化来描述3D对象(基于Oc树的网络O-CNN[56]和OctNet[45],以及高效的亚流形稀疏卷积[13])。然而,这些转换方法可能会导致大量的计算,同时由于遮挡或较低分辨率而丢失形状信息。最近,点云方法[11, 18, 19, 23, 24, 29, 32,36]直接处理点云引起了极大的关注。0点云。PointNet[41]通过多层感知器和最大池化操作从全局信息中学习。PointNet++[43]引入集合抽象来捕捉局部点集的特征,并通过最远点采样(FPS)在两个集合抽象之间进行均匀下采样。最近的研究通过卷积[17, 27, 28, 30, 37, 53, 57, 59, 59, 64, 66, 71,73]、关系[44, 61, 67, 74]和图[58, 65,75]探索局部聚合器。PointCNN[25]在将相邻点转换为规范顺序后,在点云上应用传统卷积。RS-CNN[31]预定义了点与其邻居之间的几何关系,用于局部聚合。DGCNN[58]动态计算局部图以提取几何信息。然而,这些方法通常基于隐含的局部几何假设,可能导致输入中缺失几何信息。02.2. 点云上的检测0一些早期的方法将点云转换为2D网格[5, 22, 26, 63,68]或3D体素[49,76],然后通过卷积来检测3D对象。最近的研究集中在原始点云的3D检测上[4, 6, 33, 35, 38, 40, 46, 47,72]。VoteNet[39]采用PointNet++作为特征提取的骨干,并设计了一个组件来将点分组为投票的中心点。[33]通过引入Transformer [55]来消除手工分组操作。02.3. 与图形相关的曲面表示0在计算机图形学中,三角网格通常用于表示3D模型。为了从点云中获取网格,之前的研究提出了各种表面重建方法。Ball-Pivoting算法[3]在不包含其他点的情况下,如果一个特定半径的球与三个点接触,则形成一个三角形。[20]定义了表面重建的空间泊松公式。曲率可以进一步表示3D点云的局部几何。[70]通过最小二乘拟合估计点云表面的局部曲率。[10]基于同质邻居构建了一个伞状曲面,并通过邻居的法向量和单位方向向量计算伞状曲率。03. 曲面表示0在本节中,我们首先揭示了设计我们的代表性曲面(RepSurf)的背景。其次,我们介绍了RepSurf的几个特性作为灵感。接下来,我们分别在第3.3节和第3.4节中提出了RepSurf的两个变体,即三角形RepSurf和伞状RepSurf。最后,我们在PointNet++(SSG版本)上实现了RepSurf,并提供了几种精美的设计来进一步提高RepSurf的性能。f(x) =∞�n=0n!(x − t)n, |x − t| < ϵ(1)(x − t),(2)ai (x − xi) + bi (y − yi) = 0 ⇒aix + biy − (aixi + biyi) = 0,(3)ci = (xi, yi, ai, bi, aixi + biyi) .(4)189440图2.通过相应的切线对2D曲线(左)和3D曲面(右)进行局部形状表示。03.1. 背景0局部形状对于表示点云是至关重要的。之前的研究通过利用额外的成分或通过不同的变换间接地学习形状。这些操作可以给出一些表示点云局部集合的提示,但不能明确地反映局部形状。我们认为,额外的信息会导致显著的计算量,但对于点云表示贡献很小。有些甚至可能导致几何信息的丢失。因此,我们必须重新思考如何表示局部几何。我们可以通过泰勒级数[52]来描述以点(t,f(t))为中心的非常局部的2D曲线f(∙):0f(n)(t)0为了简化计算,我们通过以下方式近似这个方程:0f ( x ) � f ( t ) ���� 全局位0+ f ′(t) ���� 局部方向0其中(t,f(t))是曲线f(∙)上的全局位置,第一导数f′(t)可以直观地指示点(t,f(t))附近的局部方向。为了进一步表示局部曲线(图2左),我们通过其对应的切线来表示局部方向:0b i = − f ′ ( a ) . ( a i , b i )是切线的法向量,其中 a 2 i +b 2 i = 1 . 总之,局部曲线的粗略描述可以定义为:0图3.曲率敏感性表的可视化。我们通过坐标(上方)和法线(下方)的值来可视化点云在三个维度上的局部形状。直观地说,法线向量可以在一定程度上数值地反映局部形状。03.2. RepSurf的特性0PointNet [ 41 ]受到了欧几里得空间中R N ×3中点集的三个主要属性的启发:1)无序性,2)点之间的相互作用,3)对于变换的不变性。它可以处理无序的点集并减轻刚性变换带来的问题。然而,点之间的相互作用能力仍然未被充分探索。在3D计算机图形学中,三角网格是3D模型的常见表示形式。通常,三角网格由一组通过共享边缘或角点连接的三角形组成。因此,三角形可以灵活地呈现连续而复杂的3D形状。然而,由于不规则性,三角网格可能与点云的数据结构不匹配。直接将点云转换为三角网格可能会导致显著的计算量以及丢失点云特性(如无序性的灵活性,集合性的可扩展性)。因此,我们设计了我们的RepSurf,灵感来自以下特性:0•离散性。理想情况下,RepSurf应该是与相关点集协作的集合。这意味着每个N个点都有一个对应的RepSurf特征。0•显式局部性。与描述隐式局部结构的先前工作不同,RepSurf在数值上显示了点云的一部分的显式局部性。0•曲率敏感性。坐标很难描述3D点云的局部形状。RepSurf应该能够直观地突出边缘和局部形状。如图3所示。out = concat([centroids, normals, positions], dim=2)# [B,N,7]return out3.3. Triangular RepSurfai (x − xi) + bi (y − yi) + ci (z − zi) = 0 ⇒aix + biy + ciz − (aixi + biyi + cizi) = 0.(5)ti = (ai, bi, ci, pi) .(6)3.4. Umbrella RepSurf# [B,N,K,2,3]centroids = mean(pairs, dim=3) # [B,N,K,3]normals = cross_product(pairs) # [B,N,K,3]normals = normals/norm(normals, dim=-1) # [B,N,K,3]pos_mask = (normals[..., 0, 0]>0)*2-1 # [B,N,1,1]normals = normals*pos_mask # [B,N,K,3]normals = random_inverse(normals) # [B,N,K,3]positions = sum(normals*centroids, dim=3)/sqrt(3)# [B,N,K,1]features = concat([centroids, normals, positions],dim=2) # [B,N,K,7]features = MLPs(features, out_channel=C) #[B,N,K,C]features = pooling(features, dim=2) # [B,N,C]out = concat([centroids, features], dim=2)# [B,N,3+C]ui =nij =189450Algorithm 1 Triangular RepSurf的Pytorch风格伪代码0# B: 批量大小, N: 点的数量 # points: 点集的坐标 pairs = kNN(points,k=2)-points # [B,N,2,3] centroids = mean(pairs, dim=2) # [B,N,3]normals = cross_product(pairs) # [B,N,3] normals =normals/norm(normals, dim=-1) # [B,N,3] pos_mask = (normals[...,0]>0)*2-1 # [B,N,1] normals = normals*pos_mask # [B,N,3] normals =random_inverse(normals) # [B,N,3] positions =sum(normals*centroids, dim=2)/sqrt(3)0将点集表示为X = { x 1 , . . . , x n } � R N ×3。类似于第3.1节中的2D曲线,我们通过点法线方程定义一个3D切面(图2右侧)。给定一个法向量 v i = ( a i , b i , ci ) 和一个点 x i = ( x i , y i , z i ) ,表面可以定义为:0我们将表面位置定义为 p i = a i x i + b i y i + c i z i03 r ] . r代表完全覆盖点集的立方体的边长。例如,我们使用范围在[−1, 1]内的归一化点云作为输入,所以这里 r = 1。注意,pi也可以表示原点与表面之间的有向距离。然后,我们通过叉乘计算 v i 。然而,计算得到的 v i 是无方向的,即 v i可以指向表面的内部或外部。为了解决这个问题,之前的工作[2]采用了一些耗时的方法。考虑到效率,我们通过保持 ai为正,并以50%的概率对法线进行实例级别的随机反转来简化这种情况。因此,我们定义Triangular RepSurf为:0我们定义一组Triangular RepSurf为T = { t 1 , . . . , t n } �R N ×4。为了将点云输入模型,我们用重新计算的三角形质心X'替换X。然后输入可以是X'和T的连接。TriangularRepSurf的简单示例和实现分别在图1和算法1中呈现。0TriangularRepSurf是一种轻量级的方法,用于表示点云的局部几何。然而,由于有限的感知范围,它也可能导致不稳定的局部表示。为了解决这个缺点,我们通过提出受到伞状曲率启发的Umbrella RepSurf来扩大感知范围[10]。0Algorithm 2 Umbrella RepSurf的Pytorch风格伪代码0# B: 批量大小, N: 点的数量 # K: 邻居的数量, C: 输出通道 # points:点集的坐标 neighbors = kNN(points, k=K)-points # [B,N,K,3] edges =sort_by_clock(neighbors) # [B,N,K,3] edges = unsqueeze(neighbors,dim=-2) # [B,N,K,1,3] pairs = concat([edges, edges.roll(-1, 2)], dim=-2)0返回 out0将邻居的数量记为 K ,将邻居三角形的质心和特征记为 X ′ i= { x ′ i 1 , . . . , x ′ iK } � R K × 3 和 T i = { t i 1 , . . . , tiK } � R K × 4 。在 [ 10 ]中,伞曲率的无符号标量定义如下:0K乘以0K乘以0等式 x ′ ij 除以x ′ ij 除以 ∙ n i0等式 (7)0其中 n i 是第 i 个点的给定法向量。然而,在点集 X中,通常未知 n i,这使得伞曲率在实际场景中不实用。此外,我们认为标量曲率无法完全表达局部几何。在这种情况下,我们提出了UmbrellaRepSurf来表示局部几何,而不需要任何给定的法向量。此外,与基于同质邻居定义的伞曲率不同,我们的UmbrellaRepSurf可以处理异质邻居,因为它对位置敏感。图4中展示了一个示例。点 x i 的Umbrella RepSurf u i 定义如下:0u i = A 乘以 T 乘以 [ x ′ ij , t ij ] ,对于所有 j 属于{ 1 , . . . , K } , (8)0其中 A 是一个聚合函数(例如求和),T 是一个变换函数,x ′ij 是根据其质心 x i 进行归一化的坐标。为了计算 t i ∙,我们在xy平面上从0°(x轴)到359°逆时针构造相邻三角形。因此,伞面上的三角形数目恰好为 K。请注意,为了保持法向量方向的局部一致性,我们通过逆时针叉乘计算这些法向量。(图4中展示了无序重建伞面的示例。)为了简化全局法向量方向的定义,与TriangularRepSurf不同,我们保持 t i 1 的 a i 1为正,其他法向量的方向相应改变。因此,尽管局部上方向一致,从全局角度来看,法向量可能是无定向的。与TriangularRepSurf类似,我们通过随机逆转来增强伞面的法向量 n i ∙。我们采用可学习的函数(线性函数和非线性函数的组合)来定义 T 。Umbrella RepSurf的实现如算法2所示。We implement our RepSurf on the single-scale grouping(SSG) version of PointNet++ [43] in a simple manner ofconcatenation. For each set abstraction, we input RepSurfalong with point features. An illustration of the input flowis shown in Fig. 5. Furthermore, we propose two designs tofurther improve our RepSurf.Polar auxiliary.For simplicity, previous point-basedmodels widely adopt Cartesian coordinates as input. How-ever, they cannot fully express the relationships between acentroid and its neighbors. Unlike Cartesian coordinate sys-tem, the polar coordinate systems present a point coordinateby distance and angles according to the origin. The polarsystems (i.e., Spherical system, Cylindrical system) can bea supplement for its distance and direction sensitivity. Inthis paper, we explore a practical application of the polarsystems for point-based models. We take Spherical systemas an example. After querying the neighbors of a point xi,we re-define the position of the j-th neighbor by includingits spherical position:x′ij = (x′ij, y′ij, z′ij, ρij, θij, ϕij),(9)x′2ij + y′2ij + z′2ij,189460图4.重建伞面的示例。我们分别以常规视图(上方)和顶视图(下方)展示每个伞面。从左到右,我们展示了两个由同质邻居重建的伞面,一个由异质邻居重建的伞面,以及一个无排序重建的伞面。0我们将RepSurf简单地应用于PointNet++ [ 43]的单尺度分组(SSG)版本,通过连接的方式。对于每个集合抽象,我们将RepSurf与点特征一起输入。输入流程的示意图如图5所示。此外,我们提出了两种设计来进一步改进我们的RepSurf。极坐标辅助。为了简单起见,以前的基于点的模型广泛采用笛卡尔坐标作为输入。然而,它们无法完全表达质心和其邻居之间的关系。与笛卡尔坐标系不同,极坐标系根据原点的距离和角度表示点的坐标。极坐标系(例如球面坐标系、柱面坐标系)可以补充距离和方向敏感性。在本文中,我们探索了极坐标系在基于点的模型中的实际应用。我们以球面坐标系为例。在查询点 x i的邻居之后,我们通过包含其球面位置来重新定义第 j 个邻居的位置:03.5. 实现0化笛卡尔坐标。0标准化的笛卡尔坐标。 ρ ij = �0ρ ij , ϕ ij = atan2( y ′ ij , x ′ ij )。有关极坐标辅助实现的更多细节,请参阅补充材料。通道去差异化。受[ 69]的启发,我们观察到不同类型的输入(即坐标、法向量、点特征)在数据分布上存在显著差异。为了能够平等处理不同的输入并稳定地训练我们的模型,我们探索了沿通道维度进行去差异化的解决方案。在本文中,我们将Post-CD(在线性函数之后进行批量归一化)应用于我们的方法。有关通道去差异化实现的更多细节,请参阅补充材料。0图5. RepSurf在PointNet++上进行分类的输入流程概述。x i , t i ,u i 分别是输入的第i个点的坐标、三角形RepSurf、伞形RepSurf。f1 i , f 2 i , f 3 i分别是第一、第二、第三个集合抽象(SA)的第i个输出特征。0向量、点特征)在数据分布上存在显著差异。为了能够平等处理不同的输入并稳定地训练我们的模型,我们探索了沿通道维度进行去差异化的解决方案。在本文中,我们将Post-CD(在线性函数之后进行批量归一化)应用于我们的方法。有关通道去差异化实现的更多细节,请参阅补充材料。04. 实验0我们在分类、分割和检测三个主要任务上评估了我们的三角形RepSurf和伞形RepSurf。此外,我们进行了消融研究,以评估我们设计的模块的有效性。更多实验细节请参阅补充材料。04.1. 分类03D物体分类是证明方法有效性的基本任务。我们在ModelNet40 [ 60 ](一个人造物体数据集)和ScanObjectNN [ 54](从真实场景中检索的数据集)上进行实验。人造物体分类。ModelNet40 [ 60]包含9843个训练模型和2468个测试模型,分为40个类别。在表1中,我们将我们的三角形RepSurf(RepSurf-T)和伞形RepSurf(RepSurf-U)与之前的方法进行了比较。配备了RepSurf-T和RepSurf-U后,PointNet++(SSG版本)的性能提高了3.7%和4.1%。为了与其他方法[ 31 , 61 , 64]进行公平比较,我们采用了[ 31]中的多尺度推理策略进行进一步改进。尽管ModelNet40上的结果趋于饱和,但我们的RepSurf-U达到了94.7%,超过了CurveNet [ 61 ]0.5%的大幅度。此外,就训练和推理速度而言,RepSurf-U分别比CurveNet快5.4倍和4.0倍。真实世界物体分类。由于ModelNet40的饱和,我们进一步在ScanObjectNN [ 60]的最难变体(PB T50 RS变体)上验证了我们的RepSurf。PointNet [41]47.666.278.541.148.9--1.7M4.1GPointWeb [73]66.776.287.360.266.686.9---KPConv [53]70.679.1-67.172.8-68.414.9M-PointASNL [67]68.779.088.862.668.587.763.022.4M 19.1GPAConv [61]69.378.6-66.573.0---1.3GRPNet [44]70.8-----68.22.4M5.1G189470方法 输入 ModelNet40 ScanObjectNN #参数 FLOPs 训练速度 推理速度 OA mAcc OA mAcc0PointNet [ 41 ] 1k个点 89.2 86.0 68.2 63.4 3.47M 0.45G 1.76ms 0.81ms DGCNN [ 58 ] 1k个点 92.9 90.2 78.1 73.6 1.82M 2.43G -- RS-CNN ‡ [ 31 ] 1k个点 93.6 - - - 2.38M 1.16G - - KPConv [ 53 ] � 7k个点 92.9 - - - 14.3M - 218.7ms 543.7ms PointASNL [ 67 ]1k个点 � 93.2 - - - 10.1M 1.80G - - Grid-GCN [ 65 ] 1k个点 � 93.1 91.3 - - - - - 42.20ms PointTrans. [ 74 ] 1k个点 � 93.7 90.6 - - - - -- MVTN [ 15 ] 多视图 93.8 92.0 82.8 - 4.24M 1.78G - - PAConv ‡ [ 61 ] 1k个点 93.9 - - - 2.44M 1.68G - - RPNet [ 44 ] 1k个点 �94.1 - - - 2.70M 3.90G - - CurveNet ‡ [ 61 ] 1k个点 94.2 - - - 2.14M 0.66G 22.04ms 12.34ms0PointNet++ † [ 43 ] 1k个点 90.7 88.4 77.9 75.4 1.475M 0.77G 2.75ms 1.98ms0RepSurf-T ‡(我们的)1k个点 94.2 ↑ 3.5 91.3 ↑ 2.9 84.3 ↑ 6.4 81.6 ↑ 6.2 1.479M 0.79G 3.33ms 2.47ms0RepSurf-U ‡ (我们的方法) 1k个点 94.7 ↑ 4.0 91.7 ↑ 3.3 84.6 ↑ 6.7 81.9 ↑ 6.5 1.483M 0.81G 4.08ms 3.10ms0RepSurf-U ‡◦ (我们的方法) 1k个点 - - 86.0 83.1 6.806M 2.43G - -0† : 单尺度分组(SSG)版本, ‡ : 来自[ 31 ]的多尺度推理, � : 带法向量, ◦ : 双通道和更深网络的PointNet++(SSG)。0表1.在ModelNet40和ScanObjectNN上的分类性能。我们根据整体准确率(OA,%)、平均每类准确率(mAcc,%)、参数数量(#Params)、FLOPs、训练速度(每个输入样本的持续时间)和推理速度(每个输入样本的持续时间)评估不同的方法。我们将OA视为主要评估指标。粗体表示结果优于相应数据集上的先前最先进方法。绿色表示与原始模型相比,我们的RepSurf有所改进。我们使用一块NVIDIA Tesla V100GPU和四个Intel Xeon @2.50GHz CPU核心测试了所有方法的速度。批量大小设置为16。0方法 S3DIS 6倍交叉验证 S3DIS Area-5 ScanNet #Params FLOPs mIoU mAcc OA mIoU mAcc OA mIoU0PointNet++ † [ 43 ] 59.9 66.1 87.5 56.0 61.2 86.4 - 0.969M 1.00G0RepSurf-U (我们的方法) 74.3 ↑ 14.4 82.6 ↑ 16.5 90.8 ↑ 3.3 68.9 ↑ 12.9 76.0 ↑ 14.8 90.2 ↑ 3.8 70.0 0.976M 1.04G0† : 单尺度分组(SSG)版本, � : 带法向量。0表2. S3DIS(6倍交叉验证或Area 5)和ScanNetV2上的语义分割性能。我们根据平均每类IoU(mIoU,%)、平均每类准确率(mAcc,%)、整体点云准确率(OA,%)、参数数量(#Params)和FLOPs评估不同的方法。粗体表示结果优于相应数据集上的先前最先进方法。绿色表示与原始模型相比,我们的RepSurf有所改进。0更具挑战性的数据集,考虑遮挡和背景。它由2902个点云组成,分为15个类别。在表1中,我们的RepSurf-T和RepSurf-U分别达到84.3%和84.6%,优于先前的最先进方法MVTN[ 15 ]1.5%和1.8%,参数数量和FLOPs减少了约1.8倍和1.2倍。04.2. 分割0由于异常值和噪声,场景分割可能更具挑战性。我们在两个大规模场景数据集S3DIS [ 1 ] 和ScanNet V2 [ 8 ]上评估了我们的RepSurf。0S3DIS上的语义分割。S3DIS [ 1 ]包含来自6个室内区域的271个场景。每个点被归类为13种语义标签。在表2中,我们通过6倍交叉验证和Area-5上评估了我们的RepSurf在S3DIS上的性能。我们的RepSurf-U在S3DIS 6倍交叉验证和S3DISArea-5上分别将PointNet++的mIoU提高了14.4%和12.9%。此外,我们的RepSur-U在S3DIS6倍交叉验证上的mIoU比之前的最先进方法PointTransformer [ 74 ] 高出0.8%,在S3DISArea-5上的性能也相当。同时,我们的RepSurf-U的参数数量减少了4.0倍,FLOPs减少了1.7倍。VoteNet [39]PointNet++62.939.959.135.8--ImVoteNet [38]PointNet++--63.4∗---H3DNet [72]PointNet++64.443.4----H3DNet [72]4×PointNet++67.248.160.139.0-266ms3DETR [35]Transformer65.047.059.132.7--BRNet [6]PointNet++66.150.961.143.7--189480方法 骨干网络 ScanNetV2 SUN RGB-D #Params 推理速度 mAP@0.25 mAP@0.5 mAP@0.25 mAP@0.50GroupFree 6,256 PointNet++ 67.3 48.9 63.0 45.2 11.49M 149ms0GroupFree 6,256 RepSurf-T 68.4 ↑ 1.1 50.3 ↑ 0.4 63.9 ↑ 0.9 45.6 ↑ 0.4 11.50M 149ms0GroupFree 6,256 RepSurf-U 68.8 ↑ 1.5 50.5 ↑ 0.6 64.3 ↑ 1.3 45.9 ↑ 0.7 11.50M 150ms0GroupFree 12,512 PointNet++ 2 69.1 52.8 - - 23.60M 193ms0GroupFree 12,512 RepSurf-T 2 70.4 ↑ 1.3 54.6 ↑ 1.8 64.2 47.1 23.60M 194ms0GroupFree 12,512 RepSurf-U 2 71.2 ↑ 2.1 54.8 ↑ 2.0 64.9 47.7 23.61M 195ms0� : 使用RGB作为输入,Model 2 : 每个MLP通道翻倍的模型,4 × PointNet++: 四个独立的PointNet++(SSG)[72],GroupFree a,b :GroupFree模型[33],其中a是层解码器,b是物体候选项。0表3. 在ScanNet V2和SUNRGB-D上的目标检测性能。我们根据mAP@0.25、mAP@0.5、参数数量(#Params)和推理速度(每个输入样本的持续时间)评估不同的方法。粗体表示结果优于相应数据集上的先前最先进方法。绿色表示与原始模型相比,我们的RepSurf有所改进。我们使用一块NVIDIATitan-XP GPU和四个Intel Xeon @2.50GHz CPU核心测试所有方法的速度。0PointTransformer的语义分割比较。在ScanNet上的语义分割。ScanNet V2[8]包含1513个室内训练点云和100个测试点云。它将每个点标记为21个类别。在表2中,RepSurf-U的性能超过了先前最先进的KPConv [53]1.6%。此外,与KPConv相比,我们的方法的参数数量减少了104.3. 检测03D检测可以进一步证明我们的方法在应用层面的优越性。我们在两个广泛采用的3D物体检测数据集上进行实验:ScanNet V2 [8]和SUN RGB-D[48]。我们采用了一种强大的方法[33]作为流程,并用我们的RepSurf替换了骨干网络来执行此任务的所有实验。我们的实验主要基于[33]的代码库11。在ScanNet上的检测。ScanNet V2[8]也可以用于3D检测,包括1513个室内场景和18个物体类别。我们遵循[39]中的标准评估协议,使用0.25(mAP@0.25)和0.5(mAP@0.5)的平均精度进行评估,不考虑边界框的方向。如表3所示,几乎没有增加计算成本(�0.01M参数和�1ms推理速度)的情况下,我们的RepSur-U将先前最先进的方法[33]的性能提高了2.1% mAP@0.25和2.0%mAP@0.25。在SUN RGB-D上的检测。SUN RGB-D[48]是一个用于3D场景分析的单视图RGB-D数据集,包括约5K个室内RGB和深度图像。根据[39],我们采用10个最常见类别的平均精度进行评估。在表3中,RepSurf-01 1 https://github.com/zeliu98/Group-Free-3D0类型X -计算 w/ p i w/逆 acc.0给定 - � � 94.08 给定 - � � 93.39 给定 - � � 93.950三角柱预 � � 93.57 三角柱后 � � 93.620三角柱 � � 94.020伞柱预 � � 93.06 伞柱后 � � 93.900伞柱 � � 94.460表4.RepSurf类型的消融研究。(给定:从数据集中给出的法向量,三角形:三角形RepSurf,伞形:伞形RepSurf,X-计算:在采样之前(预计算)或之后(后计算)计算RepSurf,w/ p i :带有表面位置 p i输入,w/逆:通过随机逆增强RepSurf,acc.:总体准确性)0通过使用6层编码器和256个物体
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功