纯LiDAR 3D检测路在何方?时序递归TimePillars:直接干到200m!

人工智能 智能汽车
这篇论文主要讨论了自动驾驶中的一个关键挑战:如何准确地创建周围环境的三维表示。这对于自动驾驶汽车的可靠性和安全性至关重要。

本文经自动驾驶之心公众号授权转载,转载请联系出处。

基于LiDAR点云点3D Object Detection一哥是一个很经典的问题,学术界和工业界都提出了各种各样的模型来提高精度、速度和鲁棒性。但因为室外的复杂环境,所以室外点云的Object Detection的性能都还不是太好。而激光雷达点云本质上比较稀疏,如何针对性得解决这一问题呢?论文给出了自己的答案:依照时序信息的聚合来完成信息的提取。

写在前面

图片

这篇论文主要讨论了自动驾驶中的一个关键挑战:如何准确地创建周围环境的三维表示。这对于自动驾驶汽车的可靠性和安全性至关重要。特别是,自动驾驶车辆需要能够识别其周围的物体,如车辆和行人,并准确确定它们的位置、大小和方向。通常情况下,人们会使用深度神经网络处理激光雷达(LiDAR)数据来执行此任务。

大部分现有文献集中在单帧方法上,即一次使用一个传感器扫描的数据。这种方法在经典基准测试中表现良好,这些测试的物体距离可达75米。然而,激光雷达点云本质上是稀疏的,特别是在远距离范围内。因此,论文声称仅使用单个扫描进行长距离检测(例如,达到200米)是不够的。

为了解决这个问题,一种方法是使用点云聚合,即将一系列激光雷达扫描数据连续起来,从而获得更密集的输入。然而,这种方式在计算上代价高昂,并且无法充分利用在网络内部进行聚合所带来的优势。一个明显的替代方案是使用递归方法,这些方法可以随时间积累信息。

文章还提到,增加检测范围的其他技术包括使用先进的操作,如稀疏卷积、注意力模块和3D卷积。但是,这些方法通常忽略了目标硬件的兼容性问题。部署和训练神经网络所用的硬件往往在支持的操作和延迟方面有显著差异。例如,稀疏卷积或注意力这样的操作通常不被现有的目标硬件支持,比如Nvidia Orin DLA。此外,3D卷积等层由于实时延迟要求往往不可行。这就强调了使用简单操作,如2D卷积的必要性。

论文中提出了一个新型的时序递归模型,TimePillars,该模型尊重常见目标硬件上支持的操作集,依赖于2D卷积,基于点柱(Pillar)输入表示和一个卷积递归单元。通过单个卷积和辅助学习的帮助,对递归单元的隐藏状态应用了自车Motion Compensation。通过消融研究表明,使用辅助任务来确保这种操作的正确性是恰当的。论文还研究了递归模块在管道中的最佳位置,并清楚地表明,将其放置在网络的骨干和检测头之间可以获得最佳性能。在新发布的Zenseact开放数据集(ZOD)上,论文展示了TimePillars方法的有效性。与单帧和多帧点柱基线相比,TimePillars取得了显著的评估性能提升,特别是在重要的自行车手和行人类别中,在远距离(长达200米)的检测上表现尤为突出。最后,TimePillars的延迟显著低于多帧点柱,使其适合实时系统。

这篇论文的主要贡献包括提出了一个新的时序递归模型TimePillars,用于解决3D激光雷达物体检测任务,同时尊重常见目标硬件支持的操作集;展示了TimePillars在长距离检测上相比单帧和多帧点柱基线取得了显著更好的性能;并且首次在新的Zenseact开放数据集上对3D激光雷达物体检测模型进行了基准测试。不过,该论文的限制在于,它仅关注激光雷达数据,没有考虑其他传感器输入,并且其方法基于单一的最新基线。尽管如此,作者认为他们的框架是通用的,即未来对基线的改进将转化为整体性能的提升。

详解TimePillars

图片

Input preprocessing

