TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

801次阅读
没有评论

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级点击下方名片,即刻关注智驾实验室TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

目标检测在激光雷达点云上的应用是机器人学中的一个相关任务,特别是在自动驾驶领域。目前的主流方法是单帧方法,这些方法利用单个传感器扫描的信息。

最近的方法在相对较低的推理时间下实现了良好的性能。然而,由于激光雷达数据的固有高稀疏性,这些方法在长距离检测(例如200米)上存在困难,作者认为这是实现安全自动化的关键。将多个扫描聚合不仅会导致点云表示的密度增大,还会使系统具有时间感知,并提供有关环境如何变化的信息。然而,这类解决方案通常具有高度问题特定性,需要仔细的数据处理,并且往往不能满足运行时要求。

在这个背景下提出了TimePillars,这是一个利用激光雷达数据时间戳的周期性目标检测 Pipeline ,同时尊重硬件集成效率约束,并利用Zenseact Open Dataset(ZOD)中新颖的Zenseact Open Dataset(ZOD)的多样性和长程信息。通过实验证明了具有重复性的优势,并展示了基本构建模块足以实现强大而高效的结果。

1 Introduction

自动驾驶中的一个主要挑战是创建周围环境的准确3D表示,这对于可靠性和安全性至关重要。一辆自动驾驶车辆需要能够识别其附近的环境中的物体,如车辆和行人,并准确确定它们的位置、大小和旋转。通常,作者使用运行在激光雷达数据上的深度神经网络来执行这项任务。

目前文献中的大部分研究都集中在单帧方法上,即每次使用单个传感器扫描。这在[24, 10, 2]等具有75米物体classical基准测试上足以表现良好。然而,激光雷达点云固有的稀疏性,特别是在长距离时,因此作者声称仅使用单扫描进行长距离检测(例如,达到200米,图1)是不够的。

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

解决这个问题的一个方法是使用点云聚合,即将一系列激光雷达扫描拼接在一起,得到一个更密集的输入。然而,这种方法在计算上是昂贵的,并且错过了网络内进行聚合可以提供的优点。一个明确的替代方案是使用累积信息的方法,这种方法可以跨越时间。

提高检测范围的其他技术包括使用高级操作如稀疏卷积、注意力模块和3D卷积。然而,与目标硬件的兼容性是这些方法的一个常见被忽视的方面。部署和训练神经网络所使用的硬件通常显著不同,特别是在支持操作和支持延迟方面。稀疏卷积或注意力等操作通常不支持现有的目标硬件,例如Nvidia Orin DLA。此外,像3D卷积这样的层由于实时延迟要求往往不可行。这迫使使用简单的操作,如2D卷积。

在本文中提出了TimePillars模型,该模型通过依赖2D卷积、Pillar输入表示和卷积循环单元来遵循通用目标硬件支持的操作集。提出了一个使用单卷积和辅助学习的辅助任务来实现对循环单元隐藏状态进行 ego-motion 补偿的方法。通过消融研究,证明了使用辅助任务来确保这种操作的正确性是适当的。还研究了循环模块在流水线中的最佳放置位置,并明确指出将其放置在网络 Backbone 和检测Head之间可以获得最佳性能。

在刚刚发布的Zenseact Open Dataset(ZOD)上展示了方法的有效性。与单帧的PointPillars Baseline 和使用多个聚合点云作为输入的多帧(MF)PointPillars Baseline 相比,TimePillars获得了显著的评估性能。

此外,TimePillars在重要的自行车和行人类别上的平均精确度(AP)显著高于长距离。最后,TimePillars的延迟明显低于MF PointPillars,使其适合实时系统。

主要贡献如下:

  1. 提出了一种新颖的时间相关模型TimePillars,它解决了3D激光雷达目标检测任务,同时遵循了在通用目标硬件上支持的操作集。

  2. 证明了TimePillars在单帧和多帧PointPillars Baseline 的基础上实现了显著的性能提升,尤其是在长距离(可达200米)处。

  3. 到作者为止,这是首次在Zenseact Open Dataset上对3D激光雷达目标检测模型进行评估。

