6

Iris: 比ScanContext更加精确高效的激光回环检测方法(IROS 2020)

 2 years ago
source link: https://zhuanlan.zhihu.com/p/444299298
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Iris: 比ScanContext更加精确高效的激光回环检测方法(IROS 2020)

论文阅读《LiDAR Iris for Loop-Closure Detection》(IROS 2020 Oral)

代码已开源:https://github.com/JoestarK/LiDAR-IrisIRIS是一个实验性能比ScanContext更好的开源的激光雷达全局描述子,下图是作者通过自制的VLP-16数据集验证IRIS的回环效果。

作者:晃晃悠悠的虚无周|来源微信公众号:3D视觉工坊

v2-c45ea05a1de99892eb07c61ddbd02ea3_720w.jpg

IRIS起名来自虹膜。虹膜区域内的每个点通常会通过道格曼橡胶板模型映射为一对极坐标,激光雷达的点云同样也可以被映射为极坐标的表示。

v2-e0c8fb58589f2a6cbd917724660f2c34_720w.jpg

右上是当IRIS检测到回环的时候的候选帧与匹配帧的点云极其对应的IRIS生成图。下图是运行代码单独对比两帧激光点云的IRIS实时输出:

v2-213810593f116c2268ef54c6c660c82a_720w.jpg

Motivation:目前激光的全局或者局部描述子的描述能力和不变性能里仍然有所欠缺,虽然Scan-Context的提出,很大程度上缓解了这个问题,但是Scan-Context本身仍然有一些缺陷,一是它只利用了最大的高度,丢失了很多点云信息,二是Scan-Context不具有旋转不变性,需要进行暴力匹配,三是Scan-Context缺少特征提取步骤。IRIS一一解决了上述缺陷。Contribution:

  1. 提出了一个LiDAR点云的全局描述符LiDAR Iris,将一个地方总结为在LiDAR-Iris图像表示上进行几次Gabor过滤和阈值操作后获得的二进制签名图像, 充分利用了点云的大部分信息。
  2. 该全局描述符具有旋转不变性,避免了暴力搜索,节约了计算资源。
  3. 与现有的LIDAR全局描述符相比,该描述符的性能达到了SOTA。

Content:Lidar Iris描述符的生成理论上可以分解为4个步骤: 一是离散化鸟瞰图像;二是对离散后的图像进行编码;三是生成Lidar-Iris图像;四是对图像执行二值化。执行上可以分解为三个模块,一是生成Lidar-Iris图像的表示;二是通过傅立叶变换使得Lidar-Iris具有平移不变性;三是基于LoG-Gabor滤波器的二值特征提取。1.Lidar-Iris图像的表示的生成首先将点云转换为鸟瞰图,过程示意图如下。具体过程是保留一个面积为k×k的正方形作为有效感应区,激光雷达的位置作为正方形的中心。以这个正方形为单位,将点云离散为80(径向) * 360(角向)的bin。

为了完整地表示点云,对每个面元内的点采用一些特征提取方法,如高度、距离、反射、环等。为简单起见,使用八位二进制代码对同一个bin内的所有点进行编码。以高度的编码方法举例,对于每一个bin内的点云集,首先按照高度的大小顺序,线性离散为8个bin,并不是每个bin都会有点,有点的bin值为1,否则为0,从而可以获得上图中的8位二进制编码。仿照虹膜识别算法,Lidar-IRIS将激光雷达的鸟瞰图扩展为图像条,Lidar-IRIS图像的像素强度为每个bin的8位二进制数所转换的十进制数。一方面,与现有的基于直方图的全局描述符相比,所提出的编码过程不需要对每个bin中的点进行计数,从而提高了计算效率;另一方面,该编码过程是固定的,不需要像CNNs模型那样预训练。这时候的描述子尚未具有平移不变性,下面会通过傅立叶变换使得描述子具有平移不变性。2.对于具有平移不变性Lidar-Iris的傅立叶变换平移变化会导致基于激光雷达的闭环检测的Lidar-IRIS描述子的显著退化。为了解决这个问题,采用傅里叶变换来估计两幅Lidar-IRIS图像之间的平移。基于傅里叶变换的方案能够估计大的旋转、缩放和平移(用不到缩放)。点云的旋转对应于经过傅里叶变换后的Lidar-IRIS图像的水平平移, 点云的平移不仅对应傅里叶变换后的 LiDAR-Iris 图像的垂直平移,还会引起Lidar-IRIS图像像素强度的轻微变化, 但是Lidar-IRIS以bin为最小单位保留了点云的绝对内部结构,提高了辨别能力并且对图像像素强度的变化具有鲁棒性, 所以可以忽略由机器人在小范围内平移引起的 LiDAR-Iris 图像中强度的变化。假设两个Lidar-IRIS图像仅仅差别一个位移:

那么这两个图像之间的傅立叶变换可以定义为:

对应的,归一化的交叉功率谱定义为:

3.基于LoG-Gabor滤波器的二值特征提取使用LoG-Gabor滤波器从Lidar-IRIS图像中深入提取特征: LoG-Gabor滤波器可用于将Lidar-IRIS区域中的数据分解为以不同分辨率出现的分量,与传统的傅里叶变换相比,它的优势在于允许频率数据局部化,允许在相同位置和分辨率进行特征匹配。为了确保实时性,仅使用1D LoG Gabor滤波器。一维Log-Gabor滤波器的频率响应如下:

利用八个1D LoG Gabor滤波器对Lidar-IRIS图像的每一行进行卷积,其中滤波器的波长增加相同的因子,从而得到每个滤波器的实部和虚部。在下图中,第一幅图像显示了八个1D log-Gabor滤波器,第二幅图像显示了前四个滤波器卷积响应的实部和虚部:

尝试使用不同数量的LoG-Gabor滤波器进行特征提取,实验中发现四个LoG-Gabor滤波器可以在较低的计算成本下实现最佳的闭环检测精度。下图显示了使用不同数量的LoG-Gabor滤波器可以在验证集上实现的精度,其中使用四个滤波器的结果是最好的。通过简单的阈值运算,将四个滤波器的卷积响应转化为二值,从而将它们叠加到每个Lidar-IRIS图像的大型二值特征图中。上图的第三幅图像显示了激光雷达虹膜图像的一个二值特征图。

4.使用Lidar-IRIS的闭环检测为了将Lidar-IRIS应用于闭环检测,为每个点云生成一个Lidar-IRIS的二值特征图。因此,可以保存所有关键帧获取的Lidar-IRIS二进制特征的历史数据库。当前关键帧和每个历史关键帧的Lidar-IRIS二值特征贴图之间的距离由汉明距离计算。如果获得的汉明距离小于阈值,则将其视为闭环。5.实验结果1)亲和矩阵可视化第一行表示KITTI05的数据集,第二行表示作者自己采集的小规模数据集,第一列表示真值生成的亲和矩阵,第二列到第五列分别表示Lidar-IRIS,ScanContext,M2DP和ESF生成的亲和矩阵。在Lidar-IRIS和ScanContext的亲和矩阵里,颜色越重,相似度越高,在M2DP和ESF的亲和矩阵里,颜色越轻,相似度越高。

2)对应A的轨迹左列对应于上述闭环的亲和矩阵放大和对应的轨迹,右列代表真值对应的亲和矩阵,红色蓝色黄色的框分别表示对应的检测到闭环的位置,可以看出IRIS的亲和矩阵对于回环的检测是比较敏感的。

3)准确率-召回率曲线红色的曲线代表的是作者提出的IRIS全局描述子,绿色的是M2DP,蓝色的是ESF,浅蓝色的是Scan-Context。从左往右,每一列分别对应着KITTI00,KITTI05,KITTI08和作者采集的小规模和大规模数据集。从上往下,第一行代表的是完整的回环检测策略,第二行将回环检测问题转成一个Re-ID问题,整体的评判标准没有太大区别。可以看出,作者提出的IRIS描述子,在实验中的所有场景的回环任务和Re-ID任务中都可以取得最好的效果。

4)时间对比主要和Scan-Context对比每帧所需要的时间,数据集是KITTI00,IRIS的时间显著少于Scan-Context。

Conclusion:Lidar-IRIS和Scan-Context的思路是比较相似的,总体上对Scan-Context进行了改进,一是改进了Scan-Context只利用了点云最大高度的问题,二是解决了Scan-Context对于平移不变性需要使用暴力搜索的问题,论文中的实验性能明显高于Scan-Context,实际效果需要运行后测试。本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进

4.国内首个面向工业级实战的点云处理课程

5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解

6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦

7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化

8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现11.自动驾驶中的深度学习模型部署实战12.相机模型与标定(单目+双目+鱼眼)

更多干货

欢迎加入【3D视觉工坊】交流群,方向涉及3D视觉、计算机视觉、深度学习

、vSLAM、激光SLAM、立体视觉、自动驾驶、点云处理、三维重建、多视图几何、结构光、多传感器融合、VR/AR、学术交流、求职交流等。工坊致力于干货输出,为3D领域贡献自己的力量!欢迎大家一起交流成长~

添加小助手微信:CV_LAB,备注学校/公司+姓名+研究方向即可加入工坊一起学习进步。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK