专栏名称: 点云PCL
公众号将会推送基于PCL库的点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维世界相关内容的干货分享。不仅组织技术交流群,而且组建github组群,有兴趣的小伙伴们可以自由的分享。欢迎关注参与交流或分享。
目录
相关文章推荐
于小戈  ·  去父留子,还能玩上瘾? ·  昨天  
杭州日报  ·  休2上4休1!明天上班别忘了... ·  2 天前  
杭州交通918  ·  刚刚,杭州明确:延长至凌晨1:15! ·  2 天前  
杭州交通918  ·  就在刚刚!杭州正式进入…… ·  3 天前  
51好读  ›  专栏  ›  点云PCL

基于点云体素定位在城市数字孪生平台上的应用

点云PCL  · 公众号  ·  · 2024-07-03 08:00

正文


文章:VOXEL-BASED POINT CLOUD LOCALIZATION FOR SMART SPACES MANAGEMENT

作者:F. S. Mortazavi *, O. Shkedova, U. Feuerhake, C. Brenner, M. Sester

编辑:点云PCL


欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。 文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系[email protected] 文章未申请原创 侵权或转载 联系微信cloudpoint9527。

摘要


本文提出了一种基于体素的方法,用于创建能够高效管理智能空间的城市环境数字孪生,解释了点云数据集的配准和定位过程,该过程使用KISS ICP进行扫描点云配准合并,并使用RANSAC方法对组合后的点云进行初始对齐。使用Riegl VMX-250的移动测绘点云作为参考地图,并使用Velodyne扫描进行定位。然后采用点对平面的迭代最近点方法进一步优化对齐。通过计算估计位置与真实位置之间的误差来评估所提方法的有效性,结果表明,基于体素的方法能够准确估计传感器平台的位置,适用于多种应用场景。文中描述了一个具体的应用案例,即智能停车位管理,并展示了初步的可视化结果。

主要贡献


本文提出了一种不同于标准数字孪生体构建和管理的方法,核心思想是使用许多不同的传感器系统以高分辨率捕捉环境的三维,并将其分解为数十亿个体素,系统地利用识别号码进行位置编码和更新。因此该系统将能够结合现代数字孪生体的功能,快速更新数据表现,并为应用开辟新的机会。这种基于体素的现实世界虚拟表示将使人类和机器能够在更需求导向、高效、安全和公平的方式下应对空间使用中日益增长的竞争,无论是为了自身利益还是公众利益。为了融合不同传感器的数据,有必要将这些数据对齐到当前的3D体素模型,为此需要高效的定位方法。因此本文描述了一种初步的基于体素的城市环境表示,该表示由来自不同传感器的点云数据集生成。此外展示了其在实时智能停车管理用例中的未来适用性。

内容概述


本文的目的是介绍一种在地图上定位Velodyne原始扫描点云的方法,这对于精确定位和更新地图至关重要,ICP方法是传统的扫描定位技术。然而它受限于对对齐初始值的依赖,而初始值并不总是可获取的。此外稀疏点云中缺乏足够特征也是定位方面的另一个挑战。因此本研究提出了一种三步法来克服这一限制,这种方法不依赖初始值,提供了更为稳健的定位解决方案。本文中的定位过程包括以下三个连续步骤:

  1. 进行体素化处理

  2. 使用快速点特征直方图(FPFH)在粗网格分辨率下应用RANSAC进行粗配准

  3. 基于原始体素大小,应用点对平面ICP进行精细配准

如图1所示,第一步中,使用KISS ICP算法初步处理和配准并合并组合原始Velodyne扫描点云,以创建感兴趣区域的更密集点云,生成的点云用于确定迭代最近点(ICP)算法的初始对齐值,为此应用稳健的RANSAC方法将组合的点云定位在参考地图(MMS)上,一旦完成RANSAC过程,生成的变换矩阵将作为ICP方法中每个单独扫描的初始对齐值。

图1:定位方法流程

数据集

本研究集中分析在德国汉诺威市的一条住宅街道沿线收集的点云数据集,覆盖175米。数据集由两个独立部分组成:由Riegl VMX-250系统(MMS)提供的移动测绘点云(图2顶部),用作参考地图;以及来自Velodyne VLP 16(Velodyne)的扫描(图2底部),需要进行定位。Riegl VMX-250技术用于收集密集的点云,约包含4,340,000个点,它是一种先进的激光扫描系统,配备了四个摄像头,提供颜色信息,可以对点云进行着色,Velodyne扫描(101次扫描)用于更新地图,每次扫描包含约25,000个点,点云是在不同时间测量的,移动测绘数据早于Velodyne扫描获取,因此目标是将Velodyne扫描定位在由移动测绘点云生成的参考地图中。

图2:彩色MMS点云(顶部),俯视图中的Velodyne扫描(底部)

体素化

在体素化过程中,从获取的参考密集点云(MMS)创建一个具有给定间距的规则3D网格,在本例中,选择了10厘米的间距。因此,每个体素由边长为10厘米的立方体描述。3D网格的每个体素都被分配一个唯一的索引号,并包含参考点云的相应点。接下来,获取进一步处理所需的信息。

首先,对于定位和配准步骤,从体素内部的所有参考点计算每个体素的平均点。考虑到3D坐标系,计算平均点坐标。随后,根据所有维度之间的协方差值计算协方差矩阵:

派生的协方差矩阵允许确定表面法线、线性、平面和其他特征估计。此外,还定义了每个体素的平均RGB颜色值。由于缺乏足够的特征来识别物体,使得物体识别变得困难。为克服这一挑战,作者建议使用一批扫描点云作为更有效的替代方案,通过使用KISS ICP方法,可以创建一个整合的扫描块,用于在地图上准确定位物体(图3)。利用多个扫描的信息,我们可以对环境有更全面的理解,一旦执行KISS ICP算法,为每个扫描生成一个变换矩阵,表示该扫描相对于第一个扫描(作为起点(0, 0, 0))的空间变换,这些变换矩阵可以用于访问组合的Velodyne扫描点云。

图3:使用KISS ICP的组合Velodyne点云

粗配准

在定位领域,确定初始值一直是一个重大挑战,为克服这一问题,提出了多种方法。常用的粗略定位方法之一是随机采样一致性(RANSAC)算法。然而,对每个Velodyne扫描单独应用RANSAC可能会耗费大量时间,而且单独使用Velodyne扫描的特征有限。

由于在粗配准阶段不需要高精度结果,为了减少计算时间,第一步是对输入数据进行降采样,包括移动测绘数据和组合的Velodyne扫描,将其降采样到1米体素。使用1米体素进行粗配准会比使用10厘米体素更快,因为体素数量减少。此外,使用1米体素得到的配准结果足以用作精细配准的初始变换矩阵。这一体素化过程显著减少了数据量,并简化了后续的特征提取。然后使用协方差矩阵计算每个体素的法向量。法向量对于计算每个体素的快速点特征直方图(FPFH)至关重要。FPFH是一种特征描述符,用于描述三维空间中点的局部几何特性。该方法涉及应用预定义半径以识别每个数据点的最近邻居,在半径为r的三维球形区域内。下一步是定义每个查询点与其邻居之间的关系。对于每对点及其法向量,计算以下角度变化,称为简化点特征直方图(SPFH)。在接下来的步骤中,对每个邻居点进行邻域搜索,通过重新计算其基于先前半径的接近性标准来识别邻居点。一旦识别出邻居点,就计算它们的SPFH描述符以描述它们的几何特性,这提供了每个点周围局部表面结构的鲁棒表示。随后,通过结合每个邻居点的SPFH描述符构建加权直方图,以创建局部表面几何的整体描述。如图4所示,红色查询点仅与其邻居(k个点)相连,这些邻居包含在灰色圆圈内。然后将直接邻居与其各自的邻居相连,并将直接邻居的直方图与查询点的直方图加权结合,以创建FPFH。通过使用RANSAC算法实现全局配准,在每次迭代过程中,从组合的Velodyne扫描中随机选择一组点。通过在FPFH特征空间中搜索最近邻居来识别MMS点云中的对应点。为了高效评估大量潜在对应点,快速对众多候选对应点进行采样和排名,基于它们对应直方图之间的相似性。

图4.查询点与其邻居之间的关系

精细配准

为了减少计算时间,全局配准限制在1米降采样的点云,这可能会导致对齐精度较低。虽然通过RANSAC方法获得的初始对齐可能不够准确,但它可以作为点对平面迭代最近点(ICP)算法的良好初始变换值。点对平面ICP是传统ICP的一个变种,采用不同的方法进行距离计算。该算法不计算点对之间的距离,而是测量一个点云中的点与另一个点云中对应点处的表面切平面之间的距离。通过反复迭代这一过程,可以实现两个点云之间更精确的对齐。在这一步中,不使用组合的Velodyne扫描,而是将重点转向使用单个原始Velodyne扫描进行定位。为此将从KISS ICP获得的变换矩阵应用于Velodyne扫描的原始点云。之后将从RANSAC获得的变换矩阵作为每个单独扫描的点对平面ICP过程的初始值。在这个过程结束时,每个原始Velodyne扫描都成功地定位到我们的全局地图(MMS),这有助于我们准确导航和分析建图环境。

实验与结果



体素

生成了尺寸为10厘米的体素,以形成规则的3D网格。正如方法论中所描述的那样,对每个体素计算平均点、RGB颜色值和协方差矩阵。计算出的参数使得不同特征的估计和真实颜色的可视化成为可能。图5显示了具有“真实”颜色的基于体素的城市环境。

图5:基于体素的城市环境

定位

KISS ICP方法用于合并多个点云扫描,该方法的结果是构建一个密集而统一的点云,除了为每个单独扫描生成的变换矩阵外,统一的点云还可以进一步处理以进行点云分类。为此,采用了Kernel Point Convolution(KPConv)网络来对组合的Velodyne扫描进行分类,如图3所示。生成的标签可以在将来用于地图更新和其他应用中。在统一点云中对点进行分类的能力有助于识别环境中的对象和特征,这对于提取有意义的信息至关重要。根据方法论的描述,在后续阶段,采用分层方法将组合的Velodyne扫描降采样到1米体素。这种方法确保了与MMS点云中的10厘米体素的一致性。由此产生的降采样点云加快了处理速度,并允许更高效地处理大量数据。

图6:使用RANSAC的粗略配准结果

为了在组合点云和参考点云之间进行对齐,使用了RANSAC方法,并设置了2米的距离阈值。然而由于环境的复杂性,配准过程的输出可能并不完全准确。如图6所示,尽管经过粗配准后,组合点云通常与参考点云对齐,但在位移和旋转方面仍存在一些残余的错位,尽管存在轻微错位,但用RANSAC获得的近似对齐仍然适合并且足够作为迭代最近点(ICP)算法的初始估计,用于改进对齐。通过将近似对齐作为初始估计,ICP算法收敛更快,并提供更精确的最终对齐。然后应用点对平面ICP方法来改进对齐,该过程使用原始数据集,其中降采样的MMS点云(具有10厘米体素)作为参考地图,单个Velodyne扫描用于定位。如图7所示,使用RANSAC方法得到的变换矩阵作为ICP的初始值后,原始Velodyne扫描与参考地图之间的对齐结果相当精确。

图7:使用点对平面ICP的精细配准结果

评估

在这项研究中,使用了101个Velodyne扫描进行定位。此外如图8所示,估计的位置用红色表示,地面真值用绿色显示。估计位置和地面真值的轨迹非常接近,这表明所提出的方法能够准确估计传感器平台的位置和方向。

图8:101次扫描的估计姿态轨迹

为了评估所提出的基于体素的方法的性能和有效性,计算了每个扫描在XY和Z方向上估计值与地面真实位置之间的误差。图9.a显示了误差值的直方图。在XY方向的直方图显示,有许多扫描(101个中的88个)的误差小于3.6厘米。少量扫描(13个扫描)的误差大于这个值,但小于6厘米。在这个方向上观察到的最大误差为6.3厘米,仅发生在3个扫描中。这表明总体上估计算法表现良好,大多数扫描的误差相对较小。在Z方向上,绝大多数扫描的误差小于2厘米,其中大部分在0到1厘米之间。只有少数扫描的误差超过2厘米,其中只有四个扫描的误差在3到5厘米之间(见图9.b)。

图9:在a)XY和b)Z方向上的每次扫描的估计位置和真值位置之间的误差

智能停车位管理



在现今大城市中,停车位不足、停车无序和停车位利用不足是主要问题。因此智能停车管理是城市数字孪生的一个典型应用案例。根据前面描述的不同时间段内测得的移动映射和Velodyne传感器数据的定位过程的结果,我们探讨了在提出的城市数字孪生平台中,用于智能停车位管理的停车位分配和占用检查的可能性。该想法是根据密集的参考点云定义停车位的初始状态,并使用稀疏的、已配准的Velodyne数据更新停车位的占用状态。为此两种传感器的点云根据主要的对象类别进行分类,例如汽车、树木、地面等。然后,根据聚类的参考点云,通过边界框来定义已占用的停车位。最后通过检测Velodyne点云中被分类为汽车的点是否位于先前确定的边界框内,来检查停车位的占用情况。如果检测到“汽车”类别的Velodyne点位于边界框内,则认为停车位已被占用;反之,则停车位为空闲。

分类

为了有效区分网络应用程序和可视化中的动态和静态对象,有必要使用分类和标记的点云,为此使用了核点卷积(KPConv)来进行点云分类(见图10),这种方法直接操作点云,无需中间表示。KPConv接收特定半径内的邻域作为输入,并利用少量核点定位的权重来处理它们。

图10:基于核点卷积(KPConv)网络的MMS点云分类

边界框

在对点云进行分类后,得到的标签可以用来区分不同的对象,例如在停车位管理中,识别代表汽车的点云非常关键,以确定每辆车的确切位置以及停车位是否被占用。为了从点云中提取汽车,第一步是去除不代表汽车的所有点,这可以通过使用点云分类获得的标签来实现,在从点云中提取汽车后,下一步是进行聚类,为了执行聚类,使用欧氏距离方法,这将导致每辆车由一组独立的点表示。然而,仅仅进行聚类不足以准确识别汽车的形状和位置,因此需要为每个聚类拟合边界框,以更好地表示车辆的实际大小和位置,这通过围绕代表汽车的点云聚类拟合一个3D边界框来实现(见图11)。输出数据包括每个边界框的质心以及其在三个方向(X、Y和Z)上的尺寸和方向,包括其长度和方向,从参考点云中获取的边界框被设置为已占用的停车位。此外使用分类的Velodyne点云来检查在其他时间点定义的停车位的占用情况是否有效。为此执行空间分析以检测标记为汽车的Velodyne点是否在参考边界框内,如果检测到Velodyne点在边界框内,该停车位将保持占用状态;否则,该空间将被设置为非占用状态。Velodyne扫描还将用于更新参考地图,以始终保持其更新。然后,可以在初始地图的体素环境中使用3D边界框来说明停车位的占用情况。总体而言分类、聚类和边界框拟合过程用于从点云数据中提取有用信息,并在体素平台中进行可视化。

图11:分类出的汽车三维边界框

可视化

为了可视化基于体素的城市环境,创建的10厘米维度的3D地理参考网格被转换为JavaScript库和应用程序编程接口(API)。这个引入的API允许在Web浏览器中创建和显示动态的3D计算机图形,并具有进一步的虚拟现实扩展可能性,为了适应渲染场景,网格的坐标额外被缩放并围绕X轴旋转90度,之后使用Three.js库生成对应数据集的立方体几何体,并根据3D网格的角位置放置。通过这种方式,城市环境通过地理参考的体素在Web浏览器中进行了可视化。此外衍生的边界框被集成到渲染场景中,用于表示停车位。图12展示了基于体素的可视化,显示了根据参考数据的停车位占用情况。在图13中,根据Velodyne数据修订后停车位状态的变化被可视化。其中有三个新的空闲停车位,用绿色的框表示。

图 12:基于体素的城市环境可视化,其中停车位已占用(红色)

图 13. 基于体素的城市环境可视化,其中停车位状态根据 Velodyne 数据进行了修订(绿色代表空置停车位)

总结


本文提出了一种使用体素准确估计传感器平台位置的方法,体素化过程创建了一个具有10厘米间距的规则3D网格,同时采用分层方法将参考地图和合并的Velodyne扫描降采样为1米体素,利用RANSAC方法实现了合并点云与参考点云的对齐,然后通过点对平面ICP方法对其进行了精细调整,从而实现了原始Velodyne扫描与参考地图之间的精确对齐。结果显示,估算算法整体表现良好,大多数扫描的误差相对较小。此外讨论了所提方法在智能停车位管理中的潜在应用,这是当今大城市面临的主要问题,本文为未来关于智能停车位和其他城市应用管理的研究提供了基础。

资源

自动驾驶及定位相关分享

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

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测







请到「今天看啥」查看全文