限制。在激光雷达数据上,并考虑其他传感器输入。此外,基于一个单一的最先进的 Baseline 。然而,作者认为作者的框架在某种意义上是非常通用的,因为 Baseline 的未来改进将转化为TimePillars的整体性能的改进。

2 Related work

尽管2D目标检测方法的成功,强大的感知需求推动了3D替代方案的积极探索。作为深度学习在原始点云上的第一个大步骤,Qi等人[19]提出了一种网络架构,称为PointNet,证明了对无序点集直接学习的能力。

自其发布以来,几种方法已经出现。点方法在效率方面不足以应对本研究中考虑到的限制。投影方法将激光雷达数据直接引入(伪)图像域,其中可以使用标准的图像检测架构。尽管这是一种更便宜的替代方案,但这些方法并未提取原始点特征,因此存在一定程度的信息损失。

在本工作中作者关注的是剩下的群体,即基于体积的方法(基于 Voxel 的方法)。这些方法在准确性和效率之间的权衡中处于更平衡的位置。

当前最先进的技术在领域中实现了高度准确的结果。然而,这些方法通常受益于没有对其规格的限制,这使它们可以采用更复杂的架构。考虑到作者旨在遵循的硬件限制,如允许的操作、计算复杂度和内存使用限制,作者筛选出不符合这些要求的 Baseline 候选项。

这些模型要么在计算效率上低效,要么作为关键组成部分包含不适合硬件限制的运算,例如自注意力层或稀疏卷积。然后作者分析剩下的文献,并提出通过查看传感器数据随时间如何处理来对相关工作进行子分的方法。换句话说,作者引入了单帧方法、点云聚合技术和时间感知方法。

Single-frame methods

VoxelNet是一种创新的早期 Proposal ,它采用基于 Voxel 的方法实现了成功结果。然而,它被认为仍然太慢,不适合实时应用。SECOND采用了稀疏卷积,实现了更短的推理时间和改进的性能。PointPillars带来了 Voxel 化哲学的巨大变化,它不是使用常规 Voxel ,而是将点云在垂直方向上离散化为柱,定义了 Pillar 。

Aggregation of point clouds

FaF证明了考虑多个传感器扫描的检测精度上的优势。实现中使用了激光雷达的BEV表示,并分析了遵循Early Fusion方案(在网络开始时聚合)或Late Fusion方案(后续更深层)之间的差异。后来,IntentNet用基于2D卷积的更高效模块替换了帧融合模型,该模型具有3D卷积。

最近,[8]建议只聚合有意义的信息。为此,他们引入了残点概念,即在连续帧之间改变位置的点,即有信息价值的点。这些点和先前的前景点(历史信息)形成了一个更丰富的点云。

Temporal awareness

与聚合不同,建模时间依赖性可以保留相关知识,同时遵守硬件限制。PointPillars的成功之后,[17]尝试在 Backbone 和检测Head之间添加一个卷积LSTM,但当使用细粒度的 Pillar 时,并没有提高整体前一代架构。一个替代方法是在[11]中提出的,选择了一个3D稀疏数据表示。特征在经过3D稀疏U-Net风格 Backbone 处理后,输入到卷积LSTM中。使用零填充手动执行隐藏状态的EGO-motion补偿。

最近,FS-GRU将应用扩展到运动预测任务,并使用卷积GRU建模时间依赖性和实现特征共享。作者选择了在网络 Backbone 之前放置内存,作者通过实验证明这是次优的。

TimePillarsTimePillars从PointPillars的哲学出发,并在时间融合的背景下进行扩展。与[11]不同,作者禁止使用3D表示数据,因为其计算成本高,并避免使用稀疏操作,因为它们与硬件加速器天生不兼容。作者认为EGO-motion补偿任务是关键,并实现了一种有效的方法来在卷积上执行它,这基于[5]背后的直觉。

然而,与FS-GRU论文不同,它仅依赖于编码的 Pillar 特征作为隐藏状态,作者证明,利用进一步发展的 Backbone 隐性信息添加更有价值的内容到内存中。TimePillars,尽管需要更仔细的训练周期,但展示了改进的准确性。最后,与相关的工作相比,作者欣赏Zenseact Open Dataset在规模、多样性和长程激光雷达数据方面的新颖性。

3 TimePillars

在本节中详细介绍了TimePillars,包括数据处理和神经网络架构。

Overview

作者从[12]中提出的架构基础开始,并提出在 Pillar 化执行方面的改进,因为其在过程(接近原始数据)中具有重要意义。然后,将模型扩展到多帧哲学。作者相信在时间感知上是实现后者鲁棒性的方法,并通过在 Backbone 后添加一个卷积GRU来建立它,以考虑长期系统内存。TimePillars如图2所示,并且会详细描述其中涉及的每个模块。

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

Input preprocessing

采用Pillarisation来提取输入点云的离散表示。与 Voxel 不同, Pillar 可以被视为仅在地面维度(x和y)上延伸的垂直柱切口,而垂直维度上的高度(z)值是固定的。这种方法确保了网络输入的统一尺寸,消除了在 Voxel 化中进行z轴分桶的需要,同时捕获了垂直信息并允许使用2D卷积进行有效处理。

然而, Pillar 化直接带来一个问题:从结果集中生成的许多 Pillar 是空的,或者具有非常高的稀疏度(约为97%)。这是在处理激光雷达点云时常见的一个大问题,论文试图通过在每样本中设置非空 Pillar 数量的限制(称为)来解决这个问题。然而,这种解决方案需要使用 Pillar 采样或填充来达到所需限制,这些操作可能会导致信息损失。

相反,应用动态 Voxel 化,旨在消除设置每个 Voxel ( Pillar )预定义的点数的需求。剪裁或填充操作不再针对每个单独的 Pillar 进行。相反,数据样本通过将点作为一个整体来匹配到所需的总点数()。

为通道维数的数量;为每个 Pillar 的点数上限;为每个样本的非空 Pillar 数量。作者的预处理,由于动态 Voxel 化,导致一个形状为的张量,与原始PointPillars论文中的不同。这种抽象 Level 具有许多有益的后果。信息损失最小化(所有可用于 Pillar 化的点都使用),并且生成的嵌入变得不那么随机。

Model architecture

作者详细描述了由 Pillar 编码器、2D卷积 Backbone 和检测Head组成的神经网络架构。

3.3.1 Pillar feature encoder

Pillar 特征编码器将(预处理的)输入张量映射到一个BEV伪图像中。由于使用了动态 Voxel 化,最初简化的PointNet相应地进行了适应。本文应用了一个1D卷积到输入,然后进行批量归一化和ReLU,得到一个张量,其中表示通道数。

在最终散射最大层之前,对通道进行最大池化,得到一个形状为的潜在空间。这就是作者在架构上的差异。由于张量最初编码为,在之前的层之后变为,移除了最大池化操作,因为它是失去适用性的。

TimePillars将所有点视为一个实体,因此不再需要在通道中进行维数减少。然而,最大化表示的概念仍然存在,并隐含在后续的散射最大层中。其应用导致了一个新的张量,其中特征最大值散布到特定的网格位置。

生成的BEV伪图像的形状为,其中分别对应网格的长度和宽度。这些值基于理想的驾驶感知能力、数据集和计算约束进行选择。网格单元大小设置为0.2米(原论文中的0.16米),以简化数据处理。

为了实现长程纵向检测,针对物体在[0,120]米范围内,给定;并考虑物体在宽度范围内米,带来

