基于数据融合的城市点云自动标注

文章:Automatic labelling of urban point clouds using data fusion

作者:Daan Bloembergen and Chris Eijgenstein

编译:点云PCL

来源:arXiv 2021

本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。内容如有错误欢迎评论留言,未经允许请勿转载!

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

在本文中描述了一种半自动创建标记数据集的方法,用于城市道路级别的点云语义分割。我们使用数据融合技术,使用公开的数据源(如高程数据和大比例尺地形图)自动标记点云的一部分,之后只需有限的人力检查结果并在必要时进行修改。这极大地减少了创建带标签数据集所需的时间,该数据集的范围足以训练深层语义分割模型。我们将我们的方法应用于阿姆斯特丹地区的点云,并在标记的数据集上成功地训练了RandLA Net语义分割模型。这些结果显示了智能数据融合和语义分割在未来智能城市规划和管理中的潜力。我们的代码可在GitHub上获得:https://github.com/Amsterdam-AITeam/Urban_PointCloud_Processing

如何使用CloudCompare进行点云标记?其操作视频分享进入视频号观看

介绍

手动标注点云数据是一项十分耗时的任务,对于包含整个城市的超大规模点云,手动标注实践中很快变得不可行,最近的研究试图通过使用地形图自动标记点云的部分来缓解手动标注的问题。在本文中,我们在这些工作的基础上进行了扩展,据我们所知,这是第一条完全模块化、开源的点云处理流程,该方案使用不同数据源的智能数据融合来自动标记大部分城市街道级点云,结果表明,我们的方案可以大大减少创建一个完全标记的数据集所需的时间和精力,该数据集足够广泛,可以训练语义分割模型,通过在我们的方法标记的数据集上成功地训练RandLANet,这是一种最先进的深层语义分割模型,突出了这份研究的潜力。

数据集

点云

我们使用的数据是荷兰阿姆斯特丹地区的街道级3D点云,Cyclomedia2提供的点云使用全景图像捕获设备和Velodyne HDL-32激光雷达传感器进行记录,从而形成包括两者的点云(𝑥,𝑦, 𝑧) 坐标以及RGB数据,点云的平均标准偏差为10cm,相对精度为2cm。点云的密度取决于移动激光扫描仪的速度和到传感器的距离,范围为1000-2500点/平方米,点云分为50x50m的分块。图1显示了一个示例,它是使用开源软件CloudCompare进行可视化。

92ee1a632f8b05551e1d0e7e5a999a1b.png

图1:点云可视化示例

AHN高程数据

高程数据可以提供丰富的数据源,可用于精确的地面过滤,也可用于更精确地标记建筑物、汽车,甚至我们稍后将看到的杆状对象,我们使用AHN3数据集(Actueel Hoogtebestand Nederland),这是通过飞行激光扫描器获得的公开的荷兰高程模型。该数据可用作分辨率为0.5m或5m的GeoTIFF栅格数据,或作为标记点云。我们使用后者,因为它允许我们提取分辨率为0.1m的表面栅格,以及建筑物的高度数据。一个限制是,高程数据中可能会出现间隙,这是由道路上的车辆阻碍了飞行激光扫描仪造成的。这里包含一个预处理步骤,其中使用插值填充AHN3数据中的小间隙。图2显示了与图1中的点云平铺对应的AHN3高程数据示例。

4cfea1c45b3bbff172956a9f8b43e612.png

图2:AHN3高程数据显示地面(绿色/棕色)和建筑高度(橙色/红色)

AHN数据集的一个缺点是更新频率低;在编写我们感兴趣区域的AHN3数据时,该数据已有6年的历史。考虑到最近开发的区域,这一点尤为重要,因为建筑物可能缺失,地面高程数据可能已经过时。

BGT地形图

丰富信息的第二个来源是BGT数据集6(Basisregistratie Grootschalige Topografie),这是一种大型地形对象的数字地图,经常更新。此地图包括建筑示意图多边形、道路部分多边形和(𝑥,𝑦) 树和灯柱等杆状物体的坐标。我们使用NDW7(国家道路交通数据门户)的数据进一步丰富了这一点,特别是我们使用了他们的交通标志数据集(verkeersborden)。图3显示了示例点云图块的提取数据源。

b388629056a72cca881fc08b014c5545.png

图3 BGT地形图实例

方法

本文提供了一个模块化流程,可用于使用与前面描述的各种数据集的数据融合来标记点云中的某些对象。每个模块处理特定类型的信息。这些模块可分为两组:数据融合模块使用公共数据源标记点云中的特定对象,区域增长模块进一步细化(部分)标记的对象。

