苏州公司的网站建设,网站广告位设计,网站开发数据库课程设计,酷我音乐网站架构PV-RCNN
PV-RCNN: Point-Voxel Feature Set Abstraction With Local Vector Representation for 3D Object Detection 论文网址#xff1a;PV-RCNN 论文代码#xff1a;PV-RCNN
简读论文
这篇论文提出了两个用于3D物体检测的新框架PV-RCNN和PV-RCNN,主要的贡献如下: 提出P…PV-RCNN
PV-RCNN: Point-Voxel Feature Set Abstraction With Local Vector Representation for 3D Object Detection 论文网址PV-RCNN 论文代码PV-RCNN
简读论文
这篇论文提出了两个用于3D物体检测的新框架PV-RCNN和PV-RCNN,主要的贡献如下: 提出PV-RCNN框架,通过voxel-to-keypoint scene encoding和keypoint-to-grid RoI feature abstraction两步深度融合基于point的set abstraction和基于voxel的sparse convolution的特征学习策略,以发挥两者的优势。 提出PV-RCNN框架,通过以下两种改进使检测更准确、高效: (1) 提出sectorized proposal-centric keypoint sampling策略,可以更快速生成更具代表性的关键点。 (2) 提出VectorPool聚合模块,可以在大规模点云上进行更有效和高效的局部特征聚合。 在Waymo开放数据集上,提出的检测器取得了state-of-the-art的性能,特别是PV-RCNN在150米×150米的检测范围内可以达到10 FPS的推理速度。
主要创新点有: 提出voxel-to-keypoint scene encoding,使用voxel set abstraction模块将多尺度的voxel特征聚合到少量关键点中,保留精确的点位置信息。 提出keypoint-to-grid RoI feature abstraction,通过RoI-grid pooling模块将关键点特征聚合到proposal对应的RoI grid点上,获得全局上下文信息。 提出sectorized proposal-centric keypoint sampling策略,可以快速生成更具代表性的关键点。 提出VectorPool模块,使用局部向量表示编码位置敏感特征,进行更高效的局部特征聚合。
总体来说,该论文通过深度融合点表示和voxel表示的特征学习策略,以及一些提高效率和效果的新模块,取得了SOTA的3D物体检测性能。
PV-RCNN采样策略
sectorized proposal-centric keypoint sampling策略主要包含以下两个步骤: Proposal-centric filtering:利用提议框信息对原始点云进行过滤,只保留提议框附近的点,以减少后续采样的规模和计算量。具体地,设原始点云为P,提议框集为D,然后计算每个点p到其最近提议框中心的距离,保留距离在最大框尺寸的一半额外radius之内的点,构成过滤后的候选点集P’。 Sectorized sampling:将P’划分为多个sector,每个sector在球坐标系下占据一定角度范围的点,然后对每个sector平行进行最远点采样,获得采样结果。该策略基于激光雷达点云的径向分布特性,可以将全局采样问题分解为多个局部采样子问题,减少每个采样的规模,实现加速。
相比传统的全局最远点采样,该策略的优点有:
提案框滤波可以减少采样规模,将关键点集中在更重要的区域。分sector采样,可以平行执行,加速采样过程。最远点采样可以生成更均匀分布的关键点。
实验结果显示,该采样策略可以使关键点生成加速3倍,同时 também 提高了检测性能。关键点的覆盖率实验也证明其可以生成更均匀分布的关键点。 整体来说,该采样策略通过提案框过滤和分sector采样,实现了在保证关键点分布 uniform 的同时,大大减少了采样计算量,是该网络获得速度提升的关键。
PV-RCNN聚合模块
VectorPool模块主要用于大规模点云的局部特征聚合,具体步骤如下: 对中心点周围区域进行立方体划分,划分为n x n y n z个子体素。 对每个子体素,使用三个最近邻点的内容加权平均得到体素内部特征。 对每个子体素特征,使用独立的卷积核进行编码,得到位置敏感特征。 按空间顺序连接所有子体素的位置编码特征,得到局部向量表示。 通过多层感知机网络进一步处理vectors,得到聚合后的局部特征。
相比传统的set abstraction模块,该模块具有以下优点: 采用子体素表示特征可以大大降低内存和计算量。 位置编码可以保留局部结构信息。 权重平均避免了empty voxels的特征归零问题。 独立卷积核进行位置敏感编码。
实验结果显示,该模块使检测框架的内存消耗减少约30%,同时也提升了检测性能。 因此,VectorPool模块通过局部向量表示和位置编码,实现了对大规模点云高效和高质量的局部特征聚合。这为提升检测网络的效率提供了重要支撑。
摘要
3D目标检测由于其在各个领域的广泛应用越来越受到工业界和学术界的关注。本文提出了基于point-voxel区域的卷积神经网络 (PV-RCNN)用于点云上的 3D 目标检测。首先提出了一种新颖的 3D 检测器 PV-RCNN它通过两个新颖的步骤即体素到关键点场景深度集成基于点的集合抽象和基于体素的稀疏卷积的特征学习从而提高了 3D 检测性能编码和关键点到网格 RoI 特征抽象。其次提出了一种先进的框架 PV-RCNN用于更高效、更准确的 3D 对象检测。它包含两个主要改进以扇区为中心的提案采样用于有效生成更具代表性的关键点以及 VectorPool 聚合用于以更少的资源消耗更好地聚合局部点特征。通过这两种策略我们的 PV-RCNN 比 PVRCNN 快约 3 倍同时还实现了更好的性能。实验表明我们提出的PV-RCNN框架在大规模且竞争激烈的Waymo开放数据集上实现了最先进的3D检测性能在150m×150m的检测范围内具有10 FPS的推理速度。
引言
点云上的 3D 目标检测旨在从一组 3D 点中定位和识别 3D 物体这是 3D 场景理解的一项基本任务广泛应用于自动驾驶、智能交通系统和机器人等许多实际应用中。与图像上的二维检测方法相比点云的稀疏性和不规则性使得直接在点云的 3D 检测上应用二维检测技术具有挑战性。 为了应对这些挑战大多数现有的 3D 检测方法将点转换为规则体素这样可以使用传统的 2D/3D 卷积神经网络和经过充分研究的 2D 检测头进行处理。但体素化操作不可避免地会带来量化误差从而降低其定位精度。相比之下基于点的方法自然地在特征提取中保留了准确的点位置但在处理大规模点时通常需要大量计算。也有一些现有的方法简单地将这两种策略结合起来在第一阶段采用基于体素的方法进行特征提取和 3D 提案生成然后在第二阶段补偿细粒度提案细化的量化误差。然而这种简单的堆叠组合忽略了其基本算子的深度融合例如稀疏卷积和集合抽象并且无法充分探索两种策略的特征交叉以充分利用两个世界。 因此本文提出了一个统一的框架即基于点-体素区域的卷积神经网络PV-RCNN通过深度集成体素和点表示的特征学习策略来充分利用两者的特征学习策略。其原理在于基于体素的策略可以更有效地编码多尺度特征并从大规模点云生成高质量的3D建议而基于点的策略可以通过灵活的感受野保留准确的位置信息以进行精细的处理以及细粒度的提案细化。本文证明了本文提出的点-体素交织框架可以通过深度融合点和体素表示的特征学习来有效提高 3D 检测性能。 首先本文介绍本文最初的 3D 检测框架 PV-RCNN它是点云上的两阶段 3D 检测器。它由两个新颖的点-体素特征聚合步骤组成。第一步是体素到关键点场景编码其中采用具有稀疏卷积的 3D 体素 CNN 进行特征学习和提案生成。然后通过基于点的集合抽象将多尺度体素特征概括为一小组关键点其中具有准确点位置的关键点通过距原始点最远的点来采样。第二步是关键点到网格 RoI 特征抽象本文提出 RoI-grid pooling 模块将上述关键点特征聚合回每个提案的常规 RoI 网格。它对多尺度上下文信息进行编码以形成用于提案细化的规则网格特征。这两个步骤在基于点的集合抽象和基于体素的稀疏卷积之间建立了特征交织实验证明这可以提高模型的表示能力和检测性能。 其次本文在PV-RCNN之上提出了一种先进的两阶段检测网络PV-RCNN以实现更准确、高效和实用的3D物体检测。 PV-RCNN的改进在于两个方面。第一个方面是一种新颖的以提案为中心的扇区化关键点采样策略本文将有限数量的关键点集中在 3D 提案内及其周围以编码更有效的场景特征。同时考虑到LiDAR点的径向分布本文提出在不同扇区并行进行点采样这加快了关键点采样过程同时也保证了关键点的均匀分布。本文提出的关键点采样策略比具有二次复杂度的普通最远点采样更快、更有效。整个框架的效率由此得到极大的提升这对于百万点的大规模3D场景尤为重要。第二个方面是一个新颖的局部特征聚合模块VectorPool聚合用于在点云上更有效和高效的局部特征编码。本文认为局部区域中的相对点位置对于描述局部几何来说是稳健、有效和有区别的特征。本文建议将 3D 局部空间分割为规则且紧凑的子体素其特征依次连接以形成超特征向量。不同位置的子体素特征使用单独的内核权重进行编码以生成位置敏感的局部特征。这样不同的局部位置信息用超特征向量中的不同特征通道进行编码。与集合抽象相比由于紧凑的局部特征表示本文的 VectorPool 聚合可以有效地处理大量的中心点。本文的 PV-RCNN 在基于体素的主干和 RoI 网格池化模块中配备了 VectorPool 聚合比以前的同类产品更内存友好、速度更快具有更好的性能这有助于在资源有限的情况建立实用的 3D 检测器设备。 简而言之本文的贡献有三方面1本文的 PV-RCNN 采用两种新颖的策略体素到关键点场景编码和关键点到网格 RoI 特征抽象深度融合了基于点和体素的优点。 2本文的PV-RCNN在更实用的3D检测系统上迈出了一步具有更好的性能、更少的资源消耗和更快的运行速度。这是通过提出的以提案为中心的扇区化关键点采样来实现的以更快的速度获得更具代表性的关键点并且还通过新颖的 VectorPool 聚合来实现以更少的资源消耗和更有效的表示来实现大量中心点的本地聚合。 (3) 本文提出的 3D 检测器超越了所有已发布的方法在具有挑战性的大规模 Waymo 开放数据集上具有显着的优势。特别是 PV-RCNN 在 150m × 150m 检测范围内以 10 FPS 的推理速度实现了最先进的结果。
相关工作
基于二维图像的3D目标检测 基于图像的 3D 检测旨在从单目图像或立体图像估计 3D 边界框。 Mono3D使用地平面假设生成 3D 提案并通过利用图像中的语义知识对其进行评分。以下工作Mousavian et al 2017Li et al 2019a将 2D 和 3D 框之间的关系合并为几何约束。 M3D-RPN引入了具有深度感知卷积的 3D 区域提议网络。 Chabot 等人2017 年Murthy 等人2017 年Manhardt 等人2019 年根据从 CAD 模型获得的线框模板预测 3D 框。 RTM3D执行粗略关键点检测来定位 3D 对象。在立体方面Stereo R-CNN利用立体 RPN 来关联左右图像的提案。 DSGN引入了可微分 3D 体积来学习端到端优化管道中的深度信息和语义线索。 LIGA-Stereo提出从训练有素的 LiDAR 探测器中学习良好的几何特征。基于伪激光雷达的方法将图像像素转换为人工点云基于激光雷达的检测器可以对其进行操作以进行 3D 框估计。这些基于图像的 3D 检测方法存在深度估计不准确的问题并且只能生成粗略的 3D 边界框。 最近除了单目图像或立体图像的基于图像的 3D 检测之外对周围摄像机的全面场景理解也引起了很多关注其中通常采用众所周知的鸟瞰图BEV表示来更好地理解场景。来自多个周围图像的特征融合。 LSS 和 CaDDN 预测深度分布将 2D 图像特征“提升”为 BEV 特征图以进行 3D 检测。他们的后续工作学习基于深度的隐式投影将图像特征投影到 BEV 空间。其他一些论文还探索了 Transformer 结构通过交叉注意力将图像特征从透视图投影到 BEV 空间例如 DETR3D 、PETR 、BEVFormer 、PolarFormer 等。虽然这些工作通过将多视图图像投影到统一的BEV空间极大地提高了基于图像的3D检测的性能但不准确的深度估计仍然是基于图像的3D检测的主要挑战。 点云表示学习 最近点云上的表示学习对于提高 3D 分类和分割的性能引起了广泛关注。在 3D 检测方面以前的方法通常将点投影到常规 2D 像素或 3D 体素以便使用 2D/3D CNN 对其进行处理。 (Yan et al 2018; Shi et al 2020b) 采用稀疏卷积来有效地从点云中学习稀疏体素特征。(Qi et al 2017a,b)提出PointNet直接从原始点学习点特征其中集合抽象通过设置不同的搜索半径来实现灵活的感受野。 (Liu et al 2019) 将体素 CNN 和point多层感知机网络相结合以实现高效的点特征学习。相比之下本文的 PV-RCNN 利用基于体素即 3D 稀疏卷积和基于点即集合抽象策略的优势能够通过密集的 BEV 检测头和灵活的感受野生成高质量的 3D 提案在 3D 空间中提高 3D 检测性能。 使用点云进行3D目标检测 大多数现有的3D检测方法可以根据学习点云特征的不同策略大致分为三类即基于体素的方法、基于点的方法以及点和体素相结合的方法。 基于体素的方法将点云投影到规则网格以解决不规则数据格式问题。 MV3D项目指向 2D 鸟瞰网格并放置大量预定义的 3D 锚点以生成 3D 框以及以下工作Ku et al 2018Liang et al 2018、2019Vora et al 2020Yoo et al al 2020Huang et al 2020开发更好的多传感器融合策略。 Yang et al 2018b,aLang et al 2019引入了更高效的鸟瞰视图表示框架而Ye et al 2020提出融合多个尺度的网格特征。 MVFZhou et al 2020在将点投影到pillars表示之前集成了鸟瞰图和透视图的 2D 特征Lang et al 2019。其他一些论文Song and Xiao 2016Zhou and Tuzel 2018Wang et al 2022a将点划分为 3D 体素由 3D CNN 处理。 (Yan et al 2018) 引入了 3D 稀疏卷积 (Graham et al 2018)以实现高效的 3D 体素处理。 Kuang et al 2020利用多个检测头来检测不同尺度的 3D 物体。此外Wang et al 2020Chen et al 2019a根据无锚范式预测边界框参数。这些基于网格的方法通常对于准确的 3D 提案生成非常有效但感受野受到 2D/3D 卷积核大小的限制。 基于点的方法直接从原始点检测 3D 对象。 F-PointNet (Qi et al 2018) 应用 PointNet (Qi et al 2017a,b) 从基于 2D 图像框的裁剪点进行 3D 检测。 PointRCNNShi et al 2019仅通过获取 3D 点直接从原始点生成 3D 提案一些论文Qi et al 2019Cheng et al 2021Wang et al 2022b通过探索不同的特征分组来遵循基于点的流程生成 3D 盒子的策略。 3DSSDYang et al 2020在原始点上引入了基于混合特征距离的最远点采样。这些基于点的方法大多基于PointNet系列特别是集合抽象Qi et al 2017b它为点云特征学习提供了灵活的感受野。然而将这些基于点的方法扩展到大规模点云具有挑战性因为它们通常比上述基于体素的方法消耗更多的内存/计算资源。 还有一些作品同时使用基于点和基于体素的表示。 STDYang et al 2019将逐点特征转换为密集体素以细化建议。 Fast Point R-CNNChen et al 2019b将深度体素特征与原始点融合以进行 3D 检测。 Part-A2-NetShi et al 2020b通过基于体素的 RoI 感知池聚合逐点零件位置以提高 3D 检测性能。然而这些方法通常只是简单地转换两种表示之间的特征并且不会从这两种表示的具体基本操作中融合更深层次的特征。相比之下本文的 PV-RCNN 框架探索如何通过学习基于点即集合抽象和基于体素即稀疏卷积的特征学习模块来深度聚合特征以提高 3D 检测性能。
PV-RCNN基于点-体素特征集抽象的 3D 目标检测
大多数最先进的 3D 检测器Shi et al 2020bYin et al 2021Sheng et al 2021采用 3D 稀疏卷积来从不规则点学习代表性特征这得益于其处理大规模点的效率和有效性。然而由于不可或缺的体素化过程3D 稀疏卷积网络会丢失准确的点信息。相比之下基于点的方法 (Qi et al 2017a,b) 自然地保留了准确的点位置并且可以通过灵活的感受野捕获丰富的上下文信息其中准确的点位置对于估计准确的 3D 边界框至关重要。 在本节中将简要回顾本文最初的 3D 检测框架 PV-RCNNShi et al 2020a用于从点云进行 3D 对象检测。它深度集成了基于体素的稀疏卷积和基于点的集合抽象操作以实现两全其美。 如图 1 所示PV-RCNN 是一个两阶段 3D 检测框架采用稀疏卷积的 3D 体素 CNN 作为高效特征编码和提案生成的主干然后生成提案-对齐特征通过两个新颖的步骤交织点体素特征来预测准确的 3D 边界框这两个步骤是体素到关键点场景编码和关键点到网格 RoI 特征抽象。
体素特征编码和建议生成
为了处理大规模点云上的 3D 对象检测本文采用具有稀疏卷积的 3D 体素 CNNGraham et al 2018作为主干网络来生成初始 3D 建议。 输入点P首先被划分为空间分辨率为L×W×H的小体素其中通过对内部点的坐标进行平均来直接计算非空体素特征。该网络利用一系列 3D 稀疏卷积将点逐渐转换为具有 1×、2×、4×、8× 下采样大小的特征量。本文按照Yan et al 2018沿 Z 轴堆叠 3D 特征量以获得 L/8 × W/8 鸟瞰特征图该特征图可以与 2D 检测头自然结合Liu et al 2016Yin et al 2021用于生成高质量的 3D 提案。 值得注意的是每个级别的稀疏特征量可以被视为一组稀疏体素特征向量并且这些多尺度语义特征被视为本文接下来的体素到关键点场景编码步骤的输入。
体素到关键点场景编码
考虑到多尺度场景特征本文建议将这些特征总结为少量关键点作为将特征从上述 3D 体素 CNN 传播到细化网络的信使。 关键点采样 本文简单地采用Qi et al 2017b中的最远点采样算法来采样少量关键点 K { pi | pi ∈ R3 }n i1来自原始点 P 的 其中 n 是超参数例如对于 Waymo 开放数据集n4,096 (Sun et al 2020)。它鼓励关键点均匀分布在非空体素周围并且可以代表整个场景。 体素集抽象模块 为了聚合从 3D 特征量到关键点的多尺度语义特征本文提出了体素集抽象VSA模块。采用集合抽象Qi et al 2017b来聚合体素特征量。主要区别在于周围的局部点现在是来自 3D 体素 CNN 的常规体素语义特征而不是具有 PointNet 学习特征的相邻原始点。 具体来说本文将 3D 体素 CNN 第 k 层中非空体素的数量表示为 Nk体素方面的特征和 3D 坐标表示为 其中C表示特征维度的数量。 对于每个关键点 pi ∈ K为了检索相邻体素特征向量的集合首先在半径 rk 内的第 k 层识别其相邻非空体素 其中 [f(lk) j , v(lk) j ] ∈ F(lk)与局部相对位置 v(lk) j −pi 连接起来表示 f(lk) j 在该局部区域中的相对位置。然后相邻集合 S(lk) i 内的特征由 PointNet-blockQi 等人 2017a聚合以生成关键点特征 其中 SharedMLP(·) 表示共享多层感知器 (MLP) 网络用于编码体素特征和相对位置max{·} 进行排列不变特征聚合将不同数量的相邻体素特征映射到单个关键点特征 f pvk。这里利用多个半径来捕获更丰富的上下文信息。 上述体素特征聚合是在3D体素CNN的不同级别的输出上进行的并且将不同尺度的聚合特征连接起来以获得关键点pi的多尺度语义特征 其中 i ∈ {1, . , n}, 且 k ∈ {1, . , 4} 表示关键点特征是从 3D 体素 CNN 的四级体素特征聚合而来。请注意关键点特征通过两个额外的信息源进一步丰富其中原始点特征 f(raw) i 被聚合。 弥补点体素化的量化损失同时在8×下采样的2D特征图上通过双线性插值获得2D鸟瞰特征f(bev) i以实现沿高度轴更大的感受野。 预测关键点权重 直观上属于前景对象的关键点应该对提案细化贡献更大而来自背景区域的关键点应该贡献较少。因此本文提出了一个预测关键点加权PKW模块通过点分割的额外监督来重新加权关键点特征 其中 MLP(·) 是一个三层 MLP 网络具有 sigmoid 函数来预测前景置信度。它使用默认参数进行focal loss训练 (Lin et al 2018)并且可以直接从 3D 框注释生成分割标签如 (Shi et al 2019) 中所示。请注意这个 PKW 模块对于本文的框架来说是可选的因为它只会带来很小的收益。 关键点特征 F { f§ i }n i1 不仅融合了 3D 体素主干网络的多尺度语义特征而且还通过其 3D 关键点坐标自然地保留了准确的位置信息 K {pi}n i1 为后续的细粒度提案细化提供了强大的保留整个场景的3D结构信息的能力。
关键点到网格 RoI 特征抽象
给定聚合的关键点特征及其 3d 坐标在这一步中本文提出关键点到网格 RoI 特征抽象以生成准确的提案对齐特征以进行细粒度提案细化。 通过集合抽象进行 RoI 网格池化 本文提出了 RoI-grid pooling 模块通过采用多尺度局部特征分组将关键点特征聚合到 RoI-grid 点。对于每个给定的 3D 提案根据 3D 提案框均匀采样 6 × 6 × 6 网格点然后将其展平并表示为 G {gi}6×6×6216 i1 。为了将关键点的特征聚合到 RoI 网格点首先将网格点 gi 的相邻关键点识别为 其中 pj ∈ K 且 f§ j ∈ F。本文连接 pj − gi 来指示半径为 r(g) 的球内的局部相对位置。然后采用与方程 类似的过程总结邻近关键点特征集Ψ得到网格点gi的特征为 请注意本文设置了多个半径 r(g) 并聚合具有不同感受野的关键点特征这些特征连接在一起以捕获更丰富的多尺度上下文信息。接下来同一 RoI 的所有 RoI-grid 特征 {f(g) i }216 i1 可以通过具有 256 个特征维度的两层 MLP 进行矢量化和变换以表示该提案框的整体特征。 本文提出的 RoI 网格池化操作可以比之前的 RoI 池化/RoI 对齐操作聚合更丰富的上下文信息Shi et al 2019Yang et al 2019Shi et al 2020b。这是因为由于 RoI 网格点的相邻球重叠单个关键点可以对多个 RoI 网格点做出贡献并且通过捕获 3D RoI 之外的上下文关键点特征它们的感受野甚至超出了 RoI 边界。相比之下以前最先进的方法要么简单地平均提案中的所有点状特征作为 RoI 特征Shi et al 2019要么由于非常稀疏的点状特征而将许多无信息的零池化为 RoI 特征特征Shi et al 2020bYang et al 2019。 提案细化 给定上述 RoI 对齐特征细化网络学习预测相对于 3D 建议框的大小和位置即中心、大小和方向残差。采用两个兄弟子网络进行置信度预测和提案细化。每个子网络由两层 MLP 和线性预测层组成。按照Shi et al 2020b进行基于 IoU 的置信度预测。采用二元交叉熵损失来优化 IoU 分支同时使用 smooth-L1 损失来优化框残差。
PV-RCNN使用 PV-RCNN 框架更快更好的 3D 检测
尽管本文提出的 PV-RCNN 3D 检测框架实现了最先进的性能Shi et al 2020a但在处理大规模点云时却遇到了效率问题。为了使 PV-RCNN 框架更实用于现实世界的应用提出了一种先进的 3D 检测框架即 PVRCNN以更少的资源消耗实现更准确、更高效的 3D 对象检测。 如图 3 所示本文提出了两个新颖的模块来提高 PV-RCNN 框架的准确性和效率。一种是以扇区提案为中心的策略用于更快更好的关键点采样另一种是 VectorPool 聚合模块用于从大规模点云进行更有效和高效的局部特征聚合。采用这两个模块来替换 PV-RCNN 中的对应模块。
以提案为中心的扇区抽样实现高效且具有代表性的关键点抽样
关键点采样对于 PV-RCNN 框架至关重要因为关键点连接了点体素表示并严重影响提案细化的性能。然而以前的关键点采样算法有两个主要缺点。 (i) 最远点采样由于其二次复杂度而非常耗时这阻碍了PV-RCNN的训练和推理速度特别是对于大规模点云上的关键点采样。 (ii) 它会生成大量的背景关键点这些背景关键点通常对提案细化无用因为 RoI-grid pooling 模块只能检索提案周围的关键点。 为了减轻这些缺点本文提出了以扇区化提案为中心SPC的关键点采样以从更集中的邻近提案区域中均匀地采样关键点同时也比普通的最远点采样算法快得多。它主要由两个新颖的步骤组成即以提案为中心的过滤和扇区化采样。 以提案为中心的过滤 为了更好地将关键点集中在更重要的区域并降低下一次采样过程的复杂性本文首先采用以提案为中心的过滤步骤。 具体来说本文将许多 Np 3D 提案表示为 D {[ci, di] | ci ∈ R3, di ∈ R3}Np i1其中ci和di分别是每个提案框的中心和大小。将候选关键点 P’ 限制为所有提案的相邻点集 该步骤不仅降低了后续关键点采样的时间复杂度而且集中了有限数量的关键点以更好地对提案的相邻区域进行编码。 扇区关键点采样 为了进一步并行化加速关键点采样过程如图4所示本文提出了扇区化关键点采样策略该策略利用LiDAR点的径向分布来更好地并行化和加速关键点采样过程。 具体来说本文将以提案为中心的点集P’分为以场景中心为中心的s个扇区第k个扇区的点集可以表示为 值得注意的是通过考虑 LiDAR 传感器生成的点的径向分布本文基于扇区的组划分可以大致在每组中产生相似数量的点这对于加快关键点采样至关重要因为整体运行时间取决于得分最多的组。 因此本文提出的关键点采样算法大大降低了|P|的关键点采样规模。到更小的maxk∈{1,…,s} |S’ k|这不仅有效地加速了关键点采样过程而且通过将关键点集中到更重要的邻近区域来增加关键点特征表示的能力3D 提案。 尽管所提出的扇区化关键点采样是为 LiDAR 传感器量身定制的但其背后的主要思想即在空间组中进行 FPS 以加速操作对于其他类型的传感器也有效。需要注意的是点群生成应基于空间分区以保持整体均匀分布。将点随机分组同时确保组间点数平衡会损害模型性能。
用于保留结构的局部特征学习的局部向量表示
点云的局部特征聚合在PV-RCNN框架中起着重要作用因为它是在体素集抽象和RoI网格池提案过滤扇区化FPS模块中深度集成点体素特征的基本操作。然而本文观察到 PV-RCNN 框架中的集合抽象在大规模点云上可能非常耗时和资源消耗因为它在每个局部点的逐点特征分别。此外集合抽象中的最大池化操作放弃了局部点的空间分布信息损害了点云局部聚合特征的表示能力。 因此本文提出了 VectorPool 聚合模块用于大规模点云上的局部特征聚合它可以更好地保留局部邻域的空间点分布并且比常用的集合抽象花费更少的内存/计算资源。PV-RCNN框架采用它作为基本模块以实现更有效和高效的3D物体检测。 点云上的 VectorPool 聚合 在本文提出的 VectorPool 聚合模块中建议通过使用单独的内核权重和单独的特征通道对不同的空间区域进行编码来生成位置敏感的局部特征然后将其连接为单个向量表示以显式地表示局部点特征的空间结构。 具体来说给定一个目标中心点 qk首先识别其立方相邻区域内的支撑点可以表示为 请注意本文将原始立方空间的一半长度加倍以包含更多相邻点用于该目标点的局部特征聚合。 为了为以 qk 为中心的局部立方邻域生成位置敏感特征本文将其相邻立方空间分割为 nx ×ny ×nz 小局部子体素。受Qi et al 2017b的启发利用反距离加权策略通过考虑距 Yk 的三个最近邻来插值第 t 个子体素的特征其中 t ∈ {1,… , nx ×ny ×nz} 表示每个子体素的索引将其相应的子体素中心表示为 vt ∈ R3。然后可以生成第 t 个子体素的特征为 结果 h(v) t 对该局部立方体中的特定第 t 个局部子体素的局部特征进行编码。 还有两种其他替代策略可以通过简单地平均每个子体素内的特征或通过随机选择每个子体素内的一个点来聚合局部子体素的特征。它们都在空子体素中生成大量空特征这可能会降低性能。相比之下本文基于插值的策略即使在空的局部体素上也可以生成更有效的特征。 不同局部子体素中的那些特征可能代表非常不同的局部特征。因此建议使用单独的局部内核权重对不同的局部子体素进行编码以捕获位置敏感特征而不是像Qi et al 2017b中那样使用共享参数 MLP 来编码局部特征如下所示 最后直接根据局部子体素特征 Ut 沿每个 3D 轴的空间顺序对其进行排序并将它们的特征依次连接以生成最终的局部向量表示 其中 U ∈ RCout 。内部顺序串联通过简单地将不同位置的特征分配到相应的特征通道来对结构保留的局部特征进行编码这自然地保留了以qk为中心的相邻空间中的局部特征的空间结构最终处理该局部向量表示使用多个MLP将局部特征编码到Cout特征通道以进行后续处理。 值得注意的是本文的 VectorPool 聚合模块还可以与Sun et al 2018中的通道缩减技术相结合通过在进行 VectorPool 聚合之前汇总输入特征通道来进一步减少计算/内存资源。 与集合抽象相比 VectorPool 聚合可以通过采用通道求和并利用 MLP 之前提出的局部向量表示来大大减少所需的计算和内存资源。此外本文提出的局部向量表示可以对具有不同特征通道的位置敏感特征进行编码而不是像集合抽象中那样对局部逐点特征进行最大池化从而为局部特征学习提供更有效的表示。 PV-RCNN 上的 VectorPool 聚合 本文提出的 VectorPool 聚合集成在 PVRCNN 检测框架中以取代体素集抽象模块和 RoI 网格池模块中的集抽象。由于本文的 VectorPool 聚合操作实验表明 PVRCNN 不仅比 PV-RCNN 框架消耗更少的内存和计算资源而且还实现了更好的 3D 检测性能。
结论
在本文中提出了两个新颖的框架名为 PV-RCNN 和 PV-RCNN用于从点云进行精确的 3D 对象检测。PV-RCNN框架采用了一种新颖的体素集抽象模块将多尺度3D体素CNN特征和基于PointNet的特征深度集成到一小组关键点中然后将学习到的判别性关键点特征聚合到RoI-网格点通过我们提出的 RoI 网格池模块来捕获更丰富的上下文信息以进行提案细化。 PVRCNN 进一步改进了 PV-RCNN 框架通过新颖的以扇区提案为中心的关键点采样策略有效地生成更具代表性的关键点并且还配备了本文提出的 VectorPool 聚合模块来学习体素集抽象模块和RoI-网格池模块。因此PV-RCNN最终以比原始PV-RCNN框架更快的运行速度获得了更好的性能。 最终的 PV-RCNN 框架显着优于之前的 3D 检测方法并在大规模 Waymo 开放数据集的验证集和测试集上实现了最先进的性能并且已经设计和进行了大量的实验来深入研究本文提议的框架的各个组成部分。