3.3.2 Backbone

遵循原始 Pillar 论文中提出的 Backbone ,该 Backbone 使用2D CNN架构,因为其深度-效率比具有优势。使用三个下采样块(卷积-批归一化-ReLU)来压缩潜在空间,并使用三个上采样块(转置卷积)将之恢复到原始大小,输出形状为

3.3.3 Memory unit

将系统的内存建模为RNN。特别地,作者提出使用卷积GRU,这是卷积版本的Gated Recurrent Unit。从普通RNN升级为卷积GRU可以避免消失梯度问题。采用卷积运算尊重空间数据并提高效率。最后,直接选择GRU而不是现有替代方案(例如LSTM),可以节省额外的计算功率,并可以被视为隐藏状态复杂性减少的内存正则化技术。这是因为GRU具有较少的门,因此训练参数较少。

通过合并相似类型的合并操作,减少了所需的卷积层数量,从而使单位更加高效。特别地,如方程(1)-(3)所示,重置门和更新门共享相同的输入变量(当前特征和保留记忆),只拥有不同的可学习参数()。这允许通过输入拼接应用一个复制数量卷积。候选隐藏状态得到,并得到新的记忆

通过其门控机制,卷积GRU架构允许模型自适应地学习哪些信息需要忘记,哪些需要更新,以及哪些新的数据需要合并。这使得模型能够在顺序数据中捕获长期依赖性。

3.3.4 Detection head

作者提出了一种简单的修改SSD。其核心思想保持不变,即单次传递且无需区域 Proposal 。然而,抑制了使用 Anchor 框的使用。相反,直接对网格中的每个单元进行预测。失去单阶段多目标检测能力的代价,避免了费时且通常不精确的 Anchor 框参数调优,以及推理平滑。

线性层包括分类和定位(位置、大小和角度)回归的单个输出。只有大小具有激活函数,后者是ReLU。这是为了避免它占用负值,而其他输出没有这个问题。另外,分类卷积后跟随一个Softmax激活层,输出类概率。

此外,与相关文献[12, 27]不同,作者独立预测角度输出的正弦和余弦对应值,并从中提取角度。这样,作者避免了直接角度回归(由于张量数量级问题受损),并且不需要分类头来区分车辆的前后。

Postprocessing

为了提取最终的检测边界框,应用了分类分数过滤和NMS。前者移除了低置信预测,而后者移除了与某个物体相关的冗余框。2D IoU用于决定两个旋转边界框之间的重叠程度。

Feature ego-motion compensation

由卷积GRU输出的隐藏状态特征是以上一帧的坐标系表示的。如果直接用于计算下一个预测,由于自运动引起的空间不匹配就会出现。

转换可以应用不同的技术进行。理想情况下,应该将已经校正的数据输入到网络中,而不是在内部进行转换。然而,这并不是 Proposal ,因为这将需要在每个推理和每个步骤中重置隐藏状态,转换之前的云并将其传播整个网络。这种方法不仅低效,而且违背了使用RNN的目的。

因此,在循环上下文中,补偿应该在特征 Level 发生。这反过来使得假设解决方案更有效,但使问题更加严重。例如,可以使用插值方法。伪图像插值可以应用于在转换坐标系中获取特征。然而,这种解决方案可能会受到插值技术使用的多项式阶数(例如双线性、双三次等)的近似误差的影响。

3.5.1 Convolutional-based coordinate transform

与[5]中的方法不同,作者建议使用卷积运算进行转换,并借助辅助任务。考虑到前者的详细程度有限,作者提出自己的解决方案来解决这个问题。

采取的方法通过一个额外的卷积层为网络提供所需的特征转换信息。首先计算两个连续帧之间的相对变换矩阵,即需要执行的操作以成功转换特征。然后,从矩阵中提取仅包含2D信息(旋转和位置对应项)的矩阵。