这里需要注意,我们方法的目的不是正确标记整个点云;相反,我们只希望获得一个精确标记的数据集,用于训练机器学习模型,这意味着精确性比召回更重要,因为我们希望训练数据被尽可能准确地标记,因此,如果我们遗漏了一些对象,只要标记的对象是正确的,这不是一个大问题。

数据融合

数据融合用于标记地面、建筑物和汽车,以及三类杆状物体,即树木、灯柱和交通标志,许多城市点云包含大部分地面,这就是为什么许多点云分类方法的第一个预处理步骤是过滤(或标记)这些地面点云,以简化进一步的操作。

(1)地面提取:地面点云提取的典型方法是识别水平平面并将其标记为地面。缺点是,此类方法计算成本高,并且在地面不平坦或由多个标高组成时,效果往往较差。为了克服这些限制,我们使用AHN3高程数据作为目标曲面,并将其与点云匹配,点云中位于AHN曲面特定边界(例如+/-25 cm)内的点标记为地面。

(2)建筑提取:为了标记建筑物,我们结合使用BGT足迹多边形和AHN高程数据。同时使用这两个数据源的原因是它们相互补充:BGT提供准确和最新的2D信息,而AHN添加了3D方面,使我们能够同时考虑建筑高度。

我们标记每个建筑多边形内的点(根据它们的(𝑥,𝑦) 坐标)作为潜在的建筑点,由于BGT和点云都有一定的误差范围,我们将建筑占地面积放大50厘米,以增加包含的点的数量。占地面积内可能存在事实上不属于建筑的点。一个典型的例子是部分重叠的树木他们的树枝悬在屋顶上的足迹。为了防止这种错误。这里使用来自AHN的建筑高度数据(如果可用),并将其作为数据中的截止值(误差范围为25厘米)𝑧 值。因此,我们最终会按照以下方式标记足迹内的所有点:(𝑥,𝑦), 并且在建筑的屋顶以下𝑧.

(3)汽车:一旦地面被过滤掉,汽车就相对容易被检测到,因为它们有非常规则的形状。此外,使用BGT数据中的道路部分多边形,可以在特定位置进行搜索。使用典型的汽车尺寸,我们搜索其最小边界矩形和高度与预期形状匹配且位于道路部分或停车场上方的簇。

(4)杆状对象:对于杆状对象树、灯柱和交通标志,我们基于可用的BGT数据,对于BGT中的每个对象,我们提取一个围绕该对象预期目标的小正方形区域(𝑥,𝑦) 位置(+/-1.5m)。将搜索区域划分为二维网格,并计算每个单元格的最小值、最大值和平均值的统计信息𝑧 该单元格中的值。这允许我们搜索杆状物体。如果我们在距预期位置的最大距离内找到匹配项,我们将进一步计算物体的半径(厚度)。如果半径在预期范围内(灯柱和交通标志小于0.2m,树木小于0.5m)则将该半径和位置的圆柱体标记为相应的对象。这些点将用作区域生长初始种子点,以进一步完善标记。

点云的区域生长

建筑:某些突出图元(如阳台、开间窗和檐篷)不包含在建筑迹线多边形中。为了包含这些元素,在这里使用了区域生长技术,一种选择是基于点的区域增长方法,其中计算每个点的特征,以确定是否应包括该点。这种方法非常精确,但计算成本也很高,由于我们需要处理大量的点云图块,因此我们选择了更有效的基于群集的区域增长方法,类似于基于八叉树的方法。此方法不会对每个单独的点进行决策,但是,它首先使用CloudCompare的基于八叉树的标记连接组件方法对点云进行聚类,该方法可以通过Python包进行访问。然后,如果先前已标记的集群部分超过阈值(例如0.5),则将整个集群标记为建筑物,为了提高该方法的准确性,我们对该阈值以及连接组件搜索中的八叉树级别使用了不同的设置,用于建筑物立面的不同部分:在地面附近有更多杂波的地方使用更谨慎的方法;因为在靠近屋顶的地方,点云的密度较低。

杆状物体:同样,我们使用先前提取的初始种子点,将基于簇的区域生长应用于类似于极点的对象,同样,我们对对象的下部和上部使用不同的设置;尤其是下半部分可能会杂乱无章,因为在荷兰城市,自行车靠着这些物体停放是很常见的,这些区域增长模块的设置非常复杂,应针对手头的数据集进行仔细调整。

实验

实验部分展示了我们提出的数据融合方案可以成功地标记点云图块,并讨论了标记失败的情况,然后,我们通过在标记的训练集上训练RandLA-Net(一种深度学习语义切分模型),展示了我们方法的潜力。

自动标注

图4显示了在示例点云上运行完整流程的结果,地面、建筑物和汽车的标签正确,一些杆状物体丢失,这可归因于多种因素:中心左侧的小树由于其倾斜角度而未被检测到;下角的树枝属于瓷砖区域外的一棵树;在BGT数据中,中心灯柱的位置偏离了1.5米以上。通过更仔细地调整数据融合模块,这些问题都可能得到纠正。然而,为了创建准确的训练集,这并不是必需的:因为在训练过程中忽略了未标记的点,所以这些对象可能会在训练后被语义分割模型检测和标记。

bc823ccd5ca840485149c9b4c770e93c.png

图4:自动标记的点云实例,带有地面(棕色)、建筑物(蓝色)、汽车(灰色)、树木(绿色)、灯柱(黄色)和交通标志(红色)

创建一个完全标记的数据集

为了展示本文方法的潜力,我们使用我们的方案自动标记109个数据块的数据集,然后,我们手动检查并更正问题,并将这项工作与手动标注的结果进行比较,对于手动标签,我们使用CloudCompare。

对于我们的数据集,我们选择了代表不同城市场景:老城、道路、新开发区、工业区、住宅区和高层建筑。我们对结果的手动检查导致了几个观察结果。

  • 1) 地面和建筑物的标签大多正确,但最近开发的区域除外,这些区域的高程数据已过时。地面点的精确标记也使得快速去除地面以下的反射噪声变得容易。

  • 2) 尽管规则相对简单,但汽车标签模块工作得出奇地好。由于我们的做法,停在官方道路和停车场外的汽车没有贴标签。

  • 3) 对于我们感兴趣的区域,树在BGT数据集中得到了相当准确的表示,因此这些树在很大程度上也得到了正确的标记。这里的例外情况是倾斜的树木,或私人地产上的树木,这些树木不包括在BGT中。

  • 4) 灯柱和交通标志在BGT数据集中的表示不太准确,当我们选择精度高于召回率时,我们的方法会忽略BGT中位置误差过大的对象。此外,施工区域周围的临时交通标志缺失。最后,我们的方法很难正确检测被树枝部分遮挡的灯柱。

这些问题中的许多可以通过手动检查快速纠正,需要手动标记完整的点云图块只是所需的一小部分工作。根据我们的经验,手动标记具有1000万个点的场景大约需要1.5小时。主要的困难是标记地面,一旦标记完成,剩余的点就可以更容易地进行聚类,使用我们的方案,我们可以在大约20秒内在基于2020 Intel I7的笔记本电脑上自动标注。之后,手动检查结果并纠正小错误和遗漏平均需要5分钟。这大大减少了时间和精力,使得在几个小时内创建一个完全标记的数据集成为可能。我们的数据集的一些统计数据如表1所示:

e84a1c5af59f11ab65be9ee83d3df852.png

表1:标记数据集的类统计信息

基于RandLA-Net的语义分割

图5显示了来自验证集的示例场景,该验证集由经过训练的RandLA Net模型标记,这个数字证实了模型的质量;一些交通标志部分与灯柱混淆,但总的来说,标签是准确的。请注意,诸如fences(图像中心)之类的对象在数据集中没有标记,并且在训练中被忽略,因此模型无法区分这些对象。

171f0cfffd5d3d0873bcd0001116bd10.png

图5:来自验证集的示例点云图块,添加了噪声和未标记点,由经过训练的RandLA-Net模型标记

09934116527df4e6d287e4738571b5b8.png

总结

实验已经展示了使用智能数据融合来有效标记可用于训练深层语义分割模型的大型数据集的潜力,我们的开源模块化流程特别适合于具有数亿个点的大规模点云数据,在这些数据中,完全手动注释是不现实和不切实际的,使用RandLA-Net进行的评估强调了我们方法的可行性,并表明在将手动注释工作量保持在可管理水平的同时,可以获得令人满意的结果。我们的方案可以通过更多模块进行扩展,这些模块可以标记更多类型的感兴趣对象,如自行车站、交通灯、低矮植被等。此外,该方法可以通过查找对象的预期位置与其在点云中的外观之间的差异来自动校正此类数据源,总之,这些结果证明了语义分割与智能数据融合相结合在城市街道水平点云自动理解和分类方面的潜力。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

540964cba4972b7cf9aa0566580a5b76.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云PCL公众号博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值