0. 简介

由于点云的不规则数据形式以及散点的稀疏性,当前的方法难以从点云中提取高判别性的特征,在大规模环境中使用激光雷达进行全局定位仍是一个难以解决的问题。《BVMatch: Lidar-Based Place Recognition Using Bird’s-Eye View Images》一文中将点云表示为鸟瞰(Bird’s eye View, BEV)图像,从图像特征构建的角度设计了一个二阶段全局定位方法 BVMatch。BVMatch 基于地面区域可近似为平面的假设,把地面区域均匀离散为网格,将三维激光点云投影到 BEV 图像中。在特征提取结阶段,使用 Log-Gabor 滤波器组对图像结构的方向信息进行编码,构建了对图像强度失真不敏感的最大索引图像(Maximum Index Map,MIM)。通过分析 MIM 的方向特性,设计了一种同时对 BEV 图像的旋转和强度变化不敏感的局部描述子鸟瞰图特征变换 (Bird’s eye View Feature Transform,BVFT)。基于 BVFT 描述子,使用词袋模型构建了统一激光点云地点识别任务和位姿估计任务的完整全局定位框架,实现了激光点云的帧到帧地点识别和姿态估计。

1. 主要贡献

  1. 提出了一种称为 BVFT 的新型局部描述子,它对 BEV 图像的强度和旋转变化不敏感,基于此设计的 BVMatch框架统一了激光雷达位置识别和姿态估计任务,实现了全局定位。
  2. 从理论上分析了BVFT可以通过改变MIM图像块中的方向来实现旋转不变性。
  3. 在三个大型数据集上进行了实验,验证了BVMatch 在地点识别和位姿估计方面的性能均优于最先进的技术。

2. 主要方法

BVMatch方法包括图1所示的地点识别步骤和姿态估计步骤。在地点识别步骤中,BVMatch生成BV图像,并使用BoW方法进行帧检索。在姿态估计步骤中,BVMatch使用RANSAC匹配BV图像对,并使用类似的变换重建Lidar对的粗略2D姿态。最后,BVMatch使用迭代最近点(ICP)细化,以2D姿态作为初始猜测来准确对齐Lidar对。 接下来,我们首先介绍BV图像生成机制,然后介绍Lidar扫描对的粗略2D姿态重建。最后,我们展示离线字典和关键帧数据库的创建。

图1. BVMatch框架。在地点识别步骤中,字典和关键帧数据库是离线构建的。给定一个查询帧,BVMatch生成相应的BV图像,然后提取关键点和BVFT描述符。通过词袋模型方法实现地点识别。在姿态估计步骤中,BVMatch使用RANSAC算法匹配BV图像对,并重建激光雷达对的2D相对姿态。最后,BVMatch使用2D姿态作为迭代最近点(ICP)的初始猜测,以精确对齐激光雷达对。

2.1 BV图像生成

BV图像有几种类型,例如用于位置识别的最大高度图[22]和用于物体检测的密度图[29]。这两种图像都总结了周围结构的垂直形状。最大高度图使用具有最大高度的点的坐标值,而密度图利用点云密度。最大高度图对姿态敏感,因为机器人移动时点的坐标值可能会严重变化。相比之下,密度图更加稳健,因为点云的密度不依赖于特定的点。因此,在这项工作中,我们使用后者作为我们的BV图像表示。

P = {P_i | i = 1, …, N_p}为由点P_i = (x_i, y_i, z_i)组成的点云,N_p为点云中的点数。假设点云是在道路场景中收集的。x轴指向右侧,y轴指向前方,z轴指向上方。在这个坐标系中,x-y平面是地面平面。给定一个点云P,我们首先使用leaf大小为g米的体素网格滤波器均匀分布点。然后,我们将地面空间离散化为分辨率为g米的网格。点云密度是每个网格中的点数。我们考虑一个以坐标原点为中心的[−C m, C m]立方窗口。然后,BV图像B(u, v)是一个大小为[\frac{2C}{g}] × [\frac{2C}{g}]的矩阵。BV强度B(u, v)定义为

其中,N_g表示在位置(u,v)处网格中的点数,N_m表示归一化因子。N_m被设置为点云密度的第99个百分位数。 BV图像是点云的压缩表示,描述了自我中心环境的2.5D结构信息。它忽略了沿z轴的点分布,同时保留了x-y平面上的刚性结构。我们发现,在道路场景中,杆、立面和路标通常在BV图像中形成边缘。这些特征具有良好的重复性,并且在机器人移动时保持稳定。我们采用FAST [30]进行特征检测,并在BVMatch流程中使用关键点进行配准。