即分别计算旋转部分的,以及位置部分的

这种简化避免了主要的矩阵常数,并将其从16个值(4×4)简化为6个。然后将矩阵 flatten,并将其扩展以匹配隐藏特征的形状,以补偿。第一个维度表示需要转换的帧数。这种表示方法使得每个潜在的 Pillar 可以被catenated在要补偿的隐藏特征的通道维度中。

最后,将隐藏状态特征输入到2D卷积层中,该层适合于转换过程。请注意一个关键方面:卷积的执行并不能保证转换的执行。通道拼接只是向网络提供了有关最终如何执行转换的额外信息。在这种情况下发现辅助学习是合适的。在训练过程中添加一个额外的学习目标(坐标变换),与主要的目标检测目标并行。通过监督辅助任务的设计,可以确保补偿的正确性(见图3)。

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

辅助任务的使用仅限于训练过程。一旦网络学会了正确地转换特征,它就会失去适用性。这就是为什么在推理过程中不考虑这个任务的原因。进一步的实验,对比其影响,可以在下一节中找到。

4 Experiments

在这个部分提供了详细的实验,包括设置、训练细节、作者获得的主要结果以及消融研究。

Setup

作者关注类标签,指出有助于处理类不平衡的方法,并详细说明训练损失函数的选择。

4.1.1 Class labels

评估的类别如下:车辆、易受攻击的车辆(简称为自行车)和行人。

考虑到该领域存在的现有前景-背景类不平衡情况,作者进行了额外的测量以帮助处理这个问题。代表性类权重根据数据集中每个类出现的频率来调整每个类的学习相关性。另一种方法是考虑分类器的初始化偏差。其目的是加速收敛,避免网络在早期迭代中学习到偏差。通过确保从开始分类输出反映不平衡情况来实现这一点,即softmax输出对应于每个类的出现频率。

4.1.2 Loss functions

首先,选择了Focal Loss作为分类损失。其选择的目的是通过为难以分类、被错误分类的示例分配更高的权重,同时降低容易分类的示例权重来缓解类不平衡的影响。如标准做法,设置平衡参数,聚焦参数

对于位置和大小回归输出,采用了Huber损失(或称Smooth-L1),因为它对离群值具有鲁棒性。将位置和大小回归的学习阈值设置为,而角度回归的学习阈值设置为。这是考虑到一个更高的离群容忍度被证明可以帮助鼓励学习物体的旋转值。

此外,Mask与 GT 背景或模糊标签相关联的样本的学习影响。这样做能够将模型的性能集中在相关类别上。此外,选择AdamW作为优化器,以将权重衰减正则化与学习率设置解耦。

TimePillars training cycle

数据集的结构影响了重复训练循环。数据集中的帧是在两年的时间跨度内,跨越多个国家获得的,因此数据线性有限。训练样本之间没有空间或时间关系,因此整个训练循环中没有特定的顺序。

然而,对于每个核心标注帧,过去的10个扫描是可用的,尽管没有标签。由于这些过去的扫描无法直接用于训练,因为缺乏标注,作者使用它们来填充隐藏状态以获得相关信息。这样,可以利用庞大的数据集大小,同时避免重复数据或定义运行顺序(见图4)。

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

长期记忆稳定性是重复方案中的一个基本问题。观察到这个学习上下文存在缺乏足够连续标注数据的序列的风险,网络无法学习如何保留相关知识,以及如何遗忘冗余数据。通过在一定范围内的随机训练过去扫描数来解决这个问题,这样可以避免扫描过拟合。随机化 epoch 步骤对网络的泛化能力是有益的。

迁移学习能够加快和简化训练过程。首先从头训练单帧方法的构建模块。然后,将最相关的权重转移到训练TimePillars的核心。为了这个目的, Pillar 编码器被冻结,以及 Backbone 的降采样层也被冻结,以便转移的权重能够适应新的训练上下文。

