APP下载

基于三维锥形栅格的激光点云语义分割方法*

2022-09-05黄润辉胡立坤苏鸣方徐大也陈奥然

汽车工程 2022年8期
关键词:锥形栅格卷积

黄润辉,胡立坤,苏鸣方,徐大也,陈奥然

(1. 广西大学电气工程学院,南宁 530004;2. 广西大学先进测控与智能电力研究中心,南宁 530004)

前言

激光雷达作为自动驾驶汽车或自主移动机器人不可或缺的视觉传感器,它相比传统相机能准确地测量大范围环境的表面三维坐标信息及其对应属性信息(如反射强度等),具有全天候运行、光照变化不敏感、高分辨率等优势,广泛应用于自动驾驶系统的环境感知、定位和路径规划等任务。其中,激光点云语义分割是道路环境感知与理解的重要组成部分之一。

随着激光传感器成本不断降低,点云数据的获得变得更加容易,相继涌出一些公开大规模激光点云数据集,推动了激光点云的语义分割方法研究。由于室外场景下的激光点云具有数据点多且无序、密度不均匀、场景范围大且复杂多变等特点,传统手工启发式特征提取方法已无法准确与高效地识别,因而需要以数据驱动方式自主学习激光点云特征的提取与识别。随着深度学习在图像的目标检测、分割等感知任务上逐步成熟,研究者们将目光转向3D点云感知任务上,相继提出一系列激光点云的语义分割方法。

早期,鉴于深度学习方法在二维图像语义分割的有效性,学者们将三维激光点云投影成鸟瞰图或前视图等二维图像,并利用成熟的图像分割方法进行处理,再利用重投影方式获得点云的预测标签。Wu等从激光雷达的成像原理出发,采用球面投影方式将三维激光点云转化成二维图像表示,并利用轻量级网络SqueezeNet 进行分割处理。Wu 等在SqueezeSeg基础上提出上下文聚合模块解决前视图存在缺失点的问题。Xu 等进一步提出空间自适应卷积模块对输入不同位置的投影图自适应选择不同卷积核,从而解决激光点云的特征投影到图像位置对分割结果的干扰。Milioto 等借鉴Redmon等的DarkNet主干网络处理前视图,并提出了一种高效KNN 聚类的后处理方式优化标签。Zhang 等将点云投影到极坐标下的鸟瞰图,平衡了点云在栅格内分布。然而,将三维点云投影到图像的方法不可避免地造成某一维度的信息丢失和三维拓扑结构改变,无法充分学习相邻点之间上下文信息。

为了使点云规则化表述同时保留三维拓扑结构,学者们将激光点云体素化为笛卡尔栅格,并采用三维卷积处理。Maturana等作为该类方法的开山之作,证明了3D卷积模型在体素分支的有效性。由于点云的稀疏性造成卷积过程中存在大量无效计算,三维稀疏卷积Spconv3D(3D Sparseconv)的提出有效地解决此问题,它只计算含数据点的栅格单元,使得网络模型输入三维栅格可选择更高分辨率。Choy 等提出了基于时空三维点云的四维稀疏卷积网络,并介绍基于稀疏张量的自动微分开源库。Zhu 等利用柱面坐标表示原始点云的三维栅格空间,并采用非对称残差模块,缓解了激光点云在水平方向上密度不一致的问题。Cheng 等提出了不同感受野分支的注意力特征融合和自适应特征选择模块学习局部和全局的上下文信息。尽管上述方法在点云分割上取得不错的成绩,但面向室外场景下激光点云分割能力仍然有限,其主要问题在于主流的笛卡尔栅格方法忽略了室外激光点云密度不均匀的特点,即激光雷达近距离的点云相对密集,而远距离十分稀疏。

为了保留点云的原始信息,Qi 等首次提出基于原始点云的深度学习网络采用多层感知机(MLP)学习每个数据点的内在关系和最大池化聚合点云全局特征信息,解决点云的无序性。Qi 等采用最远点采样方法对输入点云进行降采样处理,再利用KNN 寻找邻近点,最后利用文献[15]中的方法对每个局部区域提取特征信息。Thomas 等根据欧几里德距离确定邻近点的空间权重,提出了一种可变形卷积算子的核点卷积。为了解决大规模点云采样的问题,Hu等采用随机点采样方法代替了最远点采样,在内存和计算量上得到了显著下降,并通过局部特征聚合模块来弥补随机点采样造成的信息丢失。虽然这些方法在点云分割上取得一定成绩,但通常适用于密度均匀、数据点少、场景范围小的室内场景点云,难以直接拓展到室外场景点云,主要局限在于点云的采样、邻域搜索、模型感受野等问题。

综上所述,采用何种点云表述方式直接影响后续点云分割的准确率和计算效率。因此,本文中提出一种基于三维锥形栅格的激光点云语义分割方法。结合激光雷达成像特点,采用稀疏锥形栅格划分方法解决室外激光点云稀疏性和密度不一致性;并利用重参数化的三维稀疏卷积网络RepSpconv3D(re-parameterizes Spconv3D),在模型推理阶段减少模型参数和推理时间。

1 基于锥形栅格的点云表述方式

1.1 激光点云数据分析

作为主动式传感器,激光雷达由发射器快速旋转同时发射多股不同入射角度激光光束,并利用接收器接收反射光束,从而得到360°环视物体的位置和反射强度等表面信息,如图1 所示。可以看出,尽管激光点云是由三维场景中分散点组成,但激光点云在本质上由自上而下多条扫描光束组成,形成的点云在每条扫描光束形成圆锥面内。当激光雷达扫描平面道路时,点云呈现类似圆环;当激光雷达扫描平面墙体时,点云呈现多条类似双曲线轮廓图。

图1 激光雷达生成的点云

基于笛卡尔栅格的点云表述方法是对点云的坐标进行空间划分,使点云结构化表述的同时保留了三维拓扑结构,折衷了点云处理的计算性能与精度。然而,由图1 采集激光点云可知,数据点集中靠近于激光雷达传感器,而远离的点云相对稀疏,这使得数据点集中在坐标系原点附近栅格,而远离原点的栅格几乎没有数据点。这不仅造成了计算能力的浪费,而且无法充分学习原点附近栅格单元内的特征。此外,栅格单元内可能含有不同类别标签的数据点,这使得栅格内的预测结果忽略了少类别的点云结果而偏向相同类别最多,抑制了对少类别物体的识别能力。

文献[13]中采用柱形栅格划分的方法处理激光点云,有效地平衡了水平方向上激光点云在栅格内分布,缓解了激光点云密度不一致的问题。然而,采用柱形栅格划分方法只解决激光点云水平方向的密度问题,对其垂直方向密度问题仍然存在。本文的锥形栅格划分方法是结合激光雷达扫描原理进行点云处理,从而弥补上述的缺陷。

1.2 锥形栅格划分方法

激光雷达通常采用前视图作为输入点云的原始数据。所提的锥形栅格划分方法是在前视图的基础上增加一个相对传感器的水平距离维度,从而保留三维栅格表述的几何结构。具体地说,给定一帧激光点云中数据点的笛卡尔坐标(),则数据点转换为锥形栅格单元坐标可表示为

式中:表示相对坐标系原点的水平距离;和分别表示激光雷达的方位角和倾斜角;~、~ 和~ 表示锥形栅格单元的坐标位置;∆、∆和∆表示锥形栅格的各维度设定步长;■■· 为向下取整函数。

图2 激光点云水平距离范围内非空栅格的占比

2 网络模块设计

2.1 网络模型概述

为使网络模型充分学习点云的三维几何信息,同时处理室外激光点云的固有特性(即稀疏性和密度不一致),本文中提出了基于三维表述方式和三维稀疏卷积网络的室外激光点云分割方法,整体网络模型如图3 所示。利用稀疏锥形栅格对激光点云进行划分,使生成的栅格内点云分布更加均匀,从而解决点云稀疏性和密度不一致性;再采用重参数化的三维稀疏卷积网络充分学习点云几何特性,同时在模型推理阶段提升内存使用率和计算效率。

图3 整体网络模型

具体地说,整体网络模型由锥形栅格分区和重参数化的三维稀疏卷积网络(RepSpconv3D)这两大主要部分组成。首先,对激光点云进行锥形栅格分区,通过密集连接感知机(MLP)学习逐点特征,并利用最大池化聚集栅格单元内逐点特征,从而获得稀疏锥形栅格的特征。然后,以编码-解码的网络结构作为语义分割的骨干框架,通过RepSpconv3D 模块提取局部栅格内的特征,通过步长为2 的卷积层进行下采样,进一步通过步长为2 的反卷积层进行上采样。其中,每个网络基本层由3 个RepSpconv3D模块组成。最后,根据点与栅格之间索引关系,将锥形栅格的预测结果重映射到原始点云,获得最终的激光点云语义分割结果。

2.2 锥形栅格分区网络

图4 锥形栅格分区网络

(1)建立点云与稀疏锥形栅格之间的联系。根据式(1)~式(3),对数据点的笛卡尔坐标P转换为锥形栅格单元的位置坐标C∈C|k=1},再利用哈希函数计算每个栅格单元对应的哈希值:

式中:(·)表示哈希函数;H表示第个锥形栅格单元对应的位置哈希值,从而构建数据点到锥形栅格单元的哈希映射关系,同时可实现高效的键值对搜索。

(2)建立逐点特征学习网络。为了解决数据点在栅格单元内相对空间位置不一致,将数据点及所在栅格单元中心的笛卡尔坐标、锥形栅格坐标、两者间的欧氏距离与点对应激光雷达的反射强度融合在一起;通过多层密集连接式MLP 获得逐点的最终几何特征,使得逐点特征与所在栅格单元中心具有一定的关联性。逐点的几何特征可表示为

· 表示欧式距离;⊕表示特征拼接操作;(·)为密集连接式MLP 函数,每个MLP 模块内均含有批归一化BN(batch normalization)和Relu 激活函数分别进行数据归一化和激活。

(3)建立稀疏锥形栅格池化网络。为了解决不同锥形栅格单元内数据点的数量不一致性问题,根据锥形栅格的位置哈希值,利用最大池化将锥形栅格单元内的逐点特征进行聚合,从而得到稀疏锥形栅格特征,可表示为

式中max(·,·)表示锥形栅格单元内数据点每个特征通道的最大值函数。

2.3 基于三维稀疏卷积的结构重参数化网络

为了防止模型梯度消失和爆炸问题,通常采用多分支残差结构和BN层加以解决,但这使得模型的计算量和内存消耗大大增加。最近,Ding等在2D图像任务中采用多分支残差结构方式训练模型,而在模型推理阶段利用结构重参数化将多分支网络结构转化为单分支,类似VGG 网络结构,保持模型预测精度不变同时提高其推理效率。受其启发,将基于二维密集卷积的结构重参数化方法拓展到三维稀疏卷积处理3D 点云感知任务,进一步提高其计算效率。本文的RepSpconv3D 模块在模型训练时由3×3×3稀疏卷积、1×1×1稀疏卷积和Identity层3分支组成,且每一分支都使用BN 层,类似于ResNet 的残差结构。在模型推理阶段,利用重参数化技术将多分支网络结构转化为单分支3×3×3稀疏卷积。结构重参数化在本质上是一种数学等价变换,从而减少模型的计算参数和推理速度,具体工作流程如图5 所示。结构重参数化主体包括稀疏卷积层与BN 层融合(见图5(a))、多分支稀疏卷积层融合(见图5(b))两部分。其中,为了便于网络参数转换过程的表述,采用二维结构表示三维稀疏卷积核参数。

图5 RepSpconv3D网络的重参数转化流程

2.3.1 稀疏卷积层与BN层融合

稀疏卷积层与BN层融合是将BN层的计算参数直接合并到稀疏卷积层,从而减少计算量,提高运算效率。稀疏卷积计算本质上跟密集卷积一样,区别在于其只对于非空白栅格进行卷积计算而对于空白栅格不做任何操作。则稀疏卷积计算公式可表示为

式中:3(·)表示稀疏卷积的计算函数;表示稀疏卷积模块的输入;和分别表示稀疏卷积核的权重和偏置。

而BN层计算公式可表示为

式中:和分别表示尺寸因子和偏置参数;和分别表示样本的均值和标准差;为固定的极小值(防止除数为0)。

值得注意的是,在模型训练阶段采用稀疏卷积核不带偏置参数(即参数为0)令(3(,,),,,,,),则稀疏卷积层与BN层融合的计算公式表示为

通过式(9)变换,得

则稀疏卷积层与BN 层融合的计算公式最终可简化为

由于在模型推理阶段稀疏卷积核与BN 层的参数均为固定值,则公式与标准稀疏卷积在模型推理阶段计算过程一致,从而省去了BN层的计算,提高了模型推理速度。

对于投资方向比较多元化的投资者,恐怕都比较担心在贸易冲突持续升级、贸易战威胁下,资产配置的变动对于居民正常生活的影响及应该如何应对资产配置的问题。目前的这种情况,对资本市场来说,更多是影响心理层面、市场情绪与风格偏好。投资股市与基金的投资者,要避免一些前期涨幅较大、估值较高、出口结构不太有利的行业或公司,并且寻找一些内需方面、影响程度相对较小的行业,好好把握买入与卖出的机会。而黄金作为标准的避险资产,资金量非常大的投资者可以考虑配置一定比例的黄金资产。资金量不多的投资者,购买黄金以及相关产品的意义不大,可以考虑与贸易战相关性较低的投资,比如说消费金融类投资,注意回避农业相关投资。

2.3.2 多分支稀疏卷积层融合

当输入输出通道数相同且各分支稀疏卷积的步长相同时,可通过稀疏卷积层与BN层融合分别得到3×3×3 稀疏卷积、1×1×1 稀疏卷积和Identity 层3 分支。对于1×1×1 稀疏卷积的权重参数,通过填充0方式将其转为3×3×3 稀疏卷积形式,而Identity 层可以看作为单位矩阵的1×1×1稀疏卷积权重参数进行处理。根据卷积核参数的可加性,通过对转换后各分支3×3×3 稀疏卷积的权重和偏置参数相加,最终获得单分支的标准3×3×3稀疏卷积参数。

2.4 网络的损失函数

本文的模型损失函数由位置几何各向异性(geo-aware anisotrophic)损失函数、平均Top-K 损失函数和Lovász 损失函数3 部分组成。其中,位置几何各向异性损失函数能有助于恢复激光点云场景中物体边缘与稀疏点的细节信息。平均Top-K损失函数通过选择性在网络优化过程中倾向于复杂样本,从而缓解数据集样本不平衡的问题。此外,Lovász 损失函数是以评价指标交叉比mIoU(mean intersection over union)为优化目标,进一步提高语义分割结果。

位置几何各向异性损失函数可表示为

式中:和分别表示真实标签和预测标签;表示锥形栅格的单元个数;表示数据集的类别数量。其中,局部几何各向异性因子定义为

式中和q分别表示局部几何各向异性的滑动窗口的中心栅格类别和局部相邻栅格类别。根据实验经验选取滑动窗口为中心栅格单元相邻5 个单位距离的栅格范围。

Top-K损失函数可表示为

式中(·)表示函数集合内第大值。根据实验经验,设置为锥形栅格单元数量的10%。

式中:(·,·)表示Lovász损失函数;、和分别为各损失函数的权重值,在实验中分别设置为0.5、1.5和4。

3 实验与结果分析

3.1 数据集与评价指标

实验阶段采用SemanticKITTI 和nuScenes 两个室外道路场景的激光点云数据集对所提方法进行评估。

3.1.1 SemanticKITTI数据集介绍

SemanticKITTI数据集是在经典自动驾驶数据集KITTI 的基础上,对激光点云数据精细化语义标注。该数据集采用倾斜角-24.8°~2°的64 线激光雷达Velodyne-HDLE64对德国卡尔斯鲁厄的道路场景收集了22 个点云序列共43 551 帧激光点云数据,且每帧点云大约含13 万点。其中,将00-10 序列共23 201帧激光点云作为训练集(08序列共4 071帧激光点云作为验证集),而11-21 序列共20 351 帧激光点云作为测试集。该数据集提供了高达28 类标签,但在官方单次扫描评估中只采用19类高频标签。

3.1.2 nuScenes数据集介绍

nuScenes 数据集是用于自动驾驶的三维目标检测、跟踪、分割等感知任务的多模态数据集。该数据集采用倾斜角-30°~10°的32 线激光雷达Velodyne-HDL32E 对波士顿和新加坡的不同地区收集了1 000个场景的点云数据,且每个场景采集时间超过20 s。其中,28 130帧点云用于训练,6 019帧点云用于验证,6 008 帧点云用于测试,且每帧点云大约含3.4 万点。该数据集提供了高达34 类标签,与SemanticKITTI 数据集类似,只有16类高频标签用于官方评估。与SemanticKITTI 相比,nuScenes 采用传感器的光束数较少且水平角分辨率较低,导致点云更加稀疏,这增加了语义分割的难度。

3.1.3 实验参数配置

实验基于Python3.7 编译器,采用Pytorch 1.7、Spconv 1.2、CUDA11.1等开源库,在硬件配置为2张Nvidia RTX 3090显卡的计算机上运行。

在SemanticKITTI 数据集中,使用尺寸为500×720×64 的锥形栅格对水平半径50 m 且倾斜角-24.8°~2°的激光点云区域范围进行分区。而在nuScenes 数据集中,使用尺寸为500×720×32 的锥形栅格对水平半径50 m 且倾斜角-30°~10°的激光点云区域范围进行分区。整体网络模型设置初始学习率为0.005,batch_size 为6,训练轮次epoch 为30,采用SGD 优化器训练网络模型,每个epoch 的学习率衰减10%。

3.1.4 评价指标

为了验证所提方法的有效性,本文遵循SemanticKITTI 和nuScenes 数据集官方提供的评价指标交叉比mIoU,其表述为

式 中:TPFPFN分 别 表 示 第类 别 的 真 阳 性(True Positive)、假阳 性(False Positive)、假阴性(False Negative);为数据集的标签类别数量。

3.2 SemanticKITTI数据集的结果分析

在实验中,对比了本文所提的方法与目前主流的激光点云语义分割方法在SemanticKITTI 测试集上的评估结果,如表1 所示。所提方法取得71.0%mIoU,相比目前最先进的基于笛卡尔栅格的方法(AF)2-S3Net 高1.3%mIoU 和基于柱形栅格的方法Cylinder3D高3.2%mIoU。尤其,在自行车、杆、交通标志等少类别物体能更为准确地识别。在SemanticKITTI 验证集上,通过实验从可视化角度分析本文的方法、MinkNet42、Cylinder3D 的错误识别分布情况,结果如图6 所示。其中,红色点表示各方法的错误识别数据点,而灰色点表示各方法准确地识别。可以看出,所提方法能具有更低的错误识别率,在货车、自行车等少类别物体能正确地识别,适用于复杂场景下运行。

图6 SemanticKITTI验证集的可视化分析

表1 SemanticKITTI测试集的预测结果

表2显示所提方法与目前主流的激光点云语义分割方法在SemanticKITTI 验证集上性能评估结果,其中,推理时间是每帧激光点云在单张Nvidia RTX 3090 显卡上处理的时间。可以看出,所提方法通过结构重参数化技术转换模型,相比于未转换模型具有相同分割精度,但在模型参数、内存消耗、推理时间方面均有显著地下降;相比于基于柱形栅格的方法Cylinder3D 在分割精度上提高了3.4% mIoU,推理速度提高1.8 倍。这得益于结构重参数化引入使得网络整体的计算操作和内存操作得以降低。

表2 SemanticKITTI验证集的性能评估结果

此外,进一步在SemanticKITTI 验证集上实验分析了本文算法、MinkNet42 和Cylinder3D 3 种方法对激光点云与传感器在不同距离下语义分割的mIoU结果,如图7 所示。激光点云的密度随着水平距离增加逐渐下降,所有方法的分割效果随之变差。所提方法在激光点云全范围内的预测结果都优于MinkNet42 和Cylinder3D,尤其在近距离情况下表现更加优越。这得益于本文所提锥形方法在近距离的点云划分栅格更加细化,使得网络能充分学习点云的几何信息。

图7 激光点云在不同水平距离的预测结果

3.3 nuScenes数据集的结果分析

在实验中,对比了所提方法与目前主流的激光点云语义分割方法在nuScenes 测试集上评估结果,如表3 所示。所提的方法优于目前主流的方法(包括PolarNet、Cylinder3D、JS3C-Net、AMVNet)。具体地说,相比于目前基于笛卡尔栅格的方法JS3C-Net和柱形的方法Cylinder3D,所提的方法分别提高了4.6%和1.0% mIoU;相比于基于二维投影的方法,则提高了0.8%~8.8% mIoU。此外,本文的方法比其他方法能更好地识别自行车、路障、行人等少类别稀疏点云,这也证明了所提出的方法在更加稀疏的激光点云数据上仍然有效。

表3 nuScenes测试集的预测结果

3.4 消融实验

为了验证所提方法对不同网络模块的有效性,在SemanticKITTI 验证集上进行一系列消融实验。此外,还分析基于三维稀疏卷积的结构重参数化网络不同分支组合对语义分割结果的影响。

3.4.1 不同网络模块消融结果分析

通过实验验证所提方法对不同网络模块的有效性,结果如表4 所示。其中,采用基于笛卡尔栅格和三维卷积网络作为基准网络。可以看出,锥形栅格分区比基于笛卡尔栅格的基准网络提升了2.4%mIoU,基于三维稀疏卷积的结构重参数化网络进一步提升了2.8% mIoU,这表明锥形栅格和基于三维稀疏卷积的结构重参数化网络在所提方法的有效性。此外,平均Top-K 损失函数通过网络优化倾向于识别复杂样本,有效地提升了2.1%mIoU,再通过添加Geo-aware 损失函数细化物体边缘与稀疏点的细节信息,进一步提升了2.6%mIoU,从而获得本文的整体网络模型。

表4 不同网络模块消融结果

3.4.2 重参数化网络的有效性分析

通过实验进一步验证重参数化网络各分支的重要性,结果如表5 所示。在所提模型的基础上,通过基于三维稀疏卷积的结构重参数化网络移除Identity 分支或稀疏卷积分支不同组合进行消融实验分析。其中,推理时间是模型训练阶段(未使用网络重参数化转换)在单张Nvidia RTX 3090 显卡(batch_size=3)上平均每帧激光点云处理的时间。可以看出,采用单一分支3×3×3 稀疏卷积层仅得到68.4%。相对于单一分支网络,仅增加Identity 分支提升了0.1% mIoU,仅增加1×1×1 稀疏卷积分支提升了0.7% mIoU,而同时增加Identity 分支和1×1×1稀疏卷积分支(即所提模型)能够提升2.1% mIoU,最终达到70.5% mIoU。从模型训练阶段的推理速度可以看出,通过结构重参数化去除Identity 和稀疏卷积分支会带来推理速度显著地提升。

表5 重参数化网络不同分支组合消融结果

4 结论

本文提出一种基于三维锥形栅格和稀疏卷积的激光点云语义分割方法。结合激光雷达点云扫描方式,提出了一种基于锥形栅格的点云分区解决激光点云的稀疏性和密度不一致性,并保留点云的三维几何拓扑结构;进一步提出了基于三维稀疏卷积的结构重参数化网络提升模型推理速度。在SemanticKITTI 和nuScenes 两个大规模室外激光点云数据集上,通过实验结果表明所提方法均优于目前主流的几种点云分割方法,证明了锥形栅格在激光点云处理中的有效性。

此外,本文所提的方法不只局限于激光点云语义分割,未来可进一步拓展到激光点云的实例分割和目标检测等感知任务。

猜你喜欢

锥形栅格卷积
基于全卷积神经网络的猪背膘厚快速准确测定
锥形弹性挡圈应用
基于图像处理与卷积神经网络的零件识别
The true courage真正的勇气
基于深度卷积网络与空洞卷积融合的人群计数
5G NR频率配置方法
反恐防暴机器人运动控制系统设计
卷积神经网络概述
从朝鲜弹道导弹改进看栅格翼技术
叩拜顶级胸衣始祖