基于成像激光雷达的鲁棒位置识别

2024-08-25 06:08

本文主要是介绍基于成像激光雷达的鲁棒位置识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点云PCL免费知识星球,点云论文速读。

文章:Robust Place Recognition using an Imaging Lidar

作者:Tixiao Shan, Brendan Englot, Fabio Duarte, Carlo Ratti, and Daniela Rus

编译:点云PCL(ICRA 2021)

开源代码:https://github.com/TixiaoShan/imaging_lidar_place_recognition

欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

我们提出了一种使用激光雷达生成的强度图进行鲁棒、实时位置识别的方法,利用激光雷达的投影点云并获得强度图,该方法可以生成高分辨率的三维点云强度图。从图像中提取ORB特征描述子,并将其编码到一个词袋向量中,用于识别点云的向量插入到数据库中,该数据库由DBoW维护,用于快速位置识别查询,通过匹配视觉特征描述子进一步验证返回的候选对象,为了剔除匹配的异常值,这里使用PnP方法,该方法使用RANSAC最小化了视觉特征在欧几里德空间中的位置及其在二维图像空间中的对应关系的重投影误差。结合了基于相机和激光雷达的位置识别方法的优点,我们的方法具有真正的旋转不变性,能够处理闭环检测。在不同规模和环境下从不同平台收集的数据集上对所提出的方法进行了评估。

bc5d85fd1f8054b2bd7804e87c6819a8.gif

介绍

位置识别在许多移动机器人应用中扮演着非常重要的角色,例如解决绑架机器人问题、在已知地图中定位机器人以及保持同步定位和建图(SLAM)的准确性。在过去的二十年中,各种各样的位置识别方法已经在使用相机、激光雷达和其他感知传感器解决此类问题方面取得了巨大的成功。基于摄像头的位置识别方法通常从纹理场景中提取视觉特征,并使用词袋的方法找到候选位置,但是,这些方法会受到照明和视点变化的影响。另一方面,基于激光雷达的位置识别方法(通常从点云中提取局部或全局描述子)对此类变化具有不变性,激光雷达的长探测范围和宽孔径允许捕捉环境中的许多结构细节。然而,在描述子提取过程中,这些细节常常被丢弃,这可能导致在被重复结构附近时出现误报检测,由于低激光雷达分辨率的普遍存在,基于相机的方法通常不能应用于激光雷达数据,相反,由于缺乏结构信息,基于激光雷达的方法通常不能应用于图像数据中。

然而,随着高分辨率激光雷达的出现,例如Outster OS1-128和Velodyne VLS-128,开始弥补了基于相机和基于激光雷达的位置识别方法之间的差距。我们将这种提供图像质量3D扫描点云的高分辨率激光雷达称为成像激光雷达,基于这项技术的前景,我们提出了一种使用成像激光雷达进行鲁棒位置识别的方法。首先将具有强度信息的高分辨率点云投影到强度图像上,然后,从强度图像中提取ORB特征描述子,提取的描述符子转换成一个单词包(BoW)向量,这形成了原始点云的紧凑表示,使用这些向量建立DBoW数据库,并查询以进行位置识别。如果找到了候选对象,将匹配ORB描述子,以确保这两个位置之间能够匹配足够的特征。为了剔除匹配的异常值,我们通过应用透视n点(PnP)随机样本一致性(RANSAC)将匹配问题描述为一个优化问题。该方法的一个代表性示例如图1所示。

0a2d77e99d0a78c7ac1b1ba44f8f5f17.png

我们的工作结合了摄像机和基于激光雷达的位置识别方法的技术,其主要贡献如下:

  • 为成像激光雷达设计的实时鲁棒位置识别,据我们所知,第一个使用投影激光雷达强度图像进行位置识别的方法。

  • 该方法对传感器姿态变化具有不变性,可检测正向闭环,甚至反向闭环。

  • 我们的方法通过跨不同规模、平台和环境收集的数据得到了广泛验证。

相关工作

我们的工作借鉴了基于相机和基于激光雷达的位置识别方法中使用的概念。由于其低硬件成本要求和在纹理丰富的环境中的鲁棒性,基于摄像头的方法已广泛应用于各种SLAM框架中,用于闭环检测,此类方法通常从图像中提取视觉特征描述子,并使用DBoW在预先训练的视觉词汇表上将其转换为词袋向量。假设图像之间存在视觉重叠,DBoW查询数据库并基于向量之间的相似性得分返回回环词袋的候选对象。由于DBoW中的闭环候选对象容易出现错误检测,因此还可以引入额外的验证步骤来剔除此类检测,例如,可以引入了几何验证方法,对视觉特征进行三角化,以验证候选对象。然而,基于相机的方法的检测性能在很大程度上取决于环境外观,如果重新访问某个地方时亮度和视点发生剧烈变化,则它们无法提供可靠的检测。

基于激光雷达的位置识别方法可以分为直接方法和基于描述子的方法。尽管直接法可以在激光雷达的原始点云上操作,而无需任何预处理,但其性能对点云数据大小、初始对齐位姿和遮挡非常敏感,因此,我们将重点讨论基于描述子的方法,它可以提供改进的匹配鲁棒性,基于描述符子的方法可以分为局部描述子方法和全局描述子方法。

主要内容

本文针对成像激光雷达提出的位置识别方法执行一系列处理步骤包括:强度图像投影、特征提取、DBoW查询、特征匹配和PnP RANSAC。图2显示了每个流程步骤的示例。

0aeb29b854d3e69c6c8b2c5ff3b930b7.png

图2:本文方法的演示:(a)高分辨率点云颜色变化表示强度变化;(b) 从点云投影的强度图像;(c) 提取的ORB特征(绿点)和从DBoW查询返回的一对候选对象;(d) 两个候选对象之间匹配的ORB描述子;(e) PnP RANSAC异常值剔除后匹配的ORB描述符。

A.强度图像

来自激光雷达的强度信息表示激光束返回的能量值,该能量值通常受物体表面反射率的影响,并且对环境光保持不变,当接收到3D点云P时,我们将其投影到圆柱形强度图像I上,I中的每个有效像素都可以与P中的一个点相关联,像素的值由接收点的强度值确定,然后,我们将所有像素值标准化为介于0和255之间,这基本上将强度图像视为灰度图像,使我们能够使用强度图像对其进行处理,没有关联有效点的像素被指定为零值,三维点云的示例如图2(a)所示,其中颜色变化表示强度变化,得到的强度图像如图2(b)所示,其中亮像素和暗像素分别对应于高强度值和低强度值。

B.特征提取

接下来对强度图像I执行特征提取,假设激光雷达传感器可能会经历剧烈的方向变化,这大大扩展了我们方法的应用场景,而不是假设固定的传感器安装解决方案,我们选择提取ORB特征,因为它们的效率和对旋转变化的不变性,ORB特征描述子是通过首先提取快速角点特征,然后使用简短描述子对其进行描述获得,由于传感器的运动,在强度图像中观察到的物体的比例是传感器和物体之间距离的函数,同样,物体的外观方向也受传感器方向的影响,为了提高在不同尺度和方向上的提取鲁棒性,采用下采样率为1.2的八倍图像金字塔来获得八个不同分辨率的强度图像,在每个图像中使用快速算法检测ORB特征,通过计算以特征为中心的圆形区域中的强度变化来确定特征的方向,然后使用简短算法将角点特征转换为描述子。

C.DBoW查询

我们利用DBoW将ORB特征描述符O转换为一个词袋向量,使用DBow中提出的视觉词袋表,此时3D点云现在可以使用稀疏的词袋向量高效地表示,该向量用于使用DBoW构建数据库,当接收到一个新的词向量时,我们通过使用L1距离计算新向量和先前向量之间的相似度来查询数据库,如果两个向量之间的相似性大于阈值λ ,说明找到了潜在的闭环候选。

D.特征匹配

通常,DBoW查询中的候选项包含许多错误检测,为了验证检测,匹配Oi和Oj中的描述子,注意到匹配Oi和Oj中的每个描述子不仅计算量大,而且常常导致大量错误匹配,为了提高匹配成功率,根据Oi的角点得分将所有描述子按降序排列,选择角点得分最大作为最优的结果。

E.PnP RANSAC

如果DBoW查询返回的候选项不正确,仍然可以特征匹配的过程中获得足够的匹配项,为了进一步验证候选项,我们将验证问题表述为PnP问题。PnP知道Oi中特征的3D位置和Oj中特征的2D图像位置,从而最小化3D点及其2D对应的重投影误差,并估计i和j之间的相对传感器位姿。为了提高PnP的稳健性,在这里使用RANSAC来剔除匹配中的异常值。图2(e)显示了异常值剔除后的正确特征匹配。

实验

现在我们描述了一系列实验来定量分析所提出的方法,本文使用的传感器是Outster OS1-128成像激光雷达,传感器的水平和垂直视野为360度 和45度,传感器在两个方向上的分辨率均为0.35度。当它在10Hz下工作时,从而产生分辨率为1024×128的强度图像,将提出的方法与SC、ISC和IRIS进行了比较,所有的方法都是在C++中实现的,并在配备英特尔I7 10710U 1.1GHz CPU的笔记本上执行。

76193cb4bb96840ae780c4c92762f403.png

图3:每种方法检测到的闭环,数据集的轨迹是红色的,绿点和蓝色表示回环的闭合匹配,其中绿点表示回路的位置。

图4(a)显示了我们的方法检测到的四个具有代表性的回环。对于每个检测,顶行和底行图像指示在当前和以前时间捕获的强度图像,匹配的ORB特征使用绿线连接,第二个示例显示了当我们将传感器绕其前进轴旋转近90度时的检测结果,第三个和第四个示例显示了我们的方法,该方法在传感器倒置的情况下检测闭合回路,即绕其前轴旋转180度。注意,在第四个示例中,我们的方法从悬挂在走廊上的海报中提取特征,以帮助检测。

582f51e9697d171d32db8fee643d6f6c.png

图4:使用我们的方法的十二个代表性回环检测示例,对于每个示例,顶行和底行图像分别指示在当前和以前时间捕获的强度图像,匹配的ORB特征使用绿线连接。

edfeebefd9006eb79de108ddd9c5f595.png

图5:所有方法的ROC曲线和AUC,通过将报告的环路闭合检测与地面真值环路闭合进行比较,得到了结果。在所有方法中,所提出的方法在各种数据集上实现了最高的AUC。

对于每种方法,每个数据集上每个查询的平均计算时间如表I的最后一列所示。

563e013126a4b6e704c8dbe2002c9157.png

不同分辨率激光雷达检测结果如表所示。当使用较少的激光雷达通道时,检测成功率显著降低,这是因为从低分辨率强度图像中提取的ORB特征数量有限,DBoW查询和特征匹配的性能相应降低。我们的方法对可用的激光雷达分辨率非常敏感,最适合与高分辨率成像激光雷达一起使用。

e3fa03798dae3f5c2410d8b231ce4a9e.png

总结

我们提出了一种使用成像激光雷达进行位置识别的新方法,该方法在各种环境下都具有鲁棒性。我们的方法结合了基于相机和激光雷达的位置识别方法的优点,与基于相机的方法类似,从3D点云投影的强度图像中提取ORB特征描述符,使用DBoW来表示点云,使用词袋向量,并运行位置识别查询,这类似于基于激光雷达的全局描述子方法。当从查询中接收到候选对象时,进行ORB描述子匹配以验证其合法性,再使用PnP RANSAC剔除匹配描述符中的异常值,在不同尺度的室内和室外环境中收集的数据集上对所提出的方法进行了评估,结果表明,与其他基于激光雷达的位置识别方法相比,该方法具有更高的精度和鲁棒性。

本文仅做简单分享介绍,详情可查看具体论文!

资源

三维点云论文及相关应用分享

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

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

276fbfa55e9cecc91d47259d05496700.gif

这篇关于基于成像激光雷达的鲁棒位置识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104759

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

Linux Centos 迁移Mysql 数据位置

转自:http://www.tuicool.com/articles/zmqIn2 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysql5.1 yum 安装的 mysql 服务 查看 mysql 的安装路径 执行查询 SQL show variables like

PDFQFZ高效定制:印章位置、大小随心所欲

前言 在科技编织的快节奏时代,我们不仅追求速度,更追求质量,让每一分努力都转化为生活的甜蜜果实——正是在这样的背景下,一款名为PDFQFZ-PDF的实用软件应运而生,它以其独特的功能和高效的处理能力,在PDF文档处理领域脱颖而出。 它的开发,源自于对现代办公效率提升的迫切需求。在数字化办公日益普及的今天,PDF作为一种跨平台、不易被篡改的文档格式,被广泛应用于合同签署、报告提交、证书打印等各个

Clion不识别C代码或者无法跳转C语言项目怎么办?

如果是中文会显示: 此时只需要右击项目,或者你的源代码目录,将这个项目或者源码目录标记为项目源和头文件即可。 英文如下:

【LVI-SAM】激光雷达点云处理特征提取LIO-SAM 之FeatureExtraction实现细节

激光雷达点云处理特征提取LIO-SAM 之FeatureExtraction实现细节 1. 特征提取实现过程总结1.0 特征提取过程小结1.1 类 `FeatureExtraction` 的整体结构与作用1.2 详细特征提取的过程1. 平滑度计算(`calculateSmoothness()`)2. 标记遮挡点(`markOccludedPoints()`)3. 特征提取(`extractF

BERN2(生物医学领域)命名实体识别与命名规范化工具

BERN2: an advanced neural biomedical named entity recognition and normalization tool 《Bioinformatics》2022 1 摘要 NER和NEN:在生物医学自然语言处理中,NER和NEN是关键任务,它们使得从生物医学文献中自动提取实体(如疾病和药物)成为可能。 BERN2:BERN2是一个工具,

行为智能识别摄像机

行为智能识别摄像机 是一种结合了人工智能技术和监控摄像技术的先进设备,它能够通过深度学习算法对监控画面进行实时分析,自动识别和分析监控画面中的各种行为动作。这种摄像机在安防领域有着广泛的应用,可以帮助监控人员及时发现异常行为,并采取相应的措施。 行为智能识别摄像机可以有效预防盗窃事件。在商场、超市等公共场所安装这种摄像机,可以通过识别异常行为等情况,及时报警并阻止不安全行为的发生

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题 GitHub Pages是一个直接从GitHub存储库托管的静态站点服务,‌它允许用户通过简单的配置,‌将个人的代码项目转化为一个可以在线访问的网站。‌这里使用flutter build web来构建web发布到GitHub Pages。 最近通过flutter build web,通过发布到GitHu