Results

Zenesact Open Dataset将nuScenes中提出的指标进行了调整,以支持长程数据分析。

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

表1中列出了本文中获得的各项主要结果,图5用于可视化。将不同自运动变换类型的TimePillars与单帧 Baseline (PointPillars)进行了比较,以及将3个过去的扫描聚合作为输入的多帧扩展。

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

表中的所有模型都在120米的纵向范围内进行训练和评估。指标表明,TimePillars在大多数类别中超过了其他方法。在已经补偿的数据被输入到网络时,TimePillars实现了最高的总体nuScenes检测分数(NDS),因为它不需要学习变换。如前所述,这种场景是理想的,仅用于完整性。主要 Proposal 是卷积基础的,能够几乎匹配后者的性能,并且在双线性插值的基础上比直接聚合方法提高了约5%。

对于主导类(车辆)的AP值,MF PointPillars具有最高的精确度,而对于更困难的类别(自行车和行人),基于卷积的TimePillars超过了PointPillars相关方法,这是第二个显著的改进。这种质量的提高可以归因于使用过去信息,这对在数据集中不太可能出现且具有高稀疏性的类特别重要。

作者还提供了在NVIDIA A100上的推理速度,模型已使用TensorRT量化为float16,但未执行任何进一步的优化技术。这些数字展示了准确性和运行时之间的权衡。单帧方法直观上比使用多个传感器扫描的方法运行得更快,但作者的循环方法证明比直接聚合方法快两倍。

Ablation studies

进行了相关的消融研究,即作者研究了循环模块的放置,证明了具有辅助任务是适当的,并探索了纵向检测范围。

4.4.1 Memory placement

循环单元在流水线中的放置是一个关键的决定。在 Backbone 之后添加循环单元会增加训练循环的复杂性。然而,作者认为,在 Backbone 之后提供一种更低层次的数据表示,这种表示是在 Backbone 之后开发的,可能会导致扫描的更好合并。

为了验证这个假设,作者实现了一种类似于FS-GRU中提出的模型,其中循环单元被喂食编码的 Pillar 。作者的解决方案在所有指标上都优于单帧 Baseline (Table 3)。

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

值得注意的是,在将循环单元放在 Backbone 之前而不是在 Backbone 之后,网络的表现几乎与单帧 Baseline 相同。

4.4.2 Auxiliary task

作者还验证了使用辅助任务的适当性。表4确认了在训练中包括辅助任务可以获得所有指标上的额外性能。

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

4.4.3 Longitudinal detection range

作为对所提出结果的补充,作者使用固定的纵向范围120m,评估在不同距离的检测性能。进行距离分bin,并将TimePillars得到的结果与PointPillars进行对比。TimePillars优于 Baseline ,证明其仅适用于近距离物体。考虑过去的知识的好处延伸到了相当长的检测范围(见表2)。

TimePillars | 200米检测不再困难,实现对PointPillars时序版本的升级

5 Conclusions

该工作表明,考虑过去的传感器数据确实优于仅利用当前信息。获取关于驾驶环境的前期信息面对激光雷达点云的稀疏性,并导致更准确的预测。作者证明循环网络是实现这一目标的有效手段。与点云聚合方法不同,后者通过繁重的处理创建更密集的数据表示,TimePillars则是使系统具有记忆,带来更稳健的解决方案。

作者提出的TimePillars方法实现了解决循环问题的方式。通过在推理过程中,仅在单帧 Baseline 中增加三个额外的卷积层,作者证明基本的网络构建块就足够实现显著的结果,并确保现有的效率和硬件集成规格得到满足。据作者所知,这项工作是针对新推出的Zenseact Open Dataset上的3D目标检测任务的第一项 Baseline 结果。作者希望能为未来的更安全、更可持续的道路做出贡献。

参考

[1]. TimePillars: Temporally-Recurrent 3D LiDAR Object Detection

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy