FastPillars:一种易于部署的基于支柱的 3D 探测器

发布于:2025-04-01 ⋅ 阅读:(20) ⋅ 点赞:(0)

FastPillars:一种易于部署的基于支柱的 3D 探测器

Report issue for preceding element
Sifan Zhou 1 , Zhi Tian 2 , Xiangxiang Chu 2 , Xinyu Zhang 2 , Bo Zhang 2 , Xiaobo Lu11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPT11footnotemark: 1
Chengjian Feng 2 , Zequn Jie 2 , Miao Sun 3 , Patrick Yin Chiang 3 , Lin Ma 2
Report issue for preceding element
抽象的
Report issue for preceding element

3D 检测器的部署是现实世界自动驾驶场景中的一项主要挑战。现有的基于 BEV(即鸟瞰图)的检测器倾向于使用稀疏卷积(称为 SPConv)来加速训练和推理,这为部署设置了硬障碍,尤其是对于设备上的应用而言。在本文中,为了从行业角度应对高效 3D 物体检测的挑战,我们设计了一种易于部署的基于支柱的 3D 检测器,称为 FastPillars。首先,我们引入了一种新颖的轻量级 Max-and-Attention Pillar 编码(MAPE)模块,专门用于增强小型 3D 物体。其次,我们提出了一个简单而有效的基于支柱的 3D 检测主干设计原则。我们基于这些设计构建了 FastPillars,无需 SPConv 即可实现高性能和低延迟。在两个大规模数据集上进行的大量实验证明了 FastPillars 在性能和速度方面对于设备上 3D 检测的有效性和效率。具体来说,FastPillars 在 Waymo Open Dataset 上实现了最先进的准确率,达到了 1.8×\times×速度比 CenterPoint(基于 SPConv)快 3.8 mAPH/L2。我们将发布我们的代码。

Report issue for preceding element

1介绍

Report issue for preceding element

使用 LiDAR 点云进行 3D 物体检测具有广泛的应用,并在自动驾驶和机器人技术领域取得了显著进展 (Qi et al.2018;石等人2020 年b)。然而,业界倾向于探索高性能探测器,而忽略了对自主系统机载部署至关重要的快速运行速度的要求。因此,从工业角度来看,开发实时、性能最佳的3D探测器势在必行。

Report issue for preceding element

在这里插入图片描述

根据输入数据类型,现有的实时主流3D检测器可以分为两类:基于点的 (Qi et al.2019; Shi, Wang, and Li2019;石等人2020b;杨等人2020和基于网格的方法 (Zhou 和 Tuzel2018; Long 等人2019;邓等人2021) . 在基于点的方法中,PointNet 系列 (Qi et al.2017 年b)被用来从原始点云中学习判别性表示。然而,它们可能不适合有效的硬件实现,因为它们通常需要在 3D 空间中进行点查询/检索(例如PointNet++  (Qi et al.2017b基于体素的 3D 检测器将不规则点云转换为排列的网格(即体素/柱)。然而,稀疏点云会导致大量空网格,这将导致大量的冗余计算开销。一些方法 (Yan、Mao 和 Li2018; Yin、Zhou 和 Krahenbuhl2021a使用 SPConv  (Graham 和 van der Maaten2017)跳过空网格上的计算以减少计算负担。尽管 SPConv 是有效的,但它在转换为 TRT(即 TensorRT)进行部署时带来了挑战,并阻碍了通过这些技术进一步加速。

Report issue for preceding element
请参阅标题
图 1: 与其他实时单阶段 3D 检测方法的总体比较。FastPillars 在准确率和速度之间找到了更好的平衡,比 CenterPoint 高出 1.8 ×\times× 在 Waymo 验证 集上,速度更快,L2 性能高出 3.8 mAPH。FPS 是在 NVIDIA Tesla V100 GPU 上测量的。
Report issue for preceding element

PointPillars  (Lang 等人2019)被提出来单独使用高度优化的 2D 卷积,从而实现更低的延迟。尽管 PointPillars 速度很快,但由于缺乏有效的骨干,其性能并不令人满意。最近,PillarNet  (Shi、Li 和 Ma2022)在基于 SPConv 的骨干网络上实现了高性能,同时保持了实时速度。尽管如此,PillarNet 中使用 SPConv 使其难以通过 TRT 进行量化和部署。具体来说,SPConv 的部署存在以下困难。i ) SPConv 不是 TensorRT 中的内置操作。这使得必须用 CUDA C++ 编写一个繁琐的自定义插件,并且存在一些限制,例如固定形状输入和与常用的 TensorRT 的量化部署兼容性降低。ii ) SPConv 需要不规则的内存访问模式,这在现代硬件上很难进行优化。iii ) SPConv 将难以量化的 3D 坐标作为输入,需要考虑融合才能快速执行,这进一步使部署过程复杂化。然而,TRT 提供了几个优点:i) TRT 可以通过深度优化和高并行技术(例如层和张量融合)显着加速模型推理,同时保持准确性。ii) TRT 支持广泛的嵌入式和汽车环境,使其广泛应用于各种工业产品中深度学习模型的部署。

Report issue for preceding element

在本文中,我们提出了一种在设计时考虑部署的实时高性能 3D 物体检测器,称为FastPillars。FastPillars完全基于标准卷积,因此可以轻松部署到机载应用程序中,并无缝享受 TRT 和网络量化的加速。FastPillars 由四个基本块组成,分别是 PFE(支柱特征编码)、主干、颈部和头部(见图2)。在 PFE 块中,我们观察到以前基于支柱的方法没有关注局部几何模式。为此,我们提出了一个简单但有效的M ax-and- Attention P illar Encoding MAPE)模块,它细心地整合了重要的局部特征,从而减轻了支柱生成过程中的信息丢失。此外,MAPE 模块几乎没有增加整体延迟(+4 毫秒)。在主干中,我们发现 2D 主干的设计规则不适合点云检测任务。基于这一观察,我们提出了一种计算效率高的原则并设计了一个轻量级骨干。最后,我们丰富了颈部块中的语义特征并采用基于中心的检测头。大量实验表明,FastPillars 在两个大型数据集 nuScenes 和 Waymo 上实现了最先进的性能。如图1所示,它可以通过 TensorRT 无缝加速 1.8×\times×与 CenterPoint(基于 SPConv)相比,速度加快,L2 性能提升 3.8 mAPH。因此,所提出的方法为实时嵌入式应用提供了速度和准确性之间的更好平衡。我们总结了我们的贡献如下:

Report issue for preceding element
  • 我们引入了一种新颖的轻量级 Max-and-Attention Pillar Encoding ( MAPE ) 模块,专门用于增强小型 3D 物体。

    Report issue for preceding element
  • 我们提出了一个简单而有效的原则,用于设计具有卓越性能和实时推理速度的基于支柱的 3D 主干。

    Report issue for preceding element
  • 基于上述设计,我们构建了一个高性能、低延迟的 3D 检测器FastPillars。FastPillars 消除了 SPConv 阻碍设备部署的需要,并为基于 SPConv 的检测器提供了一种强大而简单的替代方案。

    Report issue for preceding element
  • 在 nuScenes 和 Waymo 数据集上进行的大量实验表明,FastPillars 在准确性和延迟权衡方面为车载 3D 检测带来了新的先进水平,最重要的是可以在 TensorRT 中进行端到端部署。我们相信我们的方法可以成为同行的强大竞争对手,并对社区产生重大影响。

    Report issue for preceding element
请参阅标题
图 2: FastPillars 的框架。输入点云, FastPillars 预测 3D 边界框。如下图所示, FastPillars 由四部分组成: MAPE 模块、backbone、neck 和 center-based head。首先,用 MAPE 将点云进行 pillared 化,然后将编码后的特征发送到 backbone 进行编排的特征提取。这些特征由 neck 融合,并基于 center-based head 回归 3D 框。backbone 设计为可扩展的,通过根据不同的需求在早期阶段更改块的数量。最好以彩色显示。
Report issue for preceding element

2相关工作

Report issue for preceding element

