李健平,杨必胜
(武汉大学测绘遥感信息工程国家重点实验室,湖北武汉 430079)
建设智慧城市需依靠室内外三维全空间地理信息数据为桥梁,从而搭建现实物理世界与虚拟网络世界之间双向映射,形成虚实结合的城市治理模式,对提升我国城市可持续发展能力具有重要意义[1]。随着以摄影测量、激光扫描为代表的地理信息设备获取技术的发展,点云已成为继二维影像和矢量地图之后的第三类时空数据,是构建智慧城市重要基础[2,3]。利用车载、机载、地面三维激光扫描为代表的移动测量技术,可以快速获取大范围城市场景三维点云数据,构建室外环境的数字三维模型[4]。而相对于室外环境,室内环境由于GNSS(Global Navigation Satellite System,全球导航卫星系统)信号拒止,光照条件差导致环境特征分布复杂,给现有LiDAR(Light Detection and Ranging,激光扫描)系统准确、高效获取三维数据带来了巨大的挑战[5]。如何克服现有移动测量系统对导航信号的依赖,提高设备在室内复杂环境中的数据获取精度与效率,是学术界与工业界共同关注的热点[6-7]。
随着众源地理信息获取装备[8]以及LiDAR SLAM(Simultaneous Localization and Mapping,同时定位测图)技术的快速发展[9],以穿戴式为代表的轻小型激光扫描系统具有成本低、体积小、易操作的特点,可以便捷在通行受限区域获取三维点云数据,为室内外一体化无缝三维地理信息获取提供了可行方案,是传统移动测量系统的有效补充。现有穿戴式激光扫描设备,如手持式[10]、背包式[11]等,需要用户在作业过程中依据经验或设备反馈判断扫描范围,难以保证三维点云的完整性,导致作业效率较低。尤其在应急救灾过程中,施救人员需携带并操作救援装备,难以再利用手持或背包设备对未知复杂三维环境进行探测,导致实时三维空间信息缺失,严重制约了救灾的效率和安全性。基于头盔的观测平台与用户视线保持方向一致,具有“所见即所得”的优势,解放了用户的双手,已在单兵作战、应急搜救、AR、VR等领域有了成功运用[12]。但目前尚基于无头盔平台的激光扫描系统在室内外三维数据获取方面的案例。因此,本文以自主研发的头盔式激光扫描系统“WHU-Helmet”为研究对象,设计基于多尺度正态分布变换的LiDAR-IMU SLAM算法,并在典型室内外场景进行三维点云获取实验,以验证头盔式激光扫描在室内外一体化三维测图中的精度与可行性。
本文研发的头盔式激光扫描系统硬件组成如图1 所示,系统中主要由四种传感组成:GNSS 接收机与天线,IMU(惯性测量单元),固态激光雷达,以及全局曝光相机。GNSS 接收机用于获取绝对地理位置以及时间基准信息,当设备从室外移动到室内环境时,系统将根据GNSS 接收机播报的卫星颗数自动忽略定位信息,仅利用参考时间信息保持系统高精度时间基准。系统中搭载的MEMS(microelectro-mechanical system)IMU,用于积分短时间系统相对姿态与位置变化,降低作业过程中剧烈运动对系统的影响。固态激光雷达和光学相机用于采集环境的几何与纹理信息。所有传感器都根据接收电信号触发信号进行严格时间同步[13]。
图1 头盔式激光扫描系统硬件描述Fig.1 Hardware description of the helmet-based laser scanning system
本文提出的基于多尺度正态分布变换的实时LiDAR-IMU SLAM 流程如图2所示。在获取到时间同步的原始LiDAR及IMU数据后,本文提出基于多尺度正态分布变换的实时LiDAR-IMU SLAM,主要分为畸变矫正,特征匹配与地图维护,以及后端优化三个部分组成,详细步骤见图2。
图2 多尺度正态分布(NDT)变换的实时LiDAR-IMU SLAM流程Fig.2 Flowchart for the multi-scale real-time nor⁃mal distributions transform(NDT)based Li⁃DAR-IMU SLAM
由于LiDAR连续扫描特性,第k帧(一般为0.1s内的扫描数据)LiDAR 数据存在由于剧烈运动导致的运动畸变效应,采用可利用单帧激光扫描时间内的IMU 数据对系统运动进行补偿,将单帧内的点云数据转换至初始扫描位置,从而消除单帧激光扫描运动畸变。利用IMU获取运动补偿姿态采用预积分法[15],对第k帧激光采集时间△t的所有IMU 数据进行建模。所有IMU数据按照式(2)~(4)进行建模:
式中:â(t)、ω̂(t)分别为加速度和角速度观测;gM为重力加速度;Ω(•)为轴角到纯虚四元数的转换。分别为位置、速度和角度预积分项,即第k帧激光扫描时间内载体的相对运动,可直接用于补偿激光扫描运动畸变。
NDT 是常用于LiDAR SLAM 的匹配与三维地图表达方式,相比于基于线、面特征的SLAM 方法,无需提取几何特征,在复杂退化环境或没有规则几何结构的环境中具有较好的表现,且整体计算量可控[16]。其核心思想是将一定三维体素大小内的点云p转换为正态分布,其均值为μ,协方差矩阵为Σ,满足概率密度函数f(p),写作式(5)。利用NDT 进行特征匹配时,以点到分布的概率为代价函数,优化相对位置与姿态参数。
对于搭载在头盔式激光扫描系统中的固态激光雷达,其扫描获取的单帧点云内部点密度存在较大差异,距离扫描中心较近处点密度大,相反距扫描中心较远处点密度小,如图3所示。如果为了保证远处的体素内有足够多的点用于准确计算协方差,则需要将格网设置大,导致近处格网分辨率太低,损失了近处的细节信息。如果为了保证近处细节信息,设置较小的格网尺寸,会导致远处格网内点数较少,导致远处的体素协方差计算错误。因此使用相同的体素对单帧点云进行体素化处理,难以选取合适的体素尺寸以平衡近处和远处体素的细节信息。
图3 固态激光雷达扫描点云示意图Fig.3 Scanning pattern of the solid-state LiDAR
本文采取多尺度正态分布变换以克服上述体素尺寸设置难题,步骤如下:
(1)设置体素尺寸为Svoxel(实验中为0.5 m),对单帧点云进行均匀体素化,并计算每一个体素中的均值、方差、点数、特征向量、空间范围,依据特征向量判断体素几何属性(线性、面性、不规则)[17],舍弃无点的体素;
(2)对体素进行迭代合并,合并条件见表1;
表1 体素合并条件Tab.1 The merging conditions of voxels
(3)将合并后的体素内所有参数更新。
以面性体素合并为例,如图4 所示。图4a 二者都为面性体素,合并后依旧为面性,则合并成功;图4b 分别为面性体素和不规则体素,合并后为面性体素,合并成功;图4c 二者都为面性,合并后为不规则,合并失败;图4c 二者都为不规则,合并后为面性。通过上述方式合并生成多尺度体素,可以有效克服NDT算法中体素大小难以设定难题。
图4 多尺度NDT合并条件示意俯视图Fig.4 Illustration of the multi-scale NDT merging conditions
在实时估计头盔式激光扫描系统的状态参数时,需考虑两种模态信息,即IMU对运动的高频观测约束ek,k+1Preinte以及激光与地图的匹配约束ek,k+1LiDAR。考虑到系统运行的实时性需求,采用滑动窗口[18],仅实时估计当前帧激光的位置与姿态,将历史激光帧和历史IMU 信息边缘化,转化为先验约束eMargin。三类约束条件的范数累加共同组成能量函数E。
详细实现如下:
(1)IMU预积分约束
(2)LiDAR匹配约束
对于第k帧点云中的一个三维点根据当前位姿及公式(1)计算得到该点在制图坐标系中的位置并在多尺度正态分布地图中搜索到的最邻近体素(均值为μ,协方差为P),可根据正态分布定义,构造误差函数
(3)边缘化约束
利用滑动窗口限制SLAM系统实时优化的参数量从而保证系统的实时计算能力。当一帧新的激光帧到来时,SLAM 系统将为其创建一组新的系统状态量,并删除最旧的系统状态量及相关约束条件,从而保证SLAM系统中优化的参数量固定不变。为了在删除最旧状态量与相关约束条件的过程中保留对当前系统状态量的约束,降低信息损失,本文利用舒尔补进行先验信息提取[19]。根据非线性最小二乘原理[20],本文能量函数E的求解如下:
式中:H=ATPA为Hessian 矩阵;δx为改正数,b=ATPl为 误 差 项。 将δx分 成 两 部 分δx=[δxmarg⊤,δxremain⊤]⊤,式中δxmarg为需要删除的最老状态量,而δxremain为需要保留的待优化状态量。式(9)可以改写为
从式(11)中可以发现,在不求解δxmarg的情况下,也可将δxremain进行求解,且顾及了最老观测信息的约束,即将最旧约束转化为对现有状态的先验信息,从而获得边缘化约束eMargin:
本文实验区域选取了两个典型城市场景,包括办公楼和地铁站,用于室内外一体化无缝测图实验(如图5)所示。实验人员携带头盔式激光扫描系统(如图6 a 所示),以1.3 m·s-1的步速对室内外环境进行扫描。实时扫描获取的数据经过本文提出方法处理,进行三维可视化,可视化的效果如图6 和图7所示。为了说明头盔激光扫描在视角与效率的优势,同时利用手持激光扫描在办公楼行走相同的路线进行数据采集,如图6 b所示,并采用LOAM算法对手持扫描数据进行处理,获取的点云数据如图9所示。
图5 试验区域Fig.5 Study area
图7 广埠屯地铁站室内外一体化三维点云地图Fig.7 Outdoor and indoor 3D point cloud map of computer-town subway station
图8 星湖楼室内外一体化三维点云地图Fig.8 Outdoor and indoor 3D point cloud map of Xinghu building
图9 手持激光点云星湖楼室内点云地图Fig.9 Point cloud collected by the handheld laser scanner in Xinghu building
为了验证头盔式激光扫描系统在室内外三维一体化测图的精度,本文利用地面激光扫描仪(Riegl VZ-400)在实验环境中进行扫描并进行多站扫描数据拼接。拼接后的多站激光扫描数据作为基准。人工在两个实验场景中分别选取30 个均匀分布的特征点,并建立其在地面激光扫描数据与头盔式激光扫描数据中的匹配关系,从而衡量头盔式激光扫描系统的精度。两个场景中的同名点误差分布如图10所示,其统计值如表2所示。其中,有部分同名点误差的最大值为0.86 m,主要是由于场景中存在高反的墙面(如地铁站内部的玻璃,楼道中的瓷砖等),激光原始观测存在镜面反射,产生了镜像观测错误,导致局部点云误差变大。可以发现同名点的平均误差小于0.44 m,均方根误差小于0.23 m。手持激光扫描获取的点云同名点误差的平均误差为0.57 m,大于头盔激光扫描获取的点云误差。
图10 特征点误差分布Fig.10 Error distribution of the selected corre⁃sponding points
表2 室内外三维点云误差分布Fig.2 The error distribution of indoor and outdoor point clouds
对比手持激光扫描和头盔激光扫描在室内获取的点云数据的完整度可以发现,头盔激光扫描获取的点云密度在建筑物顶面和地面更加均匀、稠密,这是由于不同激光器扫描的模式造成的。这是由于上述结果说明了头盔式激光扫描系统在室内外三维一体化无缝测图中具有巨大的潜力。
轻小型穿戴式激光扫描系统具有成本低、体积小、易操作的特点,是传统激光扫描系统的有效补充,可在通行受限区域获取三维空间数据。本文自主设计了头盔式激光扫描系统“WHU-Helmet”,提出基于多尺度正态分布变换的实时LiDAR-IMU SLAM方法,并以典型室内外环境为实验区域,以验证头盔式激光扫描系统在室内外一体化三维测图的精度与可行性。通过将“WHU-Helmet”获取的三维数据与地面式激光扫描系统获取的三维点云对比,“WHU-Helmet”获取的点云平均误差小于0.44 m,均方根误差小于0.23 m。头盔式激光扫描系统对导航信息无依赖,三维测图自动化程度高,在室内外三维一体化测图中有着巨大潜力。在未来的工作中,将以室内外结构化信息自动提取为研究点,利用结构约束信息提升穿戴式系统的三维测图精度。
作者贡献声明:
李健平:实现方法,完成实验,撰写论文。
杨必胜:提供方法思路,指导模型构建,实验数据处理及论文撰写。