前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SuperLine3D:基于自监督的激光雷达点云线分割与描述子计算方法

SuperLine3D:基于自监督的激光雷达点云线分割与描述子计算方法

作者头像
点云PCL博主
发布2022-09-13 18:19:37
8010
发布2022-09-13 18:19:37
举报
文章被收录于专栏:点云PCL点云PCL

文章:SuperLine3D: Self-supervised Line Segmentation and Description for LiDAR Point Cloud

作者:Xiangrui Zhao,sheng Yang , Tianxin Huang, Jun Chen, Teng Ma, Mingyang Li , and Yong Liu

编译:点云PCL

代码:https://github.com/zxrzju/SuperLine3D.git

欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。

摘要

电线杆和建筑物边缘是城市道路上经常可见的标志物,为各种计算机视觉任务提供可靠的提示,为了重复提取它们作为特征并在离散的激光雷达帧之间进行配准,我们提出了第一个基于学习的激光雷达点云中三维线的特征分割和描述子模型,为了训练我们的模型,而无需耗时和繁琐的数据标记过程,我们首先为目标线的基本外观生成合成基元,并构建迭代线自动标记过程,以逐步细化真实激光雷达扫描数据上的线段标签,我们的分割模型可以在任意尺度扰动下提取线段,并且使用共享的EdgeConv编码器层来联合训练分割和描述子。基于该模型可以在没有初始转换提示的情况下,为点云配准构建高效可用的全局配准模块,实验表明,提出的基于线的配准方法与最先进的基于点的方法相比具有高度竞争力。开源的代码在https://github.com/zxrzju/SuperLine3D.git .

主要贡献

本文提出了一种自监督学习方法,用于激光雷达扫描数据的线段分割和描述子提取(图1)。按照SuperPoint的训练过程,为了解决公共可用训练数据的不足的问题,我们选择先构建有限的合成数据,然后对实际扫描数据执行自动标记,来训练我们的线段提取模型。通过共享点云编码层,并使用两个单独的分支进行解码和应用程序,能够在生成的数据上联合训练两个任务。我们的工作的关键贡献在于,这种用于训练和使用用于扫描数据配准目的的线段特征的方案,其中包括:

(1)据我们所知,我们提出了第一个基于学习的激光雷达扫描数据线段分割和描述子计算,为全局配准提出了适用的特征类别我们提出了一种点云的线段标记方法,

(2)该方法可以将从合成数据中学习的模型迁移到真实的激光雷达扫描中进行自动标记。

(3)我们探索了点云特征的尺度不变性,并通过消除Sim(3)变换中的尺度因子,为改进基于学习的任务在尺度扰动下的泛化提供了一种可行的思路。

大量实验结果表明,我们的基于线的配准在大角度扰动下可以保持较高的成功率和准确性,并且在一个实际扫描数据集上训练的模型对其他城市场景数据集具有高度适应性。

图1.框架概述。a) :在合成数据上训练尺度不变分割,并在多次几何自适应迭代后获得精确的线段标签。b) :在标记的激光雷达扫描数据上同时训练分割和描述子,其中红色、紫色和绿色层分别代表编码器、分割和描述子

主要内容

A. 线分割模型

合成数据生成:如上文提到有两种可靠的线段可供检测:1)平面之间的交点,以及2)极点。因此,我们选择使用图2(a)所示的以下两个网格基元分别模拟它们的局部外观。这两个网格模型首先均匀地采样到4000个点,如图2(b),每个点增加5%的相对3自由度位置扰动。然后,为了模拟附近可能的背景点,我们随机裁剪了40个基本基元,每个基元包含来自真实扫描的1000个点,并将它们放在一起组成最终的合成数据,总共生成了5000个合成点云,每个点云有5000个点。

图2.合成数据生成步骤,通过采样原始网格模型并将实际扫描散射点增强为噪声来生成合成数据

尺度不变的直线分割:将线段的检测视为一个点云分割问题,主要挑战是原始缩放问题:在真实的激光雷达帧中,点云的密度随着扫描距离而降低,当目标特征远离传感器时,体素网格下采样无法完全归一化密度,此外,我们的合成数据生成也没有考虑线段的比例(如图2(e)所示)。如果不处理这样的问题,当训练和测试数据在不同的尺度上时,模型将不会产生合理的预测,为了解决这个问题,我们的网络通过消除Sim(3)变换的比例因子s并使用相对距离获得比例不变性,如下所示:

在等式(1)中,我们搜索点p的k=20个最近点{p1,p2,…,pk},并计算比例不变的局部特征f作为曼哈顿距离与p与其邻居之间的欧几里德距离的比率,这种特征定义的折衷是f不能反映原始点在欧几里德空间中的位置,因此变换具有信息损失。

模型架构:这里选择DGCNN作为主框架,因为它直接编码点云及其最近邻点,而无需复杂操作。等式(2)显示了其称为EdgeConv的局部特征编码函数,其中x_j是第j个特征,S_xi是特征空间S中xj的邻居,h是深度学习模型。

自动线段标记。没有可用的激光雷达扫描数据标记线段数据集,对点云执行手动标记是很困难,因此,我们构建了一个自动线标记工作流程(如图3)。

图3.自动线标记流程,我们使用几何自适应和线性拟合来减少网络预测噪声,并通过迭代训练提高实际激光雷达扫描数据的模型精度

受SuperPoint中单应性自适应的启发,我们对激光雷达扫描点云进行几何自适应,首先,我们纯粹基于合成数据训练尺度不变分割模型,并在XOY和360中应用均匀分布为20m的2D变换偏航到激光雷达扫描点云。然后使用训练的模型预测扰动数据上的标签,聚合所有扰动的扫描标签,并将预测的80%以上属于直线的点作为候选点。为了将二进制点聚类成直线,我们使用区域增长算法。点之间的连通性通过0.5m KD树半径搜索定义,使用标记点作为种子,生长到附近的标记点,并拟合直线,一旦提取了这些线段,我们将继续在获得的标记激光雷达扫描数据上细化分割模型,我们重复几何自适应变换3次,在KITTI里程计数据集上生成12989个自动标记的激光雷达点云帧。

B. 点云线段的分割和描述子联合训练

线描述子的定义:与仅需要线段的两个端点的几何定义不同,每条线的描述子应通过其所有所属点传达局部外观,因为观察到的端点可能由于可能的遮挡而在帧之间变化,因此,我们将描述子定义为其所有所属点的平均值。

网络架构:我们的网络结构(如图4)由堆叠的三个EdgeConv层组成,用于特征编码,两个解码器分别用于线段的分割和描述子,每个EdgeConv层输出一个N×64张量,用于MAXPooling层之后的3层分割和描述子,使用ReLU进行激活,分割在卷积后将特征向量转换为大小为N×2的张量(N表示输入点的数量),然后通过Softmax层获得每个点的布尔标签,以预测其是否属于一条线。描述子输出张量大小为N×d,然后执行L2范数以获得d维描述子。

损失函数:我们的分割损失Lseg是标准的交叉熵损失,详细的说首先使用线段标签获得每条线段的平均描述符µ,然后使用每条线的Lsame将点描述符拉向µ,Ldiff被提出用于使不同线的描述子彼此排斥,此外,对于点云对计算匹配损耗Lmatch和非匹配线之间的损耗Lmismatch,每个术语可以写成的公式如下:

基于线的配准:我们的网络为每个点云输出标签和描述子,首先提取线段,然后执行描述子匹配以获得线段的对应,匹配描述子的阈值设置为0.1,通过最小化所有线匹配成本ξ的点到线距离,优化用于将源点云S配准到目标点云T的变换T∈ N:

实验与结果

网络训练的数据集:从生成的合成数据开始,首先使用这些合成点云来训练我们的线段分割网络,然后,为了使用自动标记方法生成足够和合格的真实世界标记的点云数据,一共获得了12989个激光雷达帧数据,并迭代训练了100个epochs以细化这些自动标记结果,最后,我们用120个时间段训练我们的整个线分割和描述子网络,以获得最终适用于真实世界扫描数据的模型。我们使用包括来自KITTI里程计数据集的序列00-07的扫描,最后两个序列06-07用于验证集,其余的00-05用于训练集,以训练我们的网络。对于每个激光雷达帧,我们使用0.25m体素大小对点云进行体素化,采样20000点用于评估,15000点用于训练,因为EdgeConv中的kNN是O(N2)空间复杂度,并且在训练过程中消耗大量内存,我们使用Adam优化器在Tensorflow中实现我们的网络,学习率被设置为0.001,并且每15个周期减少50%,整个网络在8个NVIDIA RTX 3090 GPU上训练。

结果和讨论:表1显示了配准的性能,在随机旋转扰动下,ICP的召回率仅为11.3%,基于FPFH特征的FGR和RANSAC方法具有较高的召回率,但误差较大,基于学习的端到端方法HRegNet和DGR在处理大型扰动场景时,召回率和准确性也会下降,PointDSC依赖于特征模型,并且特征不具有完全的旋转不变性,因此其性能也会恶化。

图5.KITTI数据集上具有不同RRE和RTE阈值的配准召回,在不同标准下,我们基于线的方法(蓝色)的配准成功率接近于基于SOTA点的方法D3Feat(橙色

图5示出了具有不同错误阈值的配准召回,SpinNet和D3Feat具有更好的性能,召回率超过90%,基于线段的配准实现了与点云的特征配准相当的性能,与D3Feat相比,具有相似的平均翻译错误和1.22%的召回率。图7显示了KITTI测试序列的可视化结果,提出的方法成功地配准了任意旋转扰动下的点云。

图7.KITTI测试数据集的定性可视化。顶部:两个激光雷达帧之间的线段关联性,底部:两个帧的配准结果。

基于线段的配准不依赖RANSAC来过滤错误匹配:为了在变换估计期间执行离群值移除,在计算初始对齐后的线对应的距离,以移除平均距离大于1m的线对并重新计算。

图6.不同RANSAC迭代的配准性能,在点特征对应中存在许多不匹配,这在迭代次数较少时会导致不稳定的结果

图6示出了在不同RANSAC迭代下点云配准的性能,图中的x坐标是对数坐标。我们的方法不使用RANSAC进行异常值剔除,当与其他需要RANSAC后处理的方法进行比较时,使用蓝色虚线作为参考,y坐标附近的星表示原始结果,x坐标为的星表示异常值去除后的结果。在最大迭代次数超过1000次之前,D3Feat和SpinNet都无法在没有RANSAC的情况下获得精确的变换。

线分割评价 :为了评估基础分割模型的尺度不变性,我们在合成数据集上训练了PointNet、PointNet++和vanilla DGCNN,训练集包括在[0,1]内归一化的4000个合成点云,并使用从0.1到3.0的点云测试训练模型。

图8.不同尺度扰动下网络预测的精度和mIOU,在尺度不变方法在任意尺度下是稳定的,但比原始尺度下的vanilla DGCNN差一点

图8显示了网络预测的准确性和mIOU,当尺度变化时,没有尺度自适应的方法性能下降。vanilla DGCNN在小尺度扰动(0.8到1.6)下获得最佳精度和mIOU,而我们的尺度不变方法在任意尺度下是稳定的。可以发现,在确定尺度时,使用尺度不变方法会降低精度,因此仅将其用于合成数据训练。在分割和描述子的联合训练中,我们使用vanilla DGCNN代替。

图9 提出的方法分割了大多数杆和建筑边缘

图9显示了与我们发现的唯一开源3D线检测方法相比,线段分割的定性可视化,提出的方法分割了大部分线段,而开源的方法提取了地面上的激光雷达扫描线,无法检测到极点。

表2显示了点云配准结果,在unseen数据集上所有方法都显示召回率下降,D3feat的性能最好,而提出的方法的平均翻译误差最小,图10显示了测试数据的定性可视化,这个序列中有更多的极点,这有利于基于线段的配准。

图10.阿波罗SourthBay数据集的定性可视化,SanJoseDowntown数据集,大多数直线对应线段有着稳定的极点,这有助于大幅度减少平移误差

总结

本文提出了第一种基于学习的激光雷达扫描点云线特征分割和描述子计算的方法,该方法在点云配准中与基于点特征的方法具有很强的竞争力,未来,将探索深度学习线段功能在SLAM问题上的使用,如建图、地图压缩和重定位,并还将优化网络结构,减少训练资源的消耗。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档