基于体素的 3D 探测器。 基于体素的 3D 探测器 (Chen 等人2017;匡等人2020;邓等人2021)通常将非结构化点云转换为规则的柱/体素网格。这进一步允许利用成熟的 2D/3D CNN 来学习点特征。VoxelNet  (Zhou 和 Tuzel2018)是一项开创性的工作,它对点云进行体素化,然后使用体素特征提取器 (VFE) 和 3D CNN 来学习几何表示。它的缺点是由于 3D 卷积的计算负担巨大,导致推理速度缓慢。为了节省内存成本,SECOND  (Yan、Mao 和 Li2018使用 3D 稀疏卷积 (Graham 和 van der Maaten2017)对非空体素进行操作以加速训练和推理。然而,使用 SPConv 有一个缺点:它不易于部署,因此很难将它们应用于嵌入式系统。为此,PointPillars  (Lang et al.2019)被提出用于设备上部署。在 PointPillars 中,成熟的 2D 检测器管道用于预测 3D 物体,使其易于转换为 ONNX/TensorRT 进行部署。同时,PointPillars 的部署友好性使其成为实践中流行的方法。此后,CenterPoint  (Yin、Zhou 和 Krahenbuhl2021a)被提出,它使用近乎实时和无锚管道,实现了最先进的性能。最近,PillarNet  (Shi、Li 和 Ma2022)采用基于“encoder-neck-head”架构的2D SPConv 来提高准确率和实时性。但由于使用了 SPConv,不可避免地面临着工业应用部署的困难以及通过 TRT 优化进一步加速的困难。

Report issue for preceding element ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/fc8007b11e6f4f12a9ed18164d125e79.png)

用于对象检测的工业级轻量级网络结构。 多年来,YOLO 系列 (Bochkovskiy、Wang 和 Liao2020;格伦2022)已成为轻量级二维物体检测的事实上的行业标准,其主干设计主要继承了 RepVGG (Ding et al.)的思想 。2021) . RepVGG 重构了著名的普通网络 VGG  (Simonyan 和 Zisserman2014)使用基于重新参数化的结构设计。在训练期间,普通的 Conv-BN-ReLU 被其过度参数化的三分支对应物替换,Conv3×3absent3\times 3× 3-BN,卷积1×1absent1\times 1× 1-BN 和 Identity-BN,在三个分支相加后加上 ReLU 函数。三分支结构大大有助于网络优化,而重参数化在推理时将三个分支相同地转换为一个,提高了推理效率。由于其优势,这种趋势席卷了二维物体检测器,并在极快的速度下表现出高性能,例如 PPYOLO-E  (Xu et al.2022)、YOLOv6  (Li 等人2022年和 YOLOv7  (Wang、Bochkovskiy 和 Liao2022)。尽管取得了成功,但据我们所知,这些方案在 LiDAR 物体检测中尚未得到应用。我们的成功应用显著提高了计算效率并降低了部署难度,尤其是对于资源受限的硬件而言。

Report issue for preceding element

在这里插入图片描述

3我们的方法

Report issue for preceding element

本节介绍 FastPillars,这是一种端到端可训练且无需 SPConv 的神经网络,可用于实时高性能 3D 检测。如图2所示,我们的网络由四个块组成:MAPE 模块、骨干、颈部和基于中心的检测头。

Report issue for preceding element

问题设置。在介绍详细方法之前,我们先介绍基于 LiDAR 的 3D 检测的基本任务定义。给定一个点集否𝑁Nitalic_N三维空间中的点,定义为𝐏={𝐩我=[十我,和我,和我,r我,吨我]电视∈ℝ否×5}𝐏subscript𝐩𝑖superscriptsubscript𝑥𝑖subscript𝑦𝑖subscript𝑧𝑖subscript𝑟𝑖subscript𝑡𝑖𝑇superscriptℝ𝑁5\mathbf{P}=\{\mathbf{p}_{i}=[x_{i},y_{i},z_{i},r_{i},t_{i}]^{T}\in{\mathbb{R}^% {N\times 5}}\}bold_P = { bold_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_N × 5 end_POSTSUPERSCRIPT }, 在哪里十我,和我,和我subscript𝑥𝑖subscript𝑦𝑖subscript𝑧𝑖x_{i},y_{i},z_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT分别表示沿 X、Y、Z 轴的每个点的坐标值,以及r我subscript𝑟𝑖r_{i}italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT是激光反射强度。吨我subscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT是相对时间戳,可选,取决于数据集的具体设置。给定三维场景中的一组对象𝐁={𝐛杰=[十杰,和杰,和杰,时长杰,在杰,升杰,我杰,丙杰]电视∈ℝ米×8}𝐁subscript𝐛𝑗superscriptsubscript𝑥𝑗subscript𝑦𝑗subscript𝑧𝑗subscriptℎ𝑗subscript𝑤𝑗subscript𝑙𝑗subscript𝜃𝑗subscript𝑐𝑗𝑇superscriptℝ𝑀8\mathbf{B}=\{\mathbf{b}_{j}=[x_{j},y_{j},z_{j},h_{j},w_{j},l_{j},{\theta}_{j},% c_{j}]^{T}\in{\mathbb{R}^{M\times 8}}\}bold_B = { bold_b start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_h start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_M × 8 end_POSTSUPERSCRIPT }, 在哪里米𝑀Mitalic_M是物体的总数,b我subscript𝑏𝑖{b}_{i}italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT是我𝑖iitalic_i场景中的第 个物体,十杰,和杰,和杰subscript𝑥𝑗subscript𝑦𝑗subscript𝑧𝑗x_{j},y_{j},z_{j}italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT是物体的中心,时长杰,在杰,升杰subscriptℎ𝑗subscript𝑤𝑗subscript𝑙𝑗h_{j},w_{j},l_{j}italic_h start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT是物体的大小,我杰subscript𝜃𝑗{\theta}_{j}italic_θ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT是物体的航向角,丙杰subscript𝑐𝑗c_{j}italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT是物体的类别。3D 物体检测的任务是检测 3D 框𝐁𝐁\mathbf{B}bold_B从点云𝐏𝐏\mathbf{P}bold_P准确。

Report issue for preceding element
请参阅标题
图 3: MAPE 模块由三个单元组成:点编码、最大池化编码和注意池化编码。对于一个包含 否 在subscript𝑁𝑣N_{v}italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT 点,在点编码单元中,我们首先用支柱中心和点云范围增强原始点,然后通过 MLP 将增强的特征映射到特征空间。在最大编码单元中,我们通过跨点维度的最大池化操作获得支柱特征。在注意力编码单元中,我们通过跨点维度的加权求和操作获得支柱特征。最终的支柱特征是通过对最大和注意力池特征进行平均而得到的。
Report issue for preceding element

3.1最大注意力支柱编码

Report issue for preceding element

点云体素/柱状体编码对于基于网格的 3D 检测方法至关重要。开创性的 PointPillars 积极利用最大池化来聚合每个柱状体中的点特征。然而,最大池化操作会导致细粒度信息的丢失,而这些局部几何模式对于基于柱状体的物体(尤其是小物体)至关重要。因此,关注这些信息对于准确检测非常重要。

Report issue for preceding element

在本文中,我们提出了一个简单而有效的支柱编码模块,称为最大和注意支柱编码(MAPE),它考虑到每个支柱的局部详细几何信息,计算负担可忽略不计,并有利于小物体(例如行人和骑自行车的人)的性能。同时,轻量级的 MAPE 模块使其非常适合实时嵌入式应用程序。如图 3所示,我们的 MAPE 模块由三个单元组成:1)点编码,2)最大池编码,3)注意池编码。

Report issue for preceding element

我们假设一个点云𝐏𝐏\mathbf{P}bold_P在三维空间中大号𝐿Litalic_L,在𝑊Witalic_W,赫𝐻Hitalic_H沿着 X、Y、Z 轴。𝐏𝐏\mathbf{P}bold_P被均匀地划分为一个特定的柱状网格,大小为升𝑙litalic_l,在𝑤witalic_w,赫𝐻Hitalic_H。这里和 PointPillar 一样,我们只在 XY 平面上对点云进行体素化,而没有高度维度。让在={页我=[十我,和我,和我,r我,吨我]∈ℝ否在×5}𝑣subscript𝑝𝑖subscript𝑥𝑖subscript𝑦𝑖subscript𝑧𝑖subscript𝑟𝑖subscript𝑡𝑖superscriptℝsubscript𝑁𝑣5v=\{p_{i}=[x_{i},y_{i},z_{i},r_{i},t_{i}]\in{\mathbb{R}^{N_{v}\times 5}}\}italic_v = { italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] ∈ blackboard_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT × 5 end_POSTSUPERSCRIPT }是一个非空支柱,包含否𝑁Nitalic_N具有空间形状的点[升,在,赫]𝑙𝑤𝐻[l,w,H][ italic_l , italic_w , italic_H ],我∈{1,…,否在}𝑖1…subscript𝑁𝑣i\in\left\{1,...,N_{v}\right\}italic_i ∈ { 1 , … , italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT },否在subscript𝑁𝑣N_{v}italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT是柱子中的点数在𝑣vitalic_v。

Report issue for preceding element

点编码。首先,我们将每个柱子中的点扩充为页我^={[十我,和我,和我,r我,吨我,十我丙,和我丙,和我丙,十我r,和我r,和我r]∈ℝ否在×11}^subscript𝑝𝑖subscript𝑥𝑖subscript𝑦𝑖subscript𝑧𝑖subscript𝑟𝑖subscript𝑡𝑖superscriptsubscript𝑥𝑖𝑐superscriptsubscript𝑦𝑖𝑐superscriptsubscript𝑧𝑖𝑐superscriptsubscript𝑥𝑖𝑟superscriptsubscript𝑦𝑖𝑟superscriptsubscript𝑧𝑖𝑟superscriptℝsubscript𝑁𝑣11\hat{p_{i}}=\{[x_{i},y_{i},z_{i},r_{i},t_{i},{x}_{i}^{c},{y}_{i}^{c},{z}_{i}^{% c},{x}_{i}^{r},{y}_{i}^{r},{z}_{i}^{r}]\in{\mathbb{R}^{N_{v}\times 11}}\}over^ start_ARG italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG = { [ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT , italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ] ∈ blackboard_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT × 11 end_POSTSUPERSCRIPT }, 在哪里[十我,和我,和我]subscript𝑥𝑖subscript𝑦𝑖subscript𝑧𝑖[x_{i},y_{i},z_{i}][ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ]是自我框架中的原始点坐标,[十我丙,和我丙,和我丙]superscriptsubscript𝑥𝑖𝑐superscriptsubscript𝑦𝑖𝑐superscriptsubscript𝑧𝑖𝑐[{x}_{i}^{c},{y}_{i}^{c},{z}_{i}^{c}][ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT ]是偏移量页我subscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT从当前支柱中心开始,[十我r,和我r,和我r]superscriptsubscript𝑥𝑖𝑟superscriptsubscript𝑦𝑖𝑟superscriptsubscript𝑧𝑖𝑟[{x}_{i}^{r},{y}_{i}^{r},{z}_{i}^{r}][ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ]是相对坐标页我subscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT通过减去点云的范围获得。值得注意的是,在每个柱子中,我们没有采用任何采样策略来保持每个柱子内的点数相同,因为此操作可能会丢失有用的点并损害原始的几何图案。第二,增强的点式特征页我^^subscript𝑝𝑖\hat{p_{i}}over^ start_ARG italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG之内在𝑣vitalic_v通过 MLP 层映射到高维特征空间。这个过程可以表示为

Report issue for preceding element
页我和=米⁢(页我^;在米),superscriptsubscript𝑝𝑖𝑒𝑚^subscript𝑝𝑖subscript𝑤𝑚{p}_{i}^{e}=m(\hat{p_{i}};w_{m}),italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e end_POSTSUPERSCRIPT = italic_m ( over^ start_ARG italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ; italic_w start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) , (1)

在哪里米⁢(⋅)𝑚⋅m(\cdot)italic_m ( ⋅ )表示 MLP,在米subscript𝑤𝑚w_{m}italic_w start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT表示可学习的函数权重米⁢(⋅)𝑚⋅m(\cdot)italic_m ( ⋅ ), 和页我和∈ℝ否在×德superscriptsubscript𝑝𝑖𝑒superscriptℝsubscript𝑁𝑣𝐷{p}_{i}^{e}\in{\mathbb{R}^{N_{v}\times D}}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT × italic_D end_POSTSUPERSCRIPT是逐点特征。

Report issue for preceding element

最大池化编码。该单元将一个支柱内的所有点特征聚合为单个特征向量,同时保持每个支柱中点排列的不变性,其公式为

Report issue for preceding element
f米=米⁢一个⁢十⁢(页我和),superscript𝑓𝑚𝑚𝑎𝑥superscriptsubscript𝑝𝑖𝑒{f}^{m}=max({p}_{i}^{e}),italic_f start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT = italic_m italic_a italic_x ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e end_POSTSUPERSCRIPT ) , (2)

在哪里米⁢一个⁢十⁢(⋅)𝑚𝑎𝑥⋅max(\cdot)italic_m italic_a italic_x ( ⋅ )表示跨这些点特征的最大池化操作,并且f米∈ℝ德superscript𝑓𝑚superscriptℝ𝐷{f}^{m}\in{\mathbb{R}^{D}}italic_f start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT是每个支柱的结果特征向量。

Report issue for preceding element

注意池编码。该单元旨在维护局部细粒度信息。最大池很难整合逐点特征页我和superscriptsubscript𝑝𝑖𝑒{p}_{i}^{e}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e end_POSTSUPERSCRIPT每个支柱内在𝑣vitalic_v因为它只取最大值。然而,从 BEV 的角度来看,丰富的局部细节模式对于较小物体的检测非常有价值。因此,我们转向强大的注意力机制来自动学习重要的局部特征。首先,我们使用一个函数克⁢(⋅)𝑔⋅g(\cdot)italic_g ( ⋅ )由一个共享的 MLP 组成,用于预测支柱中这些点的注意力分数,,s我=克⁢(页我和;在克)subscript𝑠𝑖𝑔superscriptsubscript𝑝𝑖𝑒subscript𝑤𝑔s_{i}=g({p}_{i}^{e};w_{g})italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_g ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e end_POSTSUPERSCRIPT ; italic_w start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ), 在哪里在克subscript𝑤𝑔w_{g}italic_w start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT表示 MLP 的可学习权重,s我∈ℝ否在×德subscript𝑠𝑖superscriptℝsubscript𝑁𝑣𝐷s_{i}\in{\mathbb{R}^{N_{v}\times D}}italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT × italic_D end_POSTSUPERSCRIPT是注意力得分。其次,学习到的注意力得分可以看作是一个软掩码,它动态地加权逐点特征页我和superscriptsubscript𝑝𝑖𝑒{p}_{i}^{e}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e end_POSTSUPERSCRIPT。最终加权求和后的特征如下:

Report issue for preceding element
f一个=∑s我⁢杰⋅页我⁢杰和,∑我=1否s我⁢杰=1formulae-sequencesuperscript𝑓𝑎⋅subscript𝑠𝑖𝑗superscriptsubscript𝑝𝑖𝑗𝑒superscriptsubscript𝑖1𝑁subscript𝑠𝑖𝑗1\displaystyle{f}^{a}=\sum s_{ij}\cdot p_{ij}^{e},\ \sum_{i=1}^{N}s_{ij}=1italic_f start_POSTSUPERSCRIPT italic_a end_POSTSUPERSCRIPT = ∑ italic_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ⋅ italic_p start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e end_POSTSUPERSCRIPT , ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = 1 (3)

在哪里f一个∈ℝ否在×德superscript𝑓𝑎superscriptℝsubscript𝑁𝑣𝐷{f}^{a}\in{\mathbb{R}^{N_{v}\times D}}italic_f start_POSTSUPERSCRIPT italic_a end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT × italic_D end_POSTSUPERSCRIPT由此产生的支柱注意力池特征,杰∈{1,…,德}𝑗1…𝐷j\in\left\{1,...,D\right\}italic_j ∈ { 1 , … , italic_D }是特征维度索引,s我⁢杰subscript𝑠𝑖𝑗s_{ij}italic_s start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT和页我⁢杰和superscriptsubscript𝑝𝑖𝑗𝑒p_{ij}^{e}italic_p start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e end_POSTSUPERSCRIPT是注意力得分和特征杰𝑗jitalic_j第维度我𝑖iitalic_i-th 点。值得注意的是,不同点之间的加权操作(否在subscript𝑁𝑣N_{v}italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT),这个过程引入了支柱内部不同点之间的相互作用(例如局部区域)。最后,我们通过平均将学习到的支柱最大特征和注意力特征结合起来, f=f米+f一个2𝑓superscript𝑓𝑚superscript𝑓𝑎2f=\frac{{f}^{m}+{f}^{a}}{2}italic_f = divide start_ARG italic_f start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT + italic_f start_POSTSUPERSCRIPT italic_a end_POSTSUPERSCRIPT end_ARG start_ARG 2 end_ARG, 在哪里f∈ℝ1×德𝑓superscriptℝ1𝐷f\in{\mathbb{R}^{1\times D}}italic_f ∈ blackboard_R start_POSTSUPERSCRIPT 1 × italic_D end_POSTSUPERSCRIPT是最终的支柱特征,包括一个支柱内的全局感知和局部感知信息。最大池化操作保留每个支柱中的最大响应特征,而注意力池化特征则保留局部细粒度信息。通过结合这两个特征,可以有效地保留更丰富的信息以增强支柱表示。尽管很简单,但我们的 MAPE 模块显著提高了小物体的性能(行人 +1.6 mAPH L2),如表 4和图 7所示。