在这篇论文的“输入预处理”部分,作者采用了“柱化”(Pillarisation)技术来处理输入的点云数据。这种方法不同于常规的体素化,它将点云分割成垂直的柱状结构,仅在水平方向(x和y轴)上分割,而在垂直方向(z轴)上保持固定高度。这样做可以保持网络输入尺寸的一致性,并允许使用2D卷积进行有效处理。

然而,Pillarisation处理的一个问题是产生了许多空的柱子,导致数据非常稀疏。为解决这个问题,论文中提出了使用动态体素化技术。这种技术避免了为每个柱子设置预定义点数的需求,从而不需要对每个柱子进行截断或填充操作。相反,整个点云数据被整体处理,以匹配到所需的总点数,这里设置为20万个点。这种预处理方法的好处是,它最大程度地减少了信息的损失,并且使得生成的数据表示更加稳定和一致。

Model architecture

然后对于Model architecture,作者详细介绍了一个由柱特征编码器(Pillar Feature Encoder)、2D卷积神经网络(CNN)骨干和检测头组成的神经网络架构。

  1. Pillar Feature Encoder:这个部分将预处理后的输入张量映射成鸟瞰视图(BEV)伪图像。使用动态体素化后,简化的PointNet进行了相应的调整。输入经过1D卷积,批量归一化和ReLU激活函数处理,得到一个形状为  的张量,其中  代表通道数。在最终的散射最大化(scatter max)层之前,对通道应用最大池化,形成形状为  的潜在空间。由于初始张量被编码为 ,在前面的层之后变成 ,因此去掉了最大池化操作。
  2. Backbone:采用原始柱状论文中提出的2D CNN骨干架构,由于其深度效率比较优越。使用三个下采样块(Conv2D-BN-ReLU)缩小潜在空间,并使用三个上采样块和转置卷积将其恢复,输出形状为 
  3. Memory Unit:将系统的记忆建模为一个递归神经网络(RNN),具体采用卷积GRU(convGRU),这是Gated Recurrent Unit的卷积版本。卷积GRU的优势在于避免了梯度消失问题,并且在保持空间数据特性的同时提高了效率。与其他选择,如LSTM相比,GRU由于门的数量更少,因此具有更少的可训练参数,可以视为一种记忆正则化技术(降低隐藏状态的复杂性)。通过合并类似性质的操作,减少了所需卷积层的数量,从而使单元更高效。
  4. Detection Head:对SSD(Single Shot MultiBox Detector)进行了简单的修改。保留了SSD的核心理念,即单次通过且无需区域提议,但取消了锚盒(anchor boxes)的使用。直接为网格中的每个单元格输出预测,虽然失去了单元格多对象检测能力,但避免了繁琐且常常不精确的锚盒参数调整,并简化了推理过程。线性层处理分类和定位(位置、大小和角度)回归的各自输出。只有大小使用激活函数(ReLU),以防止取负值。此外,不同于相关文献,论文通过独立预测车辆行驶方向的正弦和余弦分量,并从中提取角度,避免了直接角度回归的问题。

Feature Ego-Motion Compensation

在论文这一部分,作者讨论了如何处理由卷积GRU输出的隐藏状态特征,这些特征是以前一帧的坐标系表示的。如果直接存储并用于计算下一个预测,由于自我运动(ego-motion)会发生空间不匹配。

为了进行转换,可以应用不同的技术。理想情况下,已经校正的数据将被输入网络,而不是在网络内部进行转换。然而,这不是论文提出的方法,因为它需要在推理过程中的每一步重置隐藏状态,转换之前的点云,并将它们传播到整个网络。这不仅效率低下,而且违背了使用RNN的目的。因此,在循环上下文中,补偿需要在特征级别进行。这使得假设的解决方案更高效,但也使问题变得更复杂。传统的插值方法可以用来获取变换坐标系中的特征。

与此相反,论文中受到Chen等人工作的启发,提出使用卷积操作和辅助任务来执行变换。考虑到前述工作的细节有限,论文提出了针对该问题的定制解决方案。

论文采取的方法是通过一个额外的卷积层,为网络提供执行特征转换所需的信息。首先计算两个连续帧之间的相对变换矩阵,即成功变换特征所需执行的操作。然后,从中提取2D信息(旋转和平移部分):

这种简化避免了主要矩阵常数,并在2D(伪图像)域中工作,将16个值简化为6个。然后将矩阵展平,并扩展以匹配要补偿的隐藏特征的形状 。第一个维度表示需要转换的帧数。这种表示使其适合于在隐藏特征的通道维度中串联每个潜在柱子。

最后,隐藏状态特征被输入到一个2D卷积层中,该层适合变换过程。需要注意的一个关键方面是:卷积的执行并不保证变换的进行。通道串联只是为网络提供了关于如何可能执行变换的额外信息。在这种情况下,使用辅助学习是合适的。在训练过程中,添加了一个额外的学习目标(坐标变换)与主要目标(物体检测)并行。设计一个辅助任务,其目的是在监督下引导网络通过变换过程,以确保补偿的正确性辅助任务仅限于训练过程。一旦网络学会了正确地变换特征,它就失去了适用性。因此,在推理时不考虑该任务。下一节中将进一步实验,对比其影响。

实验

图片

实验结果表明,TimePillars模型在处理Zenseact Open Dataset(ZOD)帧数据集时表现出色,特别是在处理长达120米的范围时。这些结果凸显了TimePillars在不同运动转换方法下的性能差异,并与其他方法进行了比较。

在对比基准模型PointPillars和多帧(MF)PointPillars后,可以看出TimePillars在多个关键性能指标上取得了显著提升。尤其是在NuScenes Detection Score(NDS)上,TimePillars展示了更高的综合评分,反映了其在检测性能和定位精度方面的优势。此外,TimePillars在平均转换误差(mATE)、平均尺度误差(mASE)和平均方向误差(mAOE)上也取得了更低的数值,表明其在定位准确性和方向估计上更为精准。特别值得注意的是,TimePillars在运动转换方面的不同实现方法对性能有显著影响。当采用卷积基的运动转换(Conv-based)时,TimePillars在NDS、mATE、mASE和mAOE上的表现尤为突出,证明了这种方法在Motion Compensation和提高检测精度方面的有效性。相比之下,使用插值方法的TimePillars虽然也优于基准模型,但在某些指标上不如卷积方法。平均精度(mAP)的结果显示,TimePillars在车辆、骑行者和行人类别的检测上均表现良好,特别是在处理骑行者和行人这些更为挑战性的类别时,其性能提升更为显著。从处理频率(f (Hz))的角度来看,TimePillars虽然不如单帧PointPillars那样快,但与多帧PointPillars相比,其处理速度更快,同时保持了较高的检测性能。这表明TimePillars在保持实时处理的同时,能够有效地进行长距离检测和Motion Compensation。也就是说TimePillars模型在长距离检测、Motion Compensation以及处理速度方面展现出显著优势,尤其是在处理多帧数据和采用卷积基运动转换技术时。这些结果强调了TimePillars在自动驾驶车辆的3D激光雷达物体检测领域的应用潜力。

图片

上述实验结果表明,TimePillars模型在不同距离范围内的物体检测性能上表现卓越,尤其是与基准模型PointPillars相比。这些结果分为三个主要的检测范围:0至50米、50至100米和100米以上。

首先,NuScenes Detection Score(NDS)和平均精度(mAP)为整体性能指标。TimePillars在这两项指标上均优于PointPillars,显示出整体上更高的检测能力和定位精度。具体来说,TimePillars的NDS为0.723,远高于PointPillars的0.657;而在mAP方面,TimePillars也以0.570显著超越了PointPillars的0.475。

图片

在不同距离范围内的性能对比中,可以看到TimePillars在各个范围内均有更好的表现。对于车辆类别,TimePillars在0至50米、50至100米和100米以上的范围内的检测精度分别为0.884、0.776和0.591,均高于PointPillars在相同范围内的性能。这表明TimePillars在车辆检测方面,无论是近距离还是远距离,都具有更高的准确性。在处理易受伤害的交通工具(如摩托车、轮椅、电动滑板车等)时,TimePillars同样展现了更好的检测性能。特别是在100米以上的范围内,TimePillars的检测精度为0.178,而PointPillars仅为0.036,显示出在远距离检测方面的显著优势。对于行人检测,TimePillars也呈现出更好的性能,尤其是在50至100米的范围内,其检测精度达到了0.350,而PointPillars仅为0.211。即便在更远的距离(100米以上),TimePillars仍能实现一定程度的检测(0.032的精度),而PointPillars在这一范围内的表现为零。

