Processing math: 31%
高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

2020-08 目录

陶倩文, 胡钊政, 万金杰, 胡华桦, 张明. 基于点云极化表征与孪生网络的智能车定位[J]. 电子与信息学报, 2023, 45(4): 1163-1172. doi: 10.11999/JEIT220140
引用本文: 2020-08 目录[J]. 电子与信息学报, 2020, 42(8): 1-4.
TAO Qianwen, HU Zhaozheng, WAN Jinjie, HU Huahua, ZHANG Ming. Intelligent Vehicle Localization Based on Polarized LiDAR Representation and Siamese Network[J]. Journal of Electronics & Information Technology, 2023, 45(4): 1163-1172. doi: 10.11999/JEIT220140
Citation: contents[J]. Journal of Electronics & Information Technology, 2020, 42(8): 1-4.

2020-08 目录

contents

  • 高精度、高稳定性的定位技术是智能车系统的关键。目前主流的智能车定位技术是基于全球定位系统 (Global Positioning System, GPS) 的定位技术。普通GPS定位误差为2~10 m,需与高精度惯导或载波相位差分技术结合获得高精度定位,但无法适用于大范围卫星信号盲区[1]。2020年,中国科协公布的十大工程技术难题就包含“无人车如何实现在卫星不可用条件下的高精度智能导航”问题[2]。针对这个问题,研究学者提供了许多辅助定位手段,按照传感器类型主要可分为视觉定位方法与LiDAR定位方法。

    视觉定位方法主要包括视觉里程计、视觉即时建图与定位 (Simultaneous Localization and Mapping, SLAM) 以及基于视觉地图的定位方法[3]。视觉里程计计算连续帧之间的位姿,随着时间推移会产生累计误差,无法进行长时间定位。视觉SLAM采用闭环检测方法解决累计误差问题[4],但在复杂交通场景下闭环检测的效率与准确率都难以满足智能车的实时性与安全性需求。近年来许多研究学者提出了基于视觉地图的定位方法[5,6]。李祎承等人[5]提出利用多尺度视觉特征构建节点级视觉地图,并通过多尺度地图匹配实现车辆定位。视觉地图能提供稳定的位置参考,可有效避免累计误差问题,但由于光照变化、图像重叠视野较小等原因,视觉地图匹配的成功率较低。姚萌等人[6]提出利用语义信息与视觉地图序列进行匹配,有效地提高地图匹配的鲁棒性,但受限于图像重叠视野较小的原因,更适用于轻轨这类具有固定行驶轨道的场景。

    近年来随着成本降低,LiDAR成为智能车系统中的关键传感器。基于LiDAR的定位方法主要包括LiDAR里程计,LiDAR SLAM[7]与基于LiDAR地图的定位方法[8-11]。与视觉相机相比,LiDAR可直接获取高精度的3维信息,无需3维重建且不受光照影响。但LiDAR里程计与LiDAR SLAM也具有累计误差与闭环检测效率低等问题。基于LiDAR地图的定位方法可根据LiDAR地图类型进行分类,LiDAR地图主要可分为3维全局地图[8]、栅格地图[9]、车道级地图[10]与节点级地图[11]等。Koide等人[8]利用正态分布变换算法配准查询点云与3维全局地图。百度[9]利用直方图滤波计算车辆在栅格地图中的位姿。但3维全局地图与栅格地图检索复杂,均需要高精度GPS装置提供先验信息缩小检索范围。胡钊政等人[10]通过LiDAR检测墙面并匹配车道级地图获取横向位置约束以增强定位精度。但车道级地图仅能利用稀疏的车道线、道路标志与墙面等提供横向或纵向约束,缺少完整的道路场景信息。Yin等人[11]提出使用LocNet网络从点云中提取向量化指纹并与地图指纹进行相似度建模实现全局检索。Kim等人[12]提出一种基于点云的非直方图全局描述符并使用相似性评分计算点云间的距离实现全局定位。Chen等人[13]提出利用点云的多类信息进行特征学习从而估计点云之间的重叠率与偏航角。但这些方法需要在每个地图节点保存3维点云以进行点云配准与位姿估计,导致地图存储量过大,现有的网络传输设备难以支持用户端下载基于3维点云的节点级地图。

    具体而言,基于LiDAR地图的定位方法主要具有以下3类问题:(1) 现有的LiDAR地图表征模型具有数据量大、存储量大等问题,导致地图检索效率低、传输实时性差;(2) 现有的LiDAR地图匹配方法缺少地图粗匹配方法,需要高精度定位装置提供先验信息;(3) 现有的LiDAR地图匹配方法仍是对单帧点云与单帧地图节点之间的相似度进行建模,导致地图匹配的鲁棒性较差。针对以上问题,本文提出了轻量级点云极化地图表征方法与基于点云极化地图匹配的智能车定位方法,创新之处主要为以下两点:

    (1) 提出了一种基于孪生网络的点云极化地图粗匹配方法。轻量级点云极化地图模型由一系列的节点组成,每个节点均包含点云极化图、点云极化指纹以及轨迹信息。其中点云极化图是一种基于多通道图像模型的3维点云无损轻量化表征模型,点云极化指纹是一种利用孪生网络结构从点云极化图中提取并训练的具有场景分辨能力的指纹信息。利用基于孪生网络的点云极化指纹匹配方法可以实现快速的点云极化地图粗匹配,缩小地图检索的范围,无需GPS提供先验位置信息。

    (2) 提出了一种基于HMM2的地图序列精确匹配方法。相比于单帧点云与单帧地图节点之间的相似度建模,该方法以地图节点序列作为状态,以查询点云极化图为观测,对查询图像与地图节点序列之间相似度进行建模,并融入地图节点间的拓扑关系与车辆运动学模型,增强地图匹配的鲁棒性与准确性。

    本文算法的整体框架如图1所示,主要包括点云极化地图构建方法与基于点云极化地图匹配的智能车定位方法。轻量级点云极化地图由一系列的数据采集节点构成,每个数据采集节点主要包括3种要素:点云极化图、点云极化指纹与轨迹信息。智能车定位方法首先利用基于孪生网络的点云极化地图粗匹配方法缩小定位范围,然后利用基于HMM2的地图序列精确匹配方法获取最近的地图节点,最后通过与最近地图节点之间的点云配准计算车辆位姿,从而实现智能车定位。

    图 1  算法整体流程图
    2.1.1   点云极化表征模型

    本文提出了一种轻量化、简洁化、结构化的点云极化表征模型,将无序的3维点云转化为有序的2维点云极化图,并能通过成熟的图像处理技术与深度学习技术进行特征提取与匹配。设定LiDAR传感器包含N条激光束,水平视场角与分辨率为FovRes,则所生成的点云极化图大小为(N,Fov/Res)。如图2所示,图像像素I(row,col)与3维点pi(d,r,l,a)存在式(1)一一对应关系

    图 2  轻量级3维点云极化表征模型
    row=l+1col=aRes + 1} (1)

    其中,rowcol分别表示像素的行数与列数,并且d, r, la分别表示3维点pi的距离信息、反射强度、激光束的线数与方位角。其中 l[0,N),且a[0,Fov)

    机械式LiDAR传感器一般以16 bit二进制形式输出距离,以8 bit二进制形式输出反射强度。因此可利用3通道RGB图像的两个通道存储距离,一个通道存储反射强度,无任何数据损失。如果扫描点没有返回值,R, G, B 3个通道的像素值均设置为255。以Velodyne VLP-16为例,具有16线激光束,水平视场角及分辨率分别为360°和0.2°,所生成的点云极化图像素大小为16×1800。为了方便处理,将点云极化图从左到右均分成10块并从上到下地拼接成一个160像素×180像素大小的图像。最后采用无损压缩算法的位图格式(PNG格式)保存点云极化图。根据不同LiDAR传感器的性质,可以获取不同大小的点云极化图。

    2.1.2   点云极化指纹

    图3所示,本文构建了一种孪生网络模型PL-Net对两个点云极化图的相似度进行建模[14],输入为一对点云极化图I1I2及其标签L,通过两个权重相同的VGG16网络获取点云极化指纹。所采用的VGG16网络包含5个卷积层,其中包括2~4个卷积操作,每个卷积层后有一个最大池化层,最后有一个全连接层。尽管不同类型的LiDAR传感器所生成的点云极化图像素大小不同,通过VGG16网络生成的指纹均为统一大小的张量,即1×1×4096。定义利用VGG16网络F从点云极化图I中提取点云极化指纹f的过程为

    图 3  PL-Net框架
    f=F(I) (2)

    通过VGG16网络分别从I1I2中提取点云极化指纹f1f2,并通过式(3)计算两个指纹之间的绝对差

    d=f1f21 (3)

    最后通过Sigmoid函数将绝对差转换为一个具有如式(4)所示正则化的交叉熵损失的概率值P(I1,I2)

    Loss(I1,I2,L)=Llg(P(I1,I2))+(1L)lg(P(I1,I2))+λϖ2 (4)

    其中,λ表示2范数的正则化权重。

    PL-Net框架中输入的标签L=1表示2张点云极化图是在相邻位置获取的,反之L=0则表示不是。本文的训练数据可以通过式(5)实现自动化标注:

    L={1, dis(I1,I2)ε0, dis(I1,I2)>ε (5)

    其中,dis(I1,I2)表示I1I2采集位置之间的距离,ε为阈值。本文中ε设置为1.5 m。

    2.1.3   节点级点云极化地图

    本文采用节点级的点云极化地图表征模型对整体道路环境表征,该模型由一序列的数据采集节点构成。在离线建图阶段,装载有LiDAR传感器和高精度GPS装置的数据采集车在道路上匀速行驶,LiDAR传感器采集点云数据,高精度GPS装置采集高精度GPS数据。其中高精度GPS装置仅在离线建图阶段使用。

    考虑到地图存储量,点云极化地图中的每个数据采集节点仅包含3个元素:(1) 轨迹位姿信息。轨迹位姿信息表示每个采集点与第1个采集点之间的位姿关系,通过LiDAR SLAM算法获取,并通过高精度GPS数据矫正;(2) 点云极化图。点云极化图是通过轻量级3维点云极化表征模型从LiDAR传感器中直接获取的,相比3维点云具有更小的存储大小;(3) 点云极化指纹。点云极化指纹是一种具有独特性与分辨性的道路场景表征信息,通过VGG16网络从点云极化图中提取并通过孪生网络进行训练。

    更进一步地,通过GPS接收器与LiDAR传感器之间的标定,可以获取地图的局部坐标系与GPS全局坐标系之间的转换矩阵Pg。因此,所构建的点云极化地图可以映射到GPS坐标系中。

    2.2.1   基于孪生网络的点云极化地图粗匹配

    为了快速鲁棒的地图检索,本文提出基于孪生网络的点云极化地图粗匹配方法寻找距离当前车辆位置ε内的地图节点。假设在极短时间内车辆是匀速运动的,通过车辆运动学模型可估计t时刻车辆位置xt

    xt=2xt1xt2 (6)

    其中,xt1, xt2分别是t1, t2时刻的车辆位置。

    给定一个阈值μ(μ>ε),选出地图中所有与xt距离小于μ的节点作为候选地图节点。本文中μ设置为5.0 m,以确保候选地图节点中包含距离当前车辆位置最近的地图节点。利用VGG16网络从查询图像中提取点云极化指纹,并利用PL-Net模型计算查询指纹与所有候选地图指纹之间的相似度。选择相似度大于阈值ξ的地图节点作为地图粗匹配结果。本文设定ξ = 0.5。

    2.2.2   基于HMM2的地图序列精确匹配

    图4所示,在地图粗匹配结果的基础上,本文采用HMM2模型来解决地图精确匹配问题,即从地图粗匹配结果中选出最近的地图节点。将所构建的点云极化地图作为状态空间,其中所有的地图节点表示为M1:n={M1,,Mi,,Mj,,Mn}。将当前点云极化图作为观测ZtZ1:t={Z1,Z2,,Zt}表示观测的时间序列。将地图粗匹配结果中的地图节点序列作为隐藏状态XtX1:t={X1,X2,,Xt}是隐藏状态的时间序列,XtZt一一对应。因此地图精确匹配问题转换成最大联合概率问题:

    图 4  基于HMM2框架的地图精确匹配问题求解
    X=argmaxXtP(Xt|Z1:t)argmaxXtP(Xt,Z1:t) (7)

    本文提出采用HMM2模型对隐藏状态的转移进行建模,即 {X_t} 仅与 {X_{t - 1}} {X_{t - 2}} 相关。相对而言,1阶HMM模型中 {X_t} 仅与 {X_{t - 1}} 相关,因此需假设当前车速为匀速,但这不满足智能车的实际需求。HMM2模型可以通过速度补偿预测当前时刻的状态,更适用于实际的驾驶环境,对车速的变化具有更强的鲁棒性。此外,与单个的地图节点作为地图匹配的输入相比,HMM2框架将地图节点序列作为输入可以提高地图匹配的鲁棒性与准确率。遍历所有可能的状态序列{X_{1:t}} = \left\{ {{X_1},{X_2}, \cdots ,{X_t}} \right\}计算联合概率 P\left( {{X_t},{Z_{1:t}}} \right)

    P\left( {{X_t},{Z_{1:t}}} \right) = \sum\limits_{{X_1}} {\sum\limits_{{X_2}} \cdots } \sum\limits_{{X_{t - 1}}} {P\left( {{X_{1:t}},{Z_{1:t}}} \right)} (8)

    HMM2框架包含一个长度为t的观测序列以及m个来自M的隐藏状态,计算 P\left( {{X_t},{Z_{1:t}}} \right) 需要遍历 {m^t} 个可能的隐藏状态序列,计算过程十分复杂。本文采用前向算法解决式(8),递归地计算 P\left( {{X_t},{Z_{1:t}}} \right) ,在很大程度上提高计算效率。为了证明递归性,使:

    {\alpha _t}{\text{ = }}P\left( {{X_{t - 1:t}},{Z_{1:t}}} \right) (9)

    根据链式法则与HMM2模型的属性, {\alpha _t} 可扩展为

    \begin{split} {\alpha }_{t}=& {\displaystyle \sum _{{X}_{t-2}}P\left({X}_{t-2:t},{Z}_{1:t}\right)}=\displaystyle \sum _{{X}_{t-2}}P\left({Z}_{t}|{X}_{t-2:t},{Z}_{1:t\text-1}\right)\\ &P\left({X}_{t}|{X}_{t-2:t-1},{Z}_{1:t\text-1}\right) P\left({X}_{t-2:t-1},{Z}_{1:t-1}\right) \\ =&\underset{发射概率}{\underbrace{P\left({Z}_{t}|{X}_{t}\right)}}{\displaystyle \sum _{{X}_{t-2}}\underset{状态转移概率}{\underbrace{P\left({X}_{t}|{X}_{t-2:t-1}\right)}}}{\alpha }_{t-1}\\[-21pt] \end{split} (10)

    其中, P\left( {{Z_t}\left| {{X_t}} \right.} \right) 是发射概率, P\left( {{X_t}\left| {{X_{t - 2:t - 1}}} \right.} \right) 是状态转移概率。

    因此,仅需确定了初始状态概率,即可递归地计算 P\left( {{X_t},{Z_{1:t}}} \right)

    P\left( {{X_t},{Z_{1:t}}} \right) = \sum\limits_{{X_{t - 1}}} {P\left( {{X_{t - 1:t}},{Z_{1:t}}} \right)} = \sum\limits_{{X_{t - 1}}} {{\alpha _t}} (11)

    最后,通过式(12)计算最大联合概率获取最近地图节点 {X^ * } (也是最优状态序列)

    {X^ * } = \mathop {\arg \max }\limits_{{X_t}} P\left( {{X_t},{Z_{1:t}}} \right){\text{ = }}\mathop {\arg \max }\limits_{{X_t}} \sum\limits_{{X_{t - 1}}} {{\alpha _t}} (12)

    由式(10)可知递归计算的关键之处在于初始状态概率、发射概率和状态转移概率建模。过程如下:

    (1) 初始状态概率:初始状态概率表示状态的初始概率分布。如果车辆从地图节点 {M_i} 处开始运行,状态空间 {M_{1:n}} 的初始概率分布如式(13)所示

    \begin{split} & {\boldsymbol{\pi}} \left({X}_{1}\right)={\left[\begin{array}{cccc}{\pi }_{1}& {\pi }_{2}& \cdots & \begin{array}{ccc}{\pi }_{j}& \cdots & {\pi }_{n}\end{array}\end{array}\right]}^{{\rm{T}}},\\ & 且\text{ }\left\{\begin{array}{cc}{\pi }_{j}=1,& j=i\\ {\pi }_{j}=0,& j\ne i\end{array}\right. \end{split} (13)

    其中, {\pi _j} 表示车辆从地图节点 {M_j} 启动的概率。

    (2) 状态转移概率:状态转移概率 P\left( {{X_t}\left| {{X_{t - 1:}}_{t - 2}} \right.} \right) 表明从前2个时刻的状态 {X_{t - 1}} {X_{t - 2}} 转移到当前状态 {X_t} 的概率,其中P\left( {X_t} = {M_k}\left| {X_{t - 1}} = {M_j}, {X_{t - 2}} = {M_i} \right. \right)表示车辆从 {M_i} 转移经过 {M_j} 到达 {M_k} 的概率。计算地图节点之间的状态转移概率需考虑到车辆运动学模型与道路环境之间的拓扑结构,前者反映了地图节点之间的转移关系,后者反映了地图节点之间的连通性。地图节点与预测位置之间的距离越小,其状态转移概率越大,因此本文在高斯模型的基础上利用该距离对状态转移概率进行建模,即

    \begin{split} & P\left( {{X_t} = {M_k}\left| {{X_{t - 1}} = {M_j},{X_{t - 2}}} \right. = {M_i}} \right) \\ & \quad \propto \exp \left( { - \frac{{{{\left\| {{\boldsymbol{g}}\left( {{M_k}} \right) - {{\boldsymbol{u}}_s}} \right\|}^2}}}{{2{\sigma _s}^2}}} \right) \end{split} (14)

    其中, {\boldsymbol{g}}\left( {{M_k}} \right) 表示地图节点 {M_k} 的位置,均值 {{\boldsymbol{u}}_s} 是根据 {X_{t - 1}} = {M_j} {X_{t - 2}} = {M_i} 获取的当前状态预测,可由式(6)获取,即{{\boldsymbol{u}}_s} = 2{\boldsymbol{g}}\left( {{M_i}} \right) - g\left( {{M_j}} \right)。协方差 {\sigma _s} 可调整状态转移概率之间的相对大小。最后需将所有到达地图节点 {M_k} 的状态转移概率归一化。

    (3) 发射概率:发射概率 P\left( {{Z_t}\left| {{X_t}} \right.} \right) 表示 {X_t} 处获取 {Z_t} 的概率。本文采用加速鲁棒特征 (Speeded-Up Robust Feature, SURF) 描述子[15]来匹配观测与状态的点云极化图,并采用随机抽样一致(RANdom SAmple Consensus, RANSAC) 算法[16]去除错误匹配。匹配的特征点越多,查询图像与地图图像越相似,发射概率越大。因此,本文在高斯模型的基础上利用匹配特征点的数目对发射概率进行建模,即

    P\left( {{Z_t}\left| {{X_t}} \right.} \right) \propto \exp \left( { - \frac{{{{\left\| {N\left( {{X_t},{Z_t}} \right) - {u_e}} \right\|}^2}}}{{2{\sigma _e}^2}}} \right) (15)

    其中, N\left( {{X_t},{Z_t}} \right) 表示 {X_t} {Z_t} 之间点云极化图匹配的SURF特征点数目,均值 {u_e} 是查询图像提取的SURF特征点数目,协方差 {\sigma _e} 可调节发射概率之间的相对大小。最后需将属于 {Z_t} 的发射概率归一化。

    本节对HMM2框架中的初始状态概率,状态转移概率与发射概率进行建模,并采用前向算法递归地计算最优地图匹配序列。具有最大联合概率的地图节点 {X^ * } 即为距离当前车辆最近的地图节点。

    2.2.3   基于点云配准的智能车定位

    根据上节所提的地图序列精确匹配方法获取了距离当前车辆最近的地图节点后,即可通过点云配准计算当前车辆位姿。首先根据LiDAR传感器性质,将最近地图节点中存储的点云极化图转换成3维点云。然后通过快速的广义迭代最近点(Generalized Iterative Closet Point, GICP) 算法[17]与查询点云进行点云配准,获取车辆在地图中的位姿 {{\boldsymbol{P}}_t} 。最后根据地图的局部坐标系与GPS全局坐标系之间的转换矩阵 {{\boldsymbol{P}}_g} 计算车辆在GPS全局坐标系中的位姿,即

    {{\boldsymbol{P}}_c} = {{\boldsymbol{P}}_t} \cdot {{\boldsymbol{P}}_g} (16)

    实验中分别采用了校园内采集的实地数据集与公开的KITTI数据集[18]验证本文方法。实验平台为具有英特尔i7处理器、8GB RAM, GeForce GTX 1660 Ti显卡的联想拯救者笔记本电脑。

    图5所示,实地数据集是使用装载有一个Velodyne VLP-16与一个高精度惯导 (型号为BDStar Npos220) 的数据采集车在校区采集的3次数据,分别包含1514,1201和1670个激光点云数据及同步的高精度GPS数据。车辆行驶速度为10~20 km/h,传感器的采集频率均为10 Hz,实验路线 (图5(b)中红色路径) 总长约为540 m。第1次数据用于点云极化地图构建,第1, 2次数据用于孪生网络训练,第3次实验数据用于定位方法测试。高精度GPS数据仅有2个作用:(1) 在离线建图阶段用于矫正LiDAR SLAM算法计算的轨迹位姿信息,确保所构建的点云极化地图的精度;(2) 在定位阶段用于验证定位算法的精度。

    图 5  实地数据集实验平台与实验场景

    在定位之前,需预先构建点云极化地图。整个地图的存储大小与路径长度、地图分辨率 \Delta m (即两相邻地图节点之间的平均距离) 以及单个节点大小相关。路径长度由实际情况决定, \Delta m 的选取与定位测试结果一起讨论,而单个地图节点大小取决于所存储的3个要素。这3个要素均为固定大小:轨迹位姿信息包含一个3×3的旋转矩阵和一个3×1的平移矩阵;点云极化指纹是一个1×1×4096大小的张量;点云极化图大小由LiDAR传感器类型决定。如图6所示,实地数据集所采用的Velodyne VLP-16可生成160像素×180像素大小的点云极化图,并由无损压缩的PNG格式保存。其平均存储大小约为44 kB,而相应3维点云数据的平均存储大小约为1179 kB,减少了96.27%的数据存储空间,可以在很大程度上降低地图数据的存储空间。

    图 6  由Velodyne VLP-16生成的点云极化图

    实验利用实地数据集在不同 \Delta m 与不同车速v下进行了基于孪生网络的地图粗匹配实验。当 \Delta m 过小会导致地图存储量过大,当 \Delta m 过大会导致点云配准容易失败,因此实验选取了1.0 m, 1.5 m与2.0 m的 \Delta m 进行验证。实验还分别选取了5 m/s, 10 m/s和15 m/s的 v ,可通过不同的定位节点采样频率获取。实验结果如表1所示,表中{\overline P _f}表示不同 v 下地图粗匹配结果包含最近地图节点的平均概率。结果表明基于孪生网络的地图粗匹配可以在很大程度上缩小定位范围,且具有鲁棒的定位准确率。

    表 1  基于孪生网络的点云极化地图粗匹配结果
    \Delta m (m)\mu 内地图节点的
    平均数目 (个)
    粗匹配结果的
    平均数目 (个)
    {\overline P _f} (%)
    1.010.03.095.42
    1.56.72.996.39
    2.05.03.195.70
    下载: 导出CSV 
    | 显示表格

    在地图粗匹配结果的基础上进行基于HMM2的地图序列精确匹配,影响地图序列精确匹配结果的因素主要有:基于SURF特征的点云极化图匹配准确率,概率模型中的 {\sigma _s} {\sigma _e} \Delta m 以及 v 图7展示了2个不同距离的点云极化图进行SURF匹配的示例,这表明点云极化图距离越近,SURF匹配的特征点数目越多。表2展示了在地图粗匹配结果的基础上使用SURF特征匹配点云极化图的结果。表中{\overline P _s}表示不同v下匹配结果为最近地图节点的平均概率。实验结果表明 \Delta m = {\text{ }}1.5{\text{ m}} \Delta m = {\text{ }}2.0{\text{ m}} 时使用SURF特征匹配点云极化图具有较高的准确率。需要注意的是,表2中存在{\overline P _s}表1{\overline P _f}高的情况,是因为地图粗匹配过程中存在少数查询指纹没有匹配到相似度大于\xi 的地图节点的情况,在这种情况下则将距离预测值\mu 内所有地图节点均作为地图粗匹配结果。

    图 7  不同间距的点云极化图的SURF匹配结果
    表 2  基于 SURF 特征的点云极化图匹配准确率
    \Delta m (m){\overline P _s} (%)
    1.085.09
    1.595.88
    2.097.71
    下载: 导出CSV 
    | 显示表格

    为了验证其他因素对地图序列精确匹配的影响,实验中分别改变这些因素以获取地图序列精确匹配结果的准确率。首先设定 \Delta m = {\text{ }}1.5{\text{ m}} , v = {\text{ }}15{\text{ m/s}} ,改变状态转移概率与发射概率的协方差 {\sigma _s} {\sigma _e} ,获取地图序列精确匹配结果,如表3所示,表中{P_a}表示匹配结果为最近的地图节点的概率。当协方差 {\sigma _s} = 1.0 {\sigma _e} = 1.5 时,地图序列精确匹配结果的准确率最高。然后设定协方差 {\sigma _s} = 1.0 {\sigma _e} = 1.5 ,改变 \Delta m v并计算地图序列精确匹配结果的准确率,实验结果如表4所示。实验结果表明当 \Delta m = {\text{ }}2.0{\text{ m}} 时不同车速下地图序列精确匹配方法的准确率均是最高的且能达到98%以上。

    表 3  改变 {\sigma _s} {\sigma _e} 获取地图序列精确匹配结果Pa (%)
    {\sigma _s} {\sigma _e}
    0.51.01.52.02.5
    0.897.9997.9998.5798.2897.99
    1.097.9997.9998.8597.7197.13
    1.297.7197.9998.2896.8596.28
    下载: 导出CSV 
    | 显示表格
    表 4  改变地图分辨率和车速获取地图序列精确匹配结果Pa (%)
    v (m/s) \Delta m (m)
    1.52.0
    596.2298.46
    1095.0498.09
    1597.9998.85
    下载: 导出CSV 
    | 显示表格

    选定 {\sigma _s} {\sigma _e} \Delta m 后,本文还与文献[11]、文献[12]、文献[13]及文献[7]中的地图匹配方法进行对比,其中文献[7]中的地图匹配方法采用ICP算法匹配查询点云与历史点云从而实现回环检测,实验结果如表5所示。表中{\overline P _a}表示不同 v 下地图序列精确匹配结果为最近的地图节点的平均概率。实验结果证明,与其他方法相比,所提的地图序列精确匹配方法具有更好的地图匹配准确率与较好的实时性。

    表 5  不同方法的地图匹配结果对比
    方法{\overline P _{{a} } } (%)平均耗时 (ms)
    本文方法98.5758.12
    文献[11]96.2989.40
    文献[12]87.4335.80
    文献[13]95.43395.34
    LeGO-LOAM[7]中回环检测模块55.71544.04
    下载: 导出CSV 
    | 显示表格

    通过地图序列精确匹配获取最近地图节点后,基于点云配准的智能车定位结果及误差分布如图8中蓝色圆圈点线所示。本文方法定位结果的平均绝对误差(Mean Absolute Error, MAE)与均方根误差(Root Mean Square Error, RMSE)分别为0.36 m与0.39 m。其中定位误差小于0.50 m的定位次数占总实验次数的83.48%,定位误差小于0.75 m的定位次数占比为94.86%,定位误差小于1.00 m的定位次数占比为99.43 %。最后还与文献[11]、文献[12]、文献[13]及文献[7]中的定位方法进行对比,对比结果如图8表6所示。实验结果表明,与其他方法相比,本文方法使用Velodyne VLP-16能实现高于98%的地图匹配准确率、0.36 m的MAE误差和12.74 Hz的定位频率,具有更好的地图匹配鲁棒性、定位精度与较好的实时性。

    图 8  实地数据集的智能车定位结果与对比
    表 6  不同方法的定位结果对比
    方法MAE (m)RMSE (m)平均定位耗时 (ms)
    本文方法0.360.3978.47
    文献[11]0.460.48109.75
    文献[12]1.030.7459.65
    文献[13]0.550.61420.92
    LeGO-LOAM[7]0.730.62100.87
    下载: 导出CSV 
    | 显示表格

    为了验证本文方法对不同LiDAR传感器与不同场景的鲁棒性,本文还采用了公开的KITTI数据集(2011年9月30日采集的城市场景数据)进行试验。实验路线 (图9中红色路径) 总长约为1917 m,共有2085数据采集点。实验采用奇数序号的节点数据用于点云极化地图构建,采用偶数序号的节点数据用于定位方法测试,还采用奇数序号的节点数据与KITTI数据集中其他的城市场景数据进行孪生网络训练。

    图 9  KITTI数据集的实验路径

    在定位之前,需预先构建点云极化地图。本文采用的KITTI数据集中两相邻地图节点之间的平均距离约为1.8 m,即为地图分辨率\Delta m。KITTI数据集所采用的Velodyne HDL-64E具有64线激光束,水平视场角与分辨率分别为360°和0.09°,可生成640像素×400像素大小的点云极化图,如图10所示。本文实验中由Velodyne HDL-64E生成的2维点云极化图的平均大小为385 kB,而相应3维点云数据的平均大小为1843 kB,减少了79.11%的数据存储空间。由此可见,基于3通道RGB图像模型的点云极化图可以表征不同类型的LiDAR传感器的3维点云数据,并且在很大程度上减少了地图数据存储空间。

    图 10  由Velodyne HDL-64E生成的点云极化图

    同样地,基于孪生网络的地图粗匹配结果包含最近节点的概率为93.36%。设定协方差 {\sigma _s} = 1.0 {\sigma _e} = 1.5 ,基于HMM2的地图序列精确匹配结果以及与文献[11]、文献[12]、文献[13]及文献[7]中地图匹配方法的对比结果如表7所示。实验结果表明,与其他方法相比,所提的地图匹配方法具有更好的地图匹配准确率与实时性,并对不同的LiDAR传感器具有更好的鲁棒性。

    表 7  不同方法的地图匹配结果对比
    方法Pa (%)平均耗时 (ms)
    本文方法96.5594.23
    文献[11]90.02250.03
    文献[12]94.72117.64
    文献[13]95.301068.14
    LeGO-LOAM[7]中回环检测模块89.06610.03
    下载: 导出CSV 
    | 显示表格

    同样地,智能车定位结果及误差分布如图11中蓝色圆圈点线所示,定位结果的MAE与RMSE分别为0.18 m与0.52 m。其中定位误差小于0.25 m的定位次数占总实验次数的88.39%,小于0.50 m的占比为94.05%,小于0.75 m的占比为96.07%。最后与文献[11]、文献[12]、文献[13]及文献[7]中定位方法的对比结果如图11表8所示。需要说明的是,文献[11]的方法计算定位误差时去除了6.91%定位失败的节点,即在地图匹配阶段未能获取任何地图节点,而本文方法与文献[12]、文献[13]及文献[7]在每个定位测试节点均能获取定位结果。实验结果表明,与其他方法相比,本文方法使用Velodyne HDL-64E能实现高于96%的地图匹配准确率、0.18 m的MAE误差和7.21 Hz的定位频率,具有更好的地图匹配鲁棒性、定位精度与较好的实时性。虽然低于LeGO-LOAM算法定位频率,但与其他方法相比仍具有较大优势且比LeGO-LOAM算法中的回环检测模块 (1.64 Hz) 具有更高的效率,满足智能车的实时性需求。此外,与文献[11]、文献[12]、文献[13]及文献[7]相比,本文方法对不同的场景与不同的激光雷达传感器在地图匹配、车辆定位和定位效率上均具有更好的鲁棒性。

    图 11  KITTI数据集的智能车定位结果与对比
    表 8  不同方法的定位结果对比
    方法MAE (m)RMSE (m)平均定位耗时 (ms)
    本文方法0.180.52138.70
    文献[11]0.252.65294.41
    文献[12]0.260.53162.11
    文献[13]0.230.461116.62
    LeGO-LOAM[7]2.652.78104.78
    下载: 导出CSV 
    | 显示表格

    本文提出了一种轻量级的点云极化地图表征模型,还提出了一种基于点云极化地图匹配的智能车定位方法。实验结果表明,本文方法对不同的LiDAR传感器与不同的场景具有良好的鲁棒性,地图匹配准确率可达96%,车辆定位精度可达30 cm左右,且能满足智能车的实时性需求。此外,本文算法提供稳定的、鲁棒的定位结果,可与其他算法的定位结果相融合,如文献[7]中代替回环检测模块为LiDAR里程计提供更精确的位姿参考,或如文献[9]中与其他传感器定位结果进行融合。

  • 期刊类型引用(1)

    1. 汤伟,方嘉楠,张龙,杨晓东,李国强. 基于孪生网络的高速公路雾天能见度识别方法. 交通信息与安全. 2023(04): 122-131+142 . 百度学术

    其他类型引用(0)

  • 加载中
计量
  • 文章访问数:  176
  • HTML全文浏览量:  27
  • PDF下载量:  30
  • 被引次数: 1
出版历程
  • 刊出日期:  2020-08-18

目录

/

返回文章
返回