东北大学提出4D时空激光语义分割网络4D-CS:实现nuscenes上最新SOTA

文摘   2025-01-08 07:04   中国香港  

 

摘要

LiDAR点云的语义分割对于自动驾驶和移动机器人系统具有重大意义。大多数方法通过探索多扫描的时间信息来识别每个点的类别和运动状态。然而,这些方法常常忽略了空间和时间上的一致性分割,可能导致同一物体内的点被预测为不同的类别。为了解决这个问题,我们的核心思想是生成跨多个帧的聚类标签,这些标签可以反映物体的完整空间结构和时间信息。这些标签作为显式指导用于我们的双分支网络4D-CS,该网络结合了基于点和基于聚类的分支,以实现更一致的分割。具体来说,在基于点的分支中,我们利用历史知识通过多视图的时间融合来丰富当前特征。在基于聚类的分支中,我们提出了一种新策略来生成前景物体的聚类标签,并将其应用于收集点特征以派生聚类特征。然后,我们合并多个扫描中的相邻聚类以恢复由于遮挡而缺失的特征。最后,在点-聚类融合阶段,我们自适应地融合来自两个分支的信息以优化分割结果。广泛的实验验证了我们所提方法的有效性,并且在SemanticKITTI和nuScenes数据集的多扫描语义和移动物体分割上取得了最先进的结果。
代码地址 :https://github.com/NEU-REAL/4D-CS.git

 欢迎加入自动驾驶实战群




I. INTRODUCTION

LiDAR点云的语义分割是自动驾驶和移动机器人系统中的一项关键任务,它涉及识别每个点的类别。这对于下游任务,包括语义映射和长期自主导航,具有重要意义。

近年来,一些方法尝试对单个LiDAR帧进行语义分割。然而,这些逐帧分割算法忽略了一些有用的时间知识,特别是过去时刻对物体的不同且互补的观察,这使得处理遮挡和稀疏点的情况变得困难。此外,由于独立分离每一帧,这些方法无法区分LiDAR序列中物体的运动状态,导致在映射过程中出现幽灵效应。

为了克服上述限制,一些方法采用多扫描LiDAR点来恢复物体的完整外观,或利用时空特征来提高场景感知能力。此外,它们还探索了从LiDAR序列中提取潜在运动信息的潜力,以识别物体的运动状态。例如,Memory-Seg通过循环更新记忆特征来补偿当前帧由于遮挡造成的信息丢失。SVQNet通过聚合相邻历史点的信息进行局部特征编码,并选择时间上下文来完成不可见的几何形状,从而取得了有希望的结果。

然而,即使考虑了这种时间信息,有时对实例级信息的适当考虑不足,可能导致属于同一物体的点被归类到不同的语义类别。具体来说,如图1(a)所示,大型车辆的分割结果容易出现截断,因为网络通常关注点分类而忽略了实例级别的理解。然后,如图1(b)所示,尽管在某一时刻可以准确预测物体的运动状态,但模型仍然难以确保相邻时间中分割的一致性。因此,如何在时空空间中实现一致的结果呢?一种可能的方法是聚类。对于具有稀疏分布前景物体的室外场景,像DBSCAN这样的聚类方法可以提供完整的物体外观(见图1(e)和(f)),这适用于指导网络生成满足时空一致性的分割结果。

方法论

A. 概述

在本节中,我们提出了一种基于聚类的方法,称为4D-CS,它提高了同一对象所属点的分割结果的一致性。如图2所示,我们的方法包括基于点的分支、基于聚类的分支和点-聚类融合。对于图2(a)中的基于点的分支,我们首先使用自我运动将多帧点云对齐到当前点的坐标系中,并将它们输入骨干网络以提取特征。为了利用过去的知识,我们使用多视角时间融合(MTF)模块来合并多个视图上的时间特征,从而得到增强特征。对于图2(b)中的基于聚类的分支,我们根据历史预测生成聚类标签,并利用它们从点特征中聚合初始实例特征。然后,提出了一个时间聚类增强(TCE)模块来整合时间聚类特征,这些特征随后被分配给前景点以创建精细的实例特征。最后,在图2(c)中的点-聚类融合阶段,我们采用来自两个分支的特征来预测分割结果,然后在自适应预测融合(APF)模块中自适应地优化每个点的语义类别和运动状态。

B. 基于点的分支

如图2所示,我们使用姿态变换矩阵将过去的扫描转换到当前点的坐标系中。通过堆叠它们,我们可以得到密集点云,其中每个点包含3D坐标和距离激光雷达传感器原点的距离d。在点特征提取过程中,我们采用WaffleIron[14]作为我们的骨干网络,它首先结合K最近邻(KNN)和多层感知器(MLP)为每个点获取粗略的局部特征。此后,将这些点映射到不同视图的2D平面上以提取特征,避免了直接处理大量点云的计算负担。具体来说,我们将点特征沿z轴投影到x-y平面上,并利用2D卷积提取语义信息。然后,我们将2D特征反投影到点云上,并再次沿y轴和x轴映射到其他平面上。通过重复上述过程,我们可以实现高效的特征提取并生成点特征,其中是下采样点的数量。

多视角时间融合:为了充分利用时间信息,我们使用MTF模块将历史信息与当前特征相结合。最初,投影矩阵被应用于将历史特征转换到当前帧的坐标系中。然后,如图3(a)所示,我们依次将转换后的特征输入对应于x-y、x-z和y-z平面的2D融合块中进行时间融合。2D融合的过程如图3(b)所示。首先,将点特征输入沿特定坐标轴投影到2D网格中。然后,我们在同一网格内平均点特征,得到大小为的2D特征。接下来,它们沿通道维度组合,并使用1x1卷积执行特征融合。然后将2D特征反投影到相应的3D点上,替换原始特征。最后,通过在不同视图上执行上述步骤,我们可以嵌入历史知识并获得增强特征,从而减少由于遮挡造成的信息丢失。

C. 基于聚类的分支

大多数语义分割网络[10],[13]通常缺乏实例级感知,这将导致属于同一对象的点的语义预测不一致(图1(a)和(b))。为了解决这个问题,我们旨在利用多扫描的聚类结果作为额外信息来增强语义分割中的时空一致性。

聚类标签生成:由于点云序列的连续性,我们可以采用自我运动将过去的扫描与当前点对齐,并将历史预测分配给当前帧。然后,对于被归类为前景的点,我们可以使用DBSCAN将它们分割成多个聚类并获得聚类标签(图1(e)和(f))。

具体来说,如图4(a)所示,我们通过以下步骤将历史语义预测转移到当前点:(1) 标签初始化:由于关注前景分割的一致性,我们将历史预测映射到背景、前景和道路状。同时,t帧中的所有点都初始化为“未标记”。(2) 非地面标签分配:首先,我们通过变换矩阵将历史非地面点转换到t帧的坐标系中。接下来,我们将3D空间分割成多个大小为的体素,并将历史点输入相应的体素中。通过最多投票操作,基于其点中最常见的类别分配体类。然后,我们根据坐标关系将体类分配给当前帧。(3) 地面标签分配:如果两帧之间存在平移,则当前帧中的地面点可能没有来自历史帧的附近对应点,导致许多地面点在小体素步骤(2)中仍然未标记。因此,我们使用更大更平的体素为“未标记”的点分配道路状标签。

为了获得包含时空信息的前景聚类结果,我们对多帧的堆叠点云进行聚类(图4(b))。然而,由于前景对象可能在移动,一些邻居\tilde{C}t={c_i}{i=1}^{N_c}N_c$中的第j个点,L表示预测的类别。

实例特征聚合:这部分旨在根据聚类标签收集基于点的分支的所有点特征以产生实例信息。一种简单而有效的方法是将同一聚类中的所有点特征聚集起来$$\left{u_i\in R^D\right}{i=1}^{N_c}G_t=\left{g_i\in R^3\right}{i=1}^{N_c}$。然而,由于点云的稀疏性或遮挡,DBSCAN可能会将同一对象的点分割成多个聚类,导致聚类不能很好地反映实例信息。因此,我们提出了一个时间聚类增强(TCE)模块,通过与多帧相邻聚类的组合来补充聚类特征,并提高聚类信息的完整性。

在TCE中,我们通过变换矩阵将历史聚类中心投影到当前坐标系中,并将其与当前聚类组合以获得新的聚类中心和相应的特征密集点,这是多帧如图所示的。然后,我们保留被归类为前景聚类的点,我们使用线性层o查询。并且特征的uisters 被投影到$$和值向量。之后,我们将的通道分成h组,并使用分组向量注意力[16]来聚合靠近的聚类特征,表示为:

其中是位置编码函数,是不同邻居的所有的集合。表示可学习的分组权重编码。同时,增强的聚类特征表示为。最后,我们将聚类特征分配给相应的前景点。对于剩余的点,我们用零填充它们的特征,并得到与大小相同的最终点级聚类特征

D. 点-聚类融合

为了结合两个分支的语义特征和实例信息,并获得时空一致的分割结果,我们提出了一个自适应预测融合(APF)模块,在点-聚类融合阶段自适应地合并两个分支的预测结果。如图5所示,对于来自不同分支的特征,我们采用特定的头部分别估计每个点的语义类别和运动状态,获得语义逻辑分数和运动逻辑分数。然后,为了对两个分支的预测逻辑分数进行加权,我们将点特征沿通道维度连接起来,并通过两个不共享权重的MLP计算置信度分数,其值范围从0到1。

之后,置信度分数用于合并t的预测逻辑分数可以表示为以下公式:

E. 损失函数

在训练过程中,给定地面真实标签,我们采用每个点的预测语义逻辑分数和运动逻辑分数来计算损失,如下所示:

其中分别是语义和运动预测的交叉熵损失。是语义和运动结果的多项式软最大损失[27]。该损失函数作为一个可微分的替代品,旨在优化用于衡量分割质量的交并比(IoU),从而补偿交叉熵损失在优化目标中的不足。

IV. 实验

A. 数据集

SemanticKITTI[31] 是一个广泛使用的室外场景语义理解数据集。它利用64束激光雷达收集点云,并包含22个激光雷达序列,其中序列00至10为训练集(序列08为验证集),序列11至21为测试集。语义分割任务分为单次扫描(19个类别)和多次扫描(25个类别),前者仅区分对象类别,后者还需识别前景对象的运动状态。此外,SemanticKITTI-MOS是另一个基准,仅确定点的动态和静态状态。另外,nuScenes[32] 由32束激光雷达传感器收集的1000个驾驶场景组成,提供16个语义类别。然后,按照[29],[30]的方法,我们使用真实的3D边界框创建额外的8个移动类别。

B. 评估指标

我们采用交并比(IoU)来评估不同方法。IoU定义为 ,其中TP、FP和FN分别表示真阳性、假阳性和假阴性。由于我们采用了两个分支,我们采用mIoU作为评估指标,它表示所有类别的IoU平均值。对于MOS基准,我们使用移动对象的IoU作为评估指标。

C. 实现细节

在训练和测试过程中,我们使用SemanticKITTI数据集的三连续帧点云作为输入。对于nuScenes数据集,激光雷达以20Hz的频率运行,我们选择时间步长为2的三帧以更好地捕捉对象运动。我们采用WaffleIron[14](6层)作为骨干网络。与[14]类似,我们通过保留每个10厘米体素中的一个点来下采样点云。对于WaffleIron的超参数,我们在SemanticKITTI上使用和40厘米的网格分辨率,在nuScenes上使用和60厘米的网格。对于聚类标签生成,非地面分配的体素大小设置为,地面分配的体素大小为。此外,我们在没有历史特征的情况下训练网络45个周期,使用两块NVIDIA RTX 4090 GPU。之后,冻结骨干网络,并对剩余模块额外训练45个周期。我们采用AdamW[33]优化网络,权重衰减为0.003,批量大小为6。此外,我们的数据增强策略包括随机翻转、旋转、缩放以及与polarmix[14]结合的实例cutmix。

D. 评估结果

定量结果:如表I和表II所示,我们将我们的算法与其他方法在SemanticKITTI和nuScenes的多扫描语义分割任务上进行比较。结果表明,所提出的4D-CS在mIoU方面达到了最先进的性能。与基线[14]相比,我们在大型前景对象上取得了显著改进,卡车提高了22.5%,其他车辆提高了17.0%,动态卡车提高了26.2%,移动的其他车辆提高了14.7%。在表II中,我们的方法在大多数前景对象上也实现了IoU的提升,特别是对于大型对象,如卡车和公共汽车。这表明显式的聚类先验可以帮助网络关注对象的完整空间信息,而不是依赖于其他算法从有限感受野获得的局部特征,从而获得更好的前景对象分割结果。此外,我们在SemanticKITTI的MOS基准测试集上的表现也进行了比较。我们的方法在测试集上超越了最先进的工作MF-MOS[24],IoUM提高了6.8%。这验证了在点和实例级别传输历史特征不仅可以提高分割的完整性,还可以增强模型识别对象运动状态的能力。

定性比较:语义定性结果如图6所示。它显示了基线网络在大对象上的分割结果容易因缺乏实例感知能力而出现截断。相比之下,我们的方法在引入聚类信息后可以实现一致的分割结果。此外,对于图7中显示的移动对象定性结果,基线模型仍然难以完全分割移动对象,而我们的方法成功实现了这一点。总体而言,我们的方法在准确一致地识别前景对象的类别和运动状态方面具有更强的能力。

E. 消融研究

在本节中,我们在SemanticKITTI数据集的验证集上进行了全面的消融实验。


F. 运行时间和内存

在本节中,我们使用NVIDIA RTX 4090 GPU来测量SemanticKITTI数据集上多扫描语义分割的推理时间。使用三帧点云,我们的基线方法(WaffleIron)需要117毫秒,并占用8.2 GB的内存。相比之下,我们提出的算法需要151毫秒的网络处理时间和5毫秒的聚类标签生成时间,使用9.9 GB的内存。

结论

文章的主要贡献如下:

● 一个使用显式聚类信息来解决同一前景物体内点类别不一致的双分支分割网络。

● 一种获取聚类标签的新策略,伴随着三个模块:多视图时间融合、时间聚类增强和自适应预测融合,旨在通过利用实例信息和整合时间特征来改进分割。

● 在SemanticKITTI和nuScenes数据集的多扫描语义和移动物体分割上取得了最先进的性能。我们的代码将很快发布。

文章名字:4D-CS: Exploiting Cluster Prior for 4D
Spatio-Temporal LiDAR Semantic Segmentation

 


最后别忘了,帮忙点“在看”。  

您的点赞,在看,是我创作的动力。


AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术。


长按扫描下面二维码,加入知识星球。




Ai fighting
全网第一且唯一分享自动驾驶实战,以代码、项目的形式讲解自动驾驶感知方向的关键技术,从算法训练到模型部署。主要致力于3D目标检测,3D目标追踪,多传感器融合,Transform,BEV,OCC,模型量化,模型部署等方向的实战。
 最新文章