您现在的位置是:首页 >其他 >论文阅读:CPGNet: Cascade Point-Grid Fusion Network for Real-Time LiDARSemantic Segmentation网站首页其他

论文阅读:CPGNet: Cascade Point-Grid Fusion Network for Real-Time LiDARSemantic Segmentation

shiyueyueya 2023-06-03 08:00:03
简介论文阅读:CPGNet: Cascade Point-Grid Fusion Network for Real-Time LiDARSemantic Segmentation

基于级联点网格融合网络的实时LiDAR语义分割

0 摘要

        对于高级自动驾驶至关重要的LiDAR语义分割需要在移动的平台上准确,快速和易于部署。以前的基于点或基于稀疏体素的方法是远离实时应用,因为耗时的邻居搜索或稀疏3D卷积。最近的基于二维投影的方法,包括距离视图和多视图融合,可以实时运行,但精度较低,由于在二维投影过程中的信息丢失。此外,为了提高性能,以前的方法通常采用测试时间增加(TTA),这进一步减慢了推理过程。为了实现更好的速度-精度权衡,我们提出了级联点网格融合网络(CPGNet),它主要通过以下两种技术来确保有效性和效率:1)新的点-网格(Point-Grid PG)融合块主要在2D投影网格上提取语义特征以提高效率,而在3D点上同时提取2D和3D特征以减少信息损失;2)所提出的变换一致性损失缩小了单次模型推理与TTA之间差距。在SemanticKITTI和nuScenes基准测试上的实验表明,没有集成模型或TTA的CPGNet与最先进的RPVNet相当,而它的运行速度要快4.7倍。

1、引言

        光探测和测距(激光雷达)传感器广泛应用于自动驾驶和机器人。他们捕获的3 d点云数据提供丰富信息周围的场景。这些3 d激光雷达语义分割分配语义标签点云,如汽车,行人,骑自行车的,道路,建筑,因此直接事关传动精度和安全性。在过去的几年里,各种深度学习模型提出了处理激光雷达三维点云,但是这些方法不能同时保证精度和速度,特别是在移动平台(如汽车和机器人)。

        现有的基于激光雷达三维点云的方法可以分为三类:基于点的方法、基于稀疏体素的方法和基于二维投影的方法。

        基于点的方法包括PointNet [1],PointNet++ [2],PointCNN [3],RandLA-Net [4]等。它们直接应用于原始无序3D点云,没有任何信息损失。然而,这些方法通常采用耗时的操作,即最远点采样(FPS)的均匀下采样,和k-最近邻(kNN)或球查询的局部邻居搜索。

        由于LiDAR 3D点非常稀疏,基于稀疏体素的方法将3D点量化为体素,然后仅对这些稀疏体素应用3D卷积操作。虽然这些方法由于量化而不可避免地有信息损失,但它们达到了最先进的性能。然而,这些方法在计算上是昂贵的,并且不能实时运行。

        基于2D投影的方法在由3D点云投影的2D网格特征图上应用成熟的2D CNN。受全卷积网络(FCN)[5]及其变体[6],[7],[8],[9],[10]的启发,这些基于2D投影的方法,通常考虑鸟瞰图[11]或范围视图[12],可以很容易地设计和部署在一些有效的深度学习推理框架上(例如TensorRT [13])。每次LiDAR扫描几乎可以达到15 ms。然而,这些方法由于严重的二维投影信息丢失而具有较低的精度。它们仍然表现得更差,即使下面的RangeNet++ [14]尝试使用kNN作为后处理,而MPF [15]结合了鸟瞰图和范围视图。

        为此,我们提出了CPGNet实时准确的激光雷达的语义分割。CPGNet提出的PG融合块首先投影和提取语义特征的二维网格上鸟瞰和范围的观点,然后传输和融合这些特征在3d点。可以看到,PG融合块结合了基于点的方法的优点(完整的信息)2d projection-based方法速度快。CPGNet PG融合块反复适用于进一步加强点特性。此外,灵感来自测试时间增加(TTA)之间的转换损失,提出了确保一致性协议的结果原始和增强点云。最后,我们比较CPGNet和开源方法,如图1所示,和CPGNet达到最佳mIoU(65.9)在SemanticKITTI[16]验证集,当它运行PyTorch FP32 NVIDIA RTX 2080 ti GPU上时间是43ms。贡献可以列出如下:

  • ·我们提出了一个准确,快速,易于部署的CPGNet用于LiDAR语义分割。它融合了点,鸟瞰图和范围视图功能的级联框架。
  • 我们提出了受测试时间增强(TTA)启发的转换一致性损失,并仅通过单次推理实现更高的性能。
  • 所提出的CPGNet在SemanticKITTI和nuScenes基准上实现了最佳的速度-准确性权衡。

2 相关工作

        与具有密集网格结构的2D图像不同,点云是无序的、稀疏的和非结构化的,这使得难以应用深度学习操作(例如卷积)。以前的方法试图以三种方式解决这个问题。

A:基于点的方法

        基于点的方法直接作用于原始点。PointNet[1]应用共享多层感知器(MLP)在每个点和最大池在整个点获得点特性进行进一步的分割任务。然而,PointNet执行更复杂的场景为当地缺乏上下文提取。以下工作[2],[3]提出球查询和χ-Conv模拟二维卷积,在室内场景,实现伟大的结果。然而,他们不能应用于激光雷达点云计算和内存成本。加快网络推理,RandLA-Net[4]聚合采用随机抽样和地方特性,但它遭受由于随机抽样精度较低。KPConv[17]提出了一种新颖的空间基于卷积来提取局部结构,和KPRNet[18]结合KPConv和ResNext[19]来实现最好的结果对点的方法。尽管积分方法直接应用于原始点而不删除信息,较少研究的自主驾驶由于其低效率的局部结构提取。

B.稀疏体素方法

        构造稀疏体素,便于卷积运算。SPVNAS [21]在[20]中引入了神经架构搜索(NAS),并以较低的计算成本获得了更好的结果。最近,提出了基于稀疏体素的方法的变体[22]、[23]、[24]。Cylinder3D [22]在圆柱坐标系中量化3D点,并证明了其效率。AF2S3Net [23]提出了注意特征融合模块(AF2M)和自适应特征选择模块(AFSM),以同时有效地提取局部和全局结构。RPVNet [24]在单个框架中融合了范围视图,点和稀疏体素特征,以减轻量化误差,并在SemanticKITTI和nuScenes基准测试中获得了最佳结果。虽然这些方法在LiDAR语义分割基准中占主导地位,但它们在部署方面存在困难,并且无法在移动的平台上实时运行。

C.基于2D投影的方法

        最近2 d projection-based方法吸引更多的注意,因为它们是快速和easy-deployed。这些方法利用2 d FCN投射三维点到2 d网格和范围主要包括视图和多视点融合。查看项目范围3 d点到2 d球面网格和有许多变种。RangeNet + +[14]提出了一种加速资讯后处理,这是一个不可或缺的模块在以下基于范围的方法。SqueezeSegV3[25]证明了空间自适应卷积的优越性。SalsaNext[26]设计一种新颖的基于SalsaNet encoder-decoder网络[27],并采用值列表´asz-Softmax损失[28]可以直接优化意味着十字路口在联盟(mIoU)指标。最近,Lite-HDSeg[29]提出了谐波密集的隆起和基于范围的方法达到最好的结果。由于单一视图或2 d网格已经不可避免的二维投影信息损失,以下多视点融合项目3 d分两个或两个以上的不同类型的2 d网格。强积金[15]和AMVNet[30]结合鸟瞰图和范围的观点。从该方法不同,他们的行为语义分割独立在每个视图和熔断器的分割结果的两个视图late-fusion模块。

3 提出的方法PROPOSED METHOD

        为了准确快速地进行LiDAR语义分割,不仅需要高效地提取语义特征,而且需要保持点云信息的完整性。因此,我们提出了CPGNet逐步提取点特征的点网格(PG)融合块。如图2所示,PG融合块由四个步骤组成:

1)点到网格(P2G)操作将输入点特征分别投影到鸟瞰视图和范围视图特征图上;

2)在2D特征图上应用2D FCN以有效地提取语义特征;

3)网格到点(G2P)操作将2D网格特征传输到3D点上;

4)点融合融合来自3D点、鸟瞰视图和范围视图分支的特征,以确保完整的点云信息。

可以看出,CPGNet结合了基于点和基于2D投影的方法的优点。除了P2 G和G2 P之外,CPGNet的组件可以直接部署在TensorRT上。P2 G和G2 P操作可以通过高效的CUDA代码来实现。CPGNet的每个PG融合块共享相同的网络架构,但不共享参数。详情见下文各小节。

 图2.点-网格(PG)融合块。该算法以最后一个PG融合块的点特征作为输入,分别经过点、鸟瞰图和距离视图分支。通过融合三个分支的特征得到输出点特征。

A. Point to Grid

点到网格(P2G)操作旨在将3D点特征转换为2D网格特征图。如图3a所示,其首先将第k个3D点p_{k} ^{3D}=left ( x_k,y_k,z_k 
ight )投影到2D网格上以获取对应的2D坐标p_{k} ^{2D}=left ( u_k,v_k
ight )。集合R_{h,w}包含落在相同2D网格(h,w)中的点的索引,即Rh,w = {k|uk然后,通过最大池化来聚集R_{h,w}中的点的特征F3 D k,以形成对应的2D网格特征G2 D h,w。公式如下:

可能有多个点落入2D网格中。为了避免并行冲突,在处理同一二维网格时,利用CUDA的atomicMax函数。

 

        在所提出的方法中使用鸟瞰图和范围视图。鸟瞰图省略z维,范围视图丢弃r维。因此,这两个视图是互补的,以减轻2D投影信息损失。实际上,这两个视图使用类似的P2G操作。它们只是在2D投影的方式上有所不同。对于鸟瞰图,它将3D点投影到x-y平面上,该x-y平面使用具有预定义宽度Wbev和高度Hbev的矩形2D网格(xmin,ymin,xmax,ymax)离散化,如以下等式中所总结的,

 对于范围视图,通过应用以下等式将3D点从3D笛卡尔空间p_{k} ^{3D}=left ( x_k,y_k,z_k 
ight )映射到球面空间psph k(rk,θk,φk):

 rk,θkφk表示距离,分别天顶和方位角。随后,Wrv范围与预定义的视图网格宽度和高度Hrv是通过离散化θkφk但忽视rk,

(实际上就是把三维点投影到平面和前视图)

 B. 2D FCN

        具有编码器和解码器架构的2D FCN分别应用于鸟瞰视图和范围视图特征图以提取语义特征。它们占用了CPGNet 90%以上的计算成本。因此,编码器网络使用只有9层的ResNet [31]作为轻量级骨干网,最多有128个通道。为了在下采样期间保持信息,我们提出了使用2D卷积和2D MaxPool并行下采样的双下采样块,如图4a所示。在实验中,它证明了双下采样块以可忽略的延迟执行得更好。

        已有的解码器结构[10]、[26]通常采用特征金字塔融合来融合高、低层特征映射。高级特征映射包含更多的语义信息,而低级特征映射显示更多的细节。对于语义分割,一些部分(如道路、建筑物)需要高级语义特征,而一些部分(如行人、目标边界)需要详细特征。代替使用简单的特征图拼接,我们提出注意力特征金字塔融合来自动选择来自不同级别的特征,如图4b所示。

C. Grid to Point

与点到网格(P2G)操作相反,网格到点(G2P)根据对应的2D坐标p2D k =(uk,vk)将特征从2D网格转移到3D点。如图3b所示,它在四个相邻网格内应用双线性插值。公式如下:

 wi,j,k = (1 − |uk − (uk + i)|)(1 − |vk − (vk + j)|) 表示 双 线性 插值 。注意,2 d网格范围外的邻居网格被视为零。可以看到,每个点和每个特性通道独立计算,这是更适合CUDA并行计算。

D. Point Fusion

        点融合模块负责融合来自点、鸟瞰图和距离视图的特征。为了提高效率,它只采用特征级联和两个MLP层。与MPF [15]和AMVNet [30]不同,点融合不在后处理中进行,而是作为中间融合模块,这是所提出的端到端CPGNet的重要组成部分。端到端框架有两个优点:1)部署方便,后处理少;2)可以缩小培训和评估阶段之间差距。实验部分证明了其优越性。

        虽然在一个特定的视图中点的特征,超出2 d网格范围被视为所有零,但是可以从其他视图传递信息。例如,以至于超出了范围的鸟瞰图,但在范围的范围看来,从范围看有意义的特性。在实验中,我们分析了分布在两个观点,发现几乎所有的点落在至少一个视图的范围。

E. Loss Function

         通过将完全连接(FC)层应用于PG融合块的输出特征来获取分割预测。LiDAR语义分割数据集(例如SemanticKITTI、nuScenes)具有高度不平衡的类别。例如,道路、人行道和建筑物的比例是人和摩托车的数百倍。为此,我们采用加权交叉熵(WCE)损失手动强调罕见的类别。WCE损失可以用公式表示为

 其中,yc定义了真实值标签,yc是预测概率,Fc是频率,αc是第c个类别的权重。C是数据集的类别编号。在实验中,设定为0.001。我们还采用Lov 'aszSoftmax loss [28],其可以优化平均交集对并集(mIoU)度量作为第二损失项Lls。如[27],[29]所示,它确实改善了分割任务的mIoU度量。更多详情见[28]。

        以前的方法[21]、[22]采用测试时间增加(TTA)来提高性能,这需要多次模型推理。为了有效性和效率,我们提出了变换一致性损失Ltc,以减少原始点和增强点之间的差异。公式如下:

 分别代表着原始点和增强点的预测概率,总的损失函数是三部分的和

4 实验结果

我们在SemanticKITTI [16]和nuScenes [32]基准上评估了所提出的CPGNet的性能。

        SemanticKITTI它包含43,552个360 ° LiDAR扫描,来自在德国一个城市收集的22个序列。配备Velodyne HDL-64 E旋转激光雷达,垂直64束,每个激光雷达扫描大约有130 k个点。训练集(19,130次扫描)由00至10的序列(08除外)组成,序列08(4,071次扫描)用于验证。11 - 21的其余序列(20,351次扫描)仅提供LiDAR点云,用于在线排行榜。该数据集标记有28个类,但19个类的高级标签集用于单扫描LiDAR语义分割。

nuScenes这是一个新发布的LiDAR语义分割数据集,包含从波士顿和新加坡不同地区收集的1,000个场景。每个场景由Velodyne HDL-32 E旋转LiDAR收集20秒长,具有32个垂直光束。它将28,130个样本用于训练,6,019个用于验证,6,008个用于测试。它注释了32个类,在合并了一些类似的类并删除了罕见的类后,只有16个类用于官方评估。

 评估指标。我们采用最流行的度量,平均交集超过联盟(mIoU),以评估拟议的CPGNet及其竞争对手。它可以表示为

 其中TPc、FPc、FNc分别是第c类的真阳性、假阳性和假阴性。C是类的总数。

A. Experimental Setup

网络设置。如图2所示,CPGNet的每个PG融合块具有相似的网络架构,但具有不同的参数。在实验中,我们采用了两个级联PG融合块。这两个块的输入点特征通道的数量分别为9、64。第一块的输入9个通道是指x、y、z、强度、r、∆x、∆y、∆θ、∆φ,其中∆x、∆y、∆θ、∆φ表示与相应2D网格中心的偏移。每个块的第一个MLP层输出64个特征通道,随后的P2G操作将其转换为鸟瞰图和范围视图特征地图。两个视图利用具有三个下采样和三个上采样级的类似2D FCN网络,但是范围视图不沿着高度维度应用下采样。2D FCN中的每一级的特征通道分别为64、32、64、128、128、96、64、64。因此,点融合的输入是来自三个分支的64 × 3特征通道。这两个PG融合块的输出通道分别为64、96。

对于SemanticKITTI,鸟瞰图分支接受具有形状(Wbev = 600,Hbev = 600)和范围(xmin = -50,ymin = -50,xmax = 50,ymax = 50)的2D特征图。并且范围视图分支将输入形状设置为(Wrv = 2048,Hrv = 64)。除了Hrv = 32之外,nuScenes采用相同的配置。基于这些超参数,我们发现99.99%的点至少落在SemanticKITTI的一个视图中,如表I所示。

培训详情。所有实验均在NVIDIA RTX 2080Ti GPU上使用PyTorch FP32进行。建议的CPGNet从头开始训练30个epoch,批量大小为16。训练过程在8个GPU上大约需要15个小时。优化器利用随机梯度下降(SGD),初始学习率为0.02,每6个时期衰减0.1。其他方法使用官方代码进行训练。此外,我们在训练过程中应用数据增强,包括围绕z轴的随机旋转,从[0.95,1.05]采样的随机全局尺度,沿着x和y轴的随机翻转,以及随机高斯噪声N(0,0.02)。

B. Results

如表II所示,我们将所提出的CPGNet与SemanticKITTI测试集上的最新技术进行了比较。这些方法从上到下分为基于点的方法、基于2D投影的方法和基于稀疏体素的方法。我们发现CPGNet优于所有基于点和基于2D投影的方法,并且在除摩托车手之外的大多数类别中,它可以与排名第一的RPVNet [24]相媲美。该类别具有较少的训练样本,并且与骑自行车和摩托车的人混淆,这可以通过LiDAR和图像融合来解决。在卡车和交通标志类别上,CPGNet大大超过RPVNet。

        此外,CPGNet运行速度比顶级方法快得多,包括SPVCNN [21],Cylinder3D [22],DRINet [33]和RPVNet [24]。请注意,我们还在NVIDIA Tesla V100 GPU(标记为 *)上测试了CPGNet的速度,以便与RPVNet进行公平比较。

        我们报告nuScenes验证集的结果。如表3所示,CPGNet仍然优于基于2D投影的方法,并且可以与排名第一的RPVNet相比较。

C. Ablation Study

为了弄清楚所提出的组件的有效性,我们使用相同的实验设置对SemanticKITTI验证集进行消融研究。

首先,我们进行烧蚀分析测点网(PG)融合块。如表四所示,基线(第一行)是复制强积金[15],采用我们的2 d FCN架构和转换的一致性的损失。从后者行,我们可以发现:1)+ 0.9的点融合优于mIoU较强积金的后处理;2)时达到2.1收益mIoU引入点特征;3)CPGNet 2 PG融合块导致mIoU最大的改善,而singleblock版本。

随后,我们分析了其他组件的影响,包括2D FCN架构、转换一致性损失和TensorRT FP 16部署,如表V所示。对于2D FCN架构,双下采样模块(DDB)和注意力金字塔特征融合(APFN)分别将mIoU提高了0.3和0.7,证明了其有效性。在实验中,TTA对点云进行了三次扩增,即沿着x轴翻转,沿y轴翻转,以及沿两者翻转。可以看出,TTA提高了性能(+1.2mIoU),但需要模型推断四次。当我们在训练过程中添加转换一致性损失并在推理过程中删除TTA时,它的性能比TTA模型推理稍微好一点(+0.2 mIoU)。此外,CPGNet可以轻松部署在TensorRT FP 16推理模式下,每次扫描运行26.8 ms,性能下降可忽略不计(-0.1 mIoU)。

5. 结论

        在本文中,我们提出了准确,快速,易于部署的CPGNet激光雷达语义分割,其中点,鸟瞰图和范围视图功能融合在一个级联框架。与TTA算法相比,提出了变换一致性损失算法,在不降低算法性能的前提下保存了推理时间。此外,我们发现,三维点特征贝内保持完整的点云信息,而二维网格特征是适合于有效的语义特征提取。mIoU速度(ms)汽车自行车摩托车卡车其他车辆人骑自行车的人骑摩托车的人道路停车人行道其他地面建筑物围栏植被树干地形杆交通标志。

自己总结:

在基于点的方法上+基于平面投影的方法(前视+鸟瞰)

主要是比较快

存在疑问

APFN和TTA部分没有太看懂,欢迎探讨~

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。