Report issue for preceding element
请参阅标题
图4: 我们在主干设计中的计算重新分配图。此设计带来了明显的性能提升,且没有额外的延迟
Report issue for preceding element
请参阅标题
图5: 使用 20% 训练数据训练的 Waymo验证 集上不同 block 数量下的性能。以 stage1 为例,我们将 stage1 中的 block 数量从 0 排列到 8,步长为 2,而将其他阶段的 block 数量设置为 2。
Report issue for preceding element

3.2主干设计

Report issue for preceding element

计算重新分配。正如 PillarNet 中所述,轻量级且强大的骨干对于有效的支柱特征学习非常重要。通过采用经典的 2D CNN 骨干,即 VGGNet   (Simonyan 和 Zisserman2014、ResNet-18/34   (何等人2016) , PillarNet 实现了更好的可扩展性和对模型复杂性的灵活性。然而,我们认为这些主干网络专门设计用于提取高级语义特征并获取 RGB 图像中物体的几何形状,可能不适合 LiDAR 点云。这是因为 RGB 图像和 LiDAR 点云之间存在实质性的模态差异。与 RGB 图像不同,LiDAR 点云可以通过收集激光测量信号来表示环境的 3d 模型和地图,从而轻松测量物体的空间距离、关系和形状。这意味着丰富而准确的物体几何信息已经明确编码在 LiDAR 点云中,这也在 FCOS-LiDAR  (Tian et al.2022)。因此,我们假设我们不应该像 RGB 图像中的 ResNet 那样在后期阶段分配过多的计算资源来对对象的几何形状进行建模,而应该将容量重新分配给早期阶段,以更好地结合原始点所携带的几何信息。

Report issue for preceding element

为了验证上述假设,我们通过调整 ResNet 的阶段计算比率系统地研究了主干网络设计中的计算分配。如图 5所示,我们将 ResNet-18 设置为初始模型,并在每个阶段分别安排从 0 到 8 的块数和步长 2。从结果中我们可以发现,性能对阶段 (1, 2) 的容量非常敏感,而不是阶段 (3, 4),这证实了我们的假设,即在基于柱子的 LiDAR 检测中,在早期阶段分配计算更有利。因此,为了在性能和延迟之间实现更好的权衡,我们将四个阶段的阶段计算比率设置为 (6, 6, 3, 1),其计算成本与 (3, 4, 6, 3) 的 ResNet-34 相当。如图 4和表 5所示,我们的主干在重新分配计算后提高了准确率 (+1.3 mAPH L2)。有关更多详细信息,请参阅补充材料。

Report issue for preceding element
请参阅标题
图6: 轻量级骨干网络的设计。(a)ResNet 块。(b)结构重新参数化块,使用 3 ×\times× 3、1 ×\times× 1 和恒等分支来替换 3 ×\times× 3 转换。(c)在推理过程中,结构重新参数化块被转换为 3 ×\times× 3 转换。
Report issue for preceding element

轻量级主干设计。重新参数化结构 (Ding et al.2021)在训练中具有出色的特征表示能力,并且通过重新参数化的操作可以在不损失性能的情况下有效减少推理延迟,该结构在2D检测任务中已被证明是有效的 (Xu et al.2022;李等人2022年;王、博奇科夫斯基和廖2022)。然而,它们还没有被很好地用于3D点云检测。受此启发,我们将这种来自2D物体检测的先进设计引入到我们为点云设计的骨干网络中。如图 6所示,在训练过程中,一个简单的res块(图 6 (a))被其过度参数化的三分支对应物替换,Conv3×3absent3\times 3× 3,卷积1×1absent1\times 1× 1和 Identity,然后在三个分支相加之后使用 ReLU 函数(图 6(b))。三分支结构大大有助于网络优化,而重新参数化在推理时将三个分支转换为一个(从图 6


网站公告

今日签到

点亮在社区的每一天
去签到