这些实验结果强调了TimePillars在处理不同距离范围内的物体检测任务上的优越性能。无论是在近距离还是在更具挑战性的远距离范围内,TimePillars均能提供更准确和可靠的检测结果,这对于自动驾驶车辆的安全和效率至关重要。

讨论

图片

首先,TimePillars模型的主要优点在于其对长距离物体检测的有效性。通过采用动态体素化和卷积GRU结构,模型能够更好地处理稀疏的激光雷达数据,尤其是在远距离物体检测方面。这对于自动驾驶车辆在复杂和变化的道路环境中的安全运行至关重要。此外,模型在处理速度上也显示出了较好的性能,这对于实时应用是必不可少的。另一方面,TimePillars在Motion Compensation方面采用了基于卷积的方法,这是对传统方法的一大改进。这种方法在训练过程中通过辅助任务确保了转换的正确性,提高了模型在处理运动对象时的精确度。

然而,论文的研究也存在一些局限。首先,虽然TimePillars在处理远距离物体检测方面表现出色,但这种性能的提升可能以牺牲一定的处理速度为代价。虽然模型的速度仍适用于实时应用,但与单帧方法相比,仍有所下降。此外,论文主要关注于LiDAR数据,没有考虑其他传感器输入,如相机或雷达,这可能限制了模型在更复杂多传感器环境中的应用。

也就是说TimePillars在自动驾驶车辆的3D激光雷达物体检测方面展现出了显著的优势,特别是在长距离检测和Motion Compensation方面。尽管存在处理速度的轻微折衷和对多传感器数据处理的局限性,TimePillars仍然代表了在这一领域中的一个重要进步。

结论

这项工作表明,考虑过去的传感器数据比仅利用当前的信息更为优越。访问先前的驾驶环境信息,可以应对激光雷达点云的稀疏性质,并导致更准确的预测。我们证明了递归网络作为实现后者的手段是合适的。与通过大量处理创建更密集数据表示的点云聚合方法相比,赋予系统记忆力带来了更加稳健的解决方案。我们提出的方法TimePillars,实现了解决递归问题的一种方式。仅通过在推理过程中增加三个额外的卷积层,我们证明了基本的网络构建模块足以取得显著成果,并保证了现有的效率和硬件集成规范得以满足。据我们所知,这项工作为新引入的Zenseact开放数据集上的3D物体检测任务提供了首个基准结果。我们希望我们的工作能为未来更安全、更可持续的道路做出贡献。

原文链接:https://mp.weixin.qq.com/s/FFTjac98-sddaavsHY4Y0Q

责任编辑:张燕妮 来源: 自动驾驶之心
相关推荐

2023-12-14 11:18:16

视觉检测

2024-01-26 10:02:51

自动驾驶3D

2023-09-27 09:59:53

自动驾驶训练

2024-01-29 09:29:02

计算机视觉模型

2013-03-14 08:52:19

SDN软件定义网络ONF

2010-03-03 09:38:05

JavaFX

2024-01-15 08:52:34

自动驾驶目标检测

2022-02-14 11:37:59

自动驾驶算法技术

2017-04-11 21:47:06

迅雷带宽网络

2010-07-27 09:24:21

2014-08-15 13:57:56

2019-08-07 07:19:30

2020-02-25 20:40:26

高等院校二本就业

2009-06-24 15:45:32

VB.NET

2022-07-18 10:01:54

元宇宙社交App

2024-03-15 15:15:31

模型训练

2018-09-19 13:49:54

宽带无线网络运营商

2020-03-11 20:29:26

网络安全IT漏洞

2009-03-19 10:37:07

技术IT人职业发展

2023-11-24 09:56:19

自动驾驶训练
点赞
收藏

51CTO技术栈公众号