2.2 姿态重建

由于BV图像均匀离散化了地面空间,激光雷达扫描对的变换(P_i,P_j)与BV图像对(B_i(u,v),B_j(u,v))的变换类似。在获得(B_i(u,v),B_j(u,v))的变换之后,我们有B_i(u,v)= B_j(u0,v0),其中坐标

其中(t_u,t_v,θ)是变换参数。对于(P_i,P_j)对的变换矩阵T_{ij}

g表示体素网格滤波器的leaf大小。

2.3 字典和关键帧数据库

BVMatch利用词袋模型方法提取全局描述符,并使用关键帧数据库来检测查询激光雷达扫描的最佳匹配帧。 词袋模型方法假设环境中的相似结构会产生相似的特征分布。为了学习我们场景中的这种分布,我们从训练BV图像中提取了丰富的BVFT描述符。然后,我们应用K-means聚类算法获得了总共b个聚类。每个聚类是一个词,这些词的中心形成了一个词袋字典。我们使用该字典通过将点云的BVFT描述符分类为哪些词来将点云编码为词的形式。为了加权那些频繁且不具有区分性的词,我们使用了频率逆文档频率(TF-IDF)[4]。最后,我们为每个点云得到了一个大小为b的全局描述符。

关键帧数据库存储了带有全局位姿和描述符的BV图像。机器人在特定地点行进并收集沿途的激光雷达扫描。通过使用SLAM或GPS信息构建地点的地图,该遍历中收集的每个激光雷达扫描都被标记了全局位姿。我们每隔S米提取一个关键帧激光雷达扫描,并为每个关键帧生成一个全局描述符。关键帧数据库使用所有这些全局描述符、位姿和BV图像构建。

3. 提议的BVFT描述符(重点内容)

虽然BV图像保留了场景中稳定的垂直结构,但由于激光雷达扫描的稀疏性,它会遭受严重的强度失真。为了提取出独特的局部描述符,我们首先利用Log-Gabor滤波器计算BV图像的局部响应。然后,我们构建了一个最大索引图(MIM)[12],最初用于多模态图像匹配。最后,我们构建了一种对BV图像的强度和旋转变化不敏感的鸟瞰图特征变换(BVFT)。

3.1 最大索引图(MIM)

为了简化起见,我们在接下来的内容中使用极坐标来表示图像。欧几里得坐标(u,v)的极坐标(ρ,θ)定义为

其中(\tilde{u}, \tilde{v})表示图像的中心位置。 我们基于Log-Gabor滤波器[31]构建了MIM。在频域中,2D Log-Gabor滤波器的定义为:

其中f_sω_o是尺度s和方向o的中心频率,σ_fσ_ω是宽度参数。对于一个包含N_s个尺度和N_o个方向的LogGabor滤波器集合,这些滤波器被设计成均匀覆盖频谱。在我们的实现中,我们遵循[12]中的尺度设置。我们从集合O = {0, π/N_o, 2π/N_o, …,(N_o − 1)π/N_o}中选择方向,因此ω_o = o_π/N_o。请注意,2D logGabor滤波器的频率部分是各向同性的,这对于BVFT设计是必要的。我们使用一个包含N_s个尺度和N_o个方向的Log-Gabor滤波器组来构建MIM。对于尺度s和方向o的Log-Gabor滤波器,设L(ρ, θ, s, o)为空间域中(5)式的相应滤波器,A(ρ, θ, s, o)B(ρ, θ)在方向o和尺度s上的Log-Gabor幅度响应,我们有

其中表示卷积操作。然后,在方向o处的LogGabor幅度响应为

最大索引图(MIM)是一张显示具有最大Log-Gabor响应的方向的地图。

3.2 BVFT描述子

广泛应用于图像处理的Log-Gabor滤波器在位置、方向和空间频率上进行联合定位[31]。在BVFT中,我们使用Log-Gabor滤波器来捕捉场景中刚性垂直结构的方向信息,使用公式(8)。这使得MIM对BV图像的强度失真不敏感。然而,MIM对旋转仍然敏感。接下来我们将展示,通过将MIM中的方向相对于指定的主导方向进行偏移,可以实现旋转不变性。

图2. 一个简单的示例,说明了MIM(多模态图像)的旋转不变性。P_αP的旋转点云。B和MIM分别是P的BV(二值化)图像和MIM。B_α和MIMα分别是P_α的BV图像和MIM。可以观察到MIM和旋转后的MIMα的内容是相当不同的。通过平移(i),差异图(e)趋向于零,这证实了旋转不变性设计。