前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >激光雷达生成的图像检测关键点用来辅助里程计的方案

激光雷达生成的图像检测关键点用来辅助里程计的方案

作者头像
点云PCL博主
发布于 2023-12-11 05:31:50
发布于 2023-12-11 05:31:50
3970
举报
文章被收录于专栏:点云PCL点云PCL

文章:LiDAR-Generated Images Derived Keypoints Assisted Point Cloud Registration Scheme in Odometry Estimation

作者:Haizhou Zhang , Xianjia Yu, Sier Ha , Tomi Westerlund

编辑:点云PCL

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入。侵权或转载联系微信cloudpoint9527。

摘要

关键点检测和描述子在各种机器人和自主应用中起着至关重要的作用,包括视觉里程计(VO)、视觉导航和同时定位与地图构建(SLAM)。尽管在传统相机图像中广泛研究了大量关键点检测器和描述子,但这些技术在激光雷达生成的图像(即反射率和距离图像)的背景下的有效性尚未得到评估。由于这些图像在恶劣条件下(如雨雾)具有鲁棒性,并且它们包含与激光雷达点云提供的几何信息相补充的显著纹理信息,因此它们备受关注,尤其是当仅依赖激光雷达传感器时,这解决了在激光雷达里程计(LO)中遇到的在几何上相同的场景中或者不是所有原始点云都提供信息且可能具有误导性的漂移挑战。

本文旨在通过全面的定量调查分析常规图像关键点提取器和描述子在激光雷达生成的图像上的适用性。此外提出了一种新方法来增强LO的鲁棒性和可靠性。在提取关键点之后继续对点云进行降采样,随后将其集成到用于里程计估计的点云配准阶段。我们的实验证明所提出的方法具有可比较的准确性,但计算开销减小,里程计发布速率更高,甚至在容易发生漂移的场景中,使用原始点云的性能更优越。这为随后研究将激光雷达生成的图像与LO集成奠定了基础。我们的代码可在 GitHub 上找到:https://github.com/TIERS/ws-lidar-as-camera-odom。

图1:实验中运行的LiDAR里程计结果

主要贡献

视觉里程计(VO)或视觉惯导里程计(VIO)的方法在很大程度上依赖于视觉传感器的可操作性,需要相机内参的知识来促使运动结构估计(SfM)——这是激光雷达生成的图像未能满足的先决条件。这带来了从激光雷达生成的图像中以某种方式提取关键点的困难,以便在里程计估计中进一步应用。因此,为解决上述问题,在本研究的贡献有:

  • i) 通过多个专门的度量标准对现有关键点检测器和描述符在激光雷达生成的图像上的有效性进行了调查,提供定量评估。
  • ii) 对提高低分辨率激光雷达生成数据的最佳分辨率和插值方法进行了广泛研究,以更有效地提取关键点。
  • iii) 提出了一种新颖的方法,利用检测到的关键点及其邻近点提取可靠的点云(降采样),以减小计算开销并减少有价值点获取中的缺陷。

内容概述

数据集

为了评估关键点检测器和描述子以及我们提出的方法,我们使用了已发布的多模态LiDAR感知的开源数据集,该数据集包含各种LiDAR,其中Ouster LiDAR不仅提供点云,还提供其生成的图像。数据集中使用的Ouster LiDAR是OS0-128,其详细规格显示在表III中。

图1:所提出的从连续点云恢复4D对象标签的模型的系统结构概述。

OS0-128生成的图像如图2所示,包括信号图像、反射率图像、近红外图像和距离图像,其覆盖了360°×90°的广阔视野, 信号图像是给定点返回到传感器的光信号强度的表示,它取决于诸如入射角、与传感器的距离以及物体的材料特性等各种因素。在近红外图像中,每个像素的强度由未由传感器自己的激光脉冲发出的检测到的光子数量表示,而是可能来自太阳光或月光等源。反射率图像中的每个像素表示计算得到的校准反射率。然后,距离图像展示了从传感器到环境中物体的距离。正如我们先前研究的结果所示,信号图像在计算机视觉领域的传统深度学习任务中表现出优越性能。

图2:LiDAR生成图像样本,从上到下分别是信号图像、距离图像、反射率图像和点云。

为LiDAR生成的图像搜索最佳预处理配置

人工的LiDAR生成图像通常是全景的但低分辨率的,此外这些图像通常表现出相当程度的噪声,这引发了一个问题,即是否可以使用原始图像来促进关键点检测器和描述符算法的功能评估。我们的初步实验显示在使用未经修改的原始LiDAR生成图像时,跨一系列检测器和描述子的性能表现不佳。为了确定增加图像分辨率的最佳分辨率和插值方法,进行了一项广泛的比较实验。在这一部分中,我们对原始图像实施了一系列插值技术,使用了广泛的图像分辨率组合,插值方法包括双三次插值(CUBIC)、8x8邻域上的Lanczos插值(LANCZOS4)、使用像素面积关系重新采样(AREA)、最近邻插值(NEAREST)和双线性插值(LINEAR),预处理的主要过程在Algorithm 1中有详细说明。

用于LiDAR生成图像的关键点检测器和描述子

检测器-描述子算法的评估工作流通常包括三个阶段,包括特征提取、关键点描述和在连续图像帧之间进行关键点匹配。

指定的关键点检测器和描述子:我们研究了表I中详细说明的一系列关键点检测器和描述符。所使用的关键点检测器包括SHITOMASI、HARRIS、FAST、BRISK、SIFT、SURF、AKAZE和ORB。此外,我们还将Superpoint,一个基于DL的关键点检测器,集成到我们的方法中。我们实验中实现的关键点描述符包括BRISK、SIFT、SURF、BRIEF、FREAK、AKAZE和ORB。

图像之间的关键点匹配:关键点匹配是检测器-描述符工作的最后阶段,重点是在两个图像之间相关联关键点,这对于建立空间关系和形成一致的场景理解至关重要。两点之间描述符的距离越小,它们在两个图像之间是相同的点或对象的可能性就越大。在我们的实现中,我们采用了一种称为“带交叉检查的暴力匹配”的技术,这意味着对于图像A中的给定描述符DA和图像B中的另一个描述符DB,有效的对应需要这两个描述符相互识别对方作为它们的最近描述子。

选择的评估指标:由于缺乏基准数据集和数据标记所需的大量工作,我们选择不依赖基于地面真值的评估方法。相反,我们结合了一些独立于地面真值的专门设计的度量标准,以及一些直观的度量标准,形成了表II中列出的完整指标。据我们了解,这代表了目前在缺乏基准数据集的情况下可用的最广泛的评估指标集。

评估过程:下面Algorithm 2中显示的流程图概述了程序执行的步骤。使用两个嵌套循环迭代不同的检测器-描述符对。对于每个图像,算法检测并描述其关键点。如果处理了多个图像,将当前图像的关键点与前一个图像进行匹配。然后,将度量放置在相应的位置以评估算法的性能。

由LiDAR生成的图像关键点辅助点云配准

点云匹配方法:采用KISS-ICP作为我们的点云匹配方法,它还提供了里程信息,使我们能够通过定位误差(即平移误差和旋转误差)的检查来评估我们的点云降采样方法的效果。为了概括我们提出的方法,我们还测试了基于NDT的简单SLAM程序。

点云降采样的提出方法:LiDAR生成图像的预处理,确定了关键点检测器和描述符的最佳配置。利用这些配置作为基础,我们建立了我们提出的方法的工作流程,如图3所示。在这个过程中,我们为距离和信号图像分别进行不同的预处理程序,将它们分别用于关键点检测和描述符提取。随后,我们将从两个图像中获得的关键点结合起来,并搜索每个关键点的K个最近点。我们在3到7的范围内系统地变化K,遵循最大阈值为7的原则,以符合我们降采样点云的主要目标。因此,我们找到了关键点及其邻近点在原始点云中的对应点云,从而形成了降采样的点。在我们的分析中,我们不仅研究了位置误差,还研究了旋转误差、计算资源利用、降采样导致的点云密度变化以及LO的发布速率。

实验

LiDAR生成图像预处理方法的结果

独特性和匹配得分被认为是整个算法流程整体准确性的关键指标。因此,在不同尺寸和插值方法在不同指标上表现最佳的情况下,这两个指标是我们关注的主要内容。基于这样的标准,大小为 1024 x 64 在所有检测器和描述符方法中表现更好。然后在表 IV 中,我们的评估还显示线性插值方法在各种插值技术中产生了最佳结果。

表 V 中的结果还表明,适当减小图像的大小相对于放大图像具有明显优势。

这里有一个更直观的结果,显示减小图像的大小要远远优于放大图像。在图 4a 和图 4b 中,Superpoint 检测器将关键点标识为绿点。放大的图像图 4a 显示了许多杂乱的点。相反,缩小的图像图 4a 显示了明显的关键点,例如房间的角落和各个物体平面相交的点。请注意,我们为了便于阅读将这两个图像调整了大小,它们的原始大小不同。

图4:在调整大小后的信号图像中检测到的关键点

LiDAR 图像的关键点检测器和描述符结果

在图 5 中,这是仅与检测器有关的指标,FAST 和 BRISK 算法检测到了最多的关键点,但计数中存在显着的波动。相比之下,AKAZE、ORB 和 Superpoint 检测到的关键点数量较少,但一致性值得注意。

图5:关键点数量

图 6 描述了计算效率,其中大多数算法的运行时间都在 50 毫秒以下。在启用 CUDA 后,SuperPoint 的运行速度显著提高,波动最小。在所有算法中,BRISK 是最耗时的,仅使用 BRISK 作为描述符与其他检测器一起使用将阻碍整体效率。

图6:计算效率

LiDAR 生成的图像关键点辅助 LO 结果

表 VIII 和表 IX 中的结果证明,传统的关键点提取器可以实现可比的 LO 平移估计和比 Superpoint 更准确的旋转估计。

总结

为了减轻计算负担,同时确保在LO中保留足够数量的可靠关键点用于点云配准,本研究引入了一种整合了LiDAR生成图像的新方法。对最初设计用于传统图像的关键点检测和描述符进行了对LiDAR生成图像的全面分析。这不仅为本文后续部分提供了信息,还为旨在增强LO和SLAM技术的健壮性和韧性的未来研究奠定了基础。基于从这一分析中得出的见解,我们提出了一种在保持显著点的完整性的同时对原始点云进行下采样的方法。我们的实验证明,我们提出的方法在性能上与使用完整原始点云相媲美,并且在完整原始点云无效的情景中,尤其是在漂移情况下,它超越了完整原始点云。此外,我们的方法在面对旋转变换时表现出值得称赞的鲁棒性。我们的方法的计算开销低于使用原始点云的LO,但具有更高的里程计发布速率。

在未来的工作中,有潜力将当前LiDAR生成图像关键点提取过程无缝集成到更广泛的SLAM流程中。例如,一种探索途径可能涉及将从LiDAR生成图像中提取的特征与从点云数据中导出的特征合并,从而促进开发轻量级SLAM系统,该系统由其他传感器(例如IMU)辅助。

资源

自动驾驶及定位相关分享

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

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

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

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

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

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

SLAM和AR综述

常用的3D深度相机

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

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

Kimera实时重建的语义SLAM系统

易扩展的SLAM框架-OpenVSLAM

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

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

为分享的伙伴们点赞吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
看一遍就理解:order by详解!
日常开发中,我们经常会使用到order by,亲爱的小伙伴,你是否知道order by 的工作原理呢?order by的优化思路是怎样的呢?使用order by有哪些注意的问题呢?本文将跟大家一起来学习,攻克order by~
macrozheng
2021/07/02
1.4K0
看一遍就理解:order by详解!
面试官:order by 怎么优化?
刚换了新工作,用了两周时间准备,在 3 天之内拿了 5 个 offer,最后选择了广州某互联网行业独角兽 offer,昨天刚入职。这几天刚好整理下在面试中被问到有意思的问题,也借此机会跟大家分享下。
JavaFish
2021/07/05
2.5K0
面试官:order by 怎么优化?
MySQL排序内部原理探秘
一、我们要解决什么问题 二、排序,排序,排序 三、索引优化排序 四、排序模式 4.1实际trace结果 4.2排序模式概览 4.2.1回表排序模式 4.2.2不回表排序模式 4.2.3打包数据排序模式 4.2.4三种模式比较 五、外部排序 5.1普通外部排序 5.1.1两路外部排序 5.1.2多路外部排序 5.2MySQL外部排序 5.2.1MySQL外部排序算法 5.2.2sort_merge_passes 六、trace 结果解释 6.1 是否存在磁盘外部排序 6.2 是否存在优先队列优
沃趣科技
2018/03/26
2.7K0
MySQL排序内部原理探秘
mysql 之order by工作流程
Extra 中 Using index condition; 这个是之前文章中提到的索引下推 ICP Using filesort 这个表示需要排序 mysql会给每个线程分配一块内存 叫做sort_buffer
科技新语
2025/03/20
840
mysql 之order by工作流程
MySQL order by 是怎么工作的?
这个排序过程叫做全字段排序,因为需要返回的字段都放入了 sort_buffer 参与排序过程。
dys
2019/05/13
1.8K0
MySQL order by 是怎么工作的?
Mysql中orderby底层执行流程
前言 在实际的开发中一定会碰到根据某个字段进行排序后来显示结果的需求,但是你真的理解order by在 Mysql 底层是如何执行的吗? 假设你要查询城市是苏州的所有人名字,并且按照姓名进行排序返回前 1000 个人的姓名、年龄,这条 sql 语句应该如何写? 首先创建一张用户表,sql 语句如下: CREATE TABLE user ( id int(11) NOT NULL, city varchar(16) NOT NULL, name varchar(16) NOT NULL, ag
爱撒谎的男孩
2020/04/21
2K0
Mysql中orderby底层执行流程
MySQL - order by 出现 using filesort根因分析及优化
当然了实际工作中是基本不会出现这种情况的, 假设真的取了100万数据, 无论是MySQL内存缓冲区的占用,还是网络带宽的消耗都是巨大的。
小小工匠
2021/11/10
6.8K1
MySQL - order by 出现 using filesort根因分析及优化
MySQL Order By工作原理
Extra中包含Using filesort表示需要排序,在排序时,MySQL会为每个线程分配一块内存区域用于排序,称之为sort_buffer。
shysh95
2022/02/16
8640
MySQL Order By工作原理
order by 原理以及优化
一 简介 偏向于业务的(MySQL)DBA或者业务的开发者来说,order by 排序是一个常见的业务功能,将结果根据指定的字段排序,满足前端展示的需求。然而排序操作也是经常出现慢查询排行榜的座上宾。本文将从原理和实际案例优化,order by 使用限制等几个方面来逐步了解order by 排序。
用户1278550
2018/08/09
7610
order by的工作原理
where条件后面是city字段,然后根据name排序,可以看到,执行计划中有:using filesort字样。这是因为name字段没有索引,所以需要借助sort_buffer来进行排序操作。
AsiaYe
2020/06/22
7540
MySQL排序原理与优化方法(9/16)
**内存临时表排序:**在MySQL中,使用InnoDB引擎执行排序操作时,当处理的数据量较小,可以在内存中完成排序时,MySQL会优先使用内存进行排序操作。在这种情况下,MySQL会创建一个临时内存表来存储排序结果,这样可以快速地对数据进行排序,提高查询效率。
十里桃花舞丶
2024/04/12
2480
MySQL怎样处理排序⭐️如何优化需要排序的查询?
在MySQL的查询中常常会用到 order by 和 group by 这两个关键字
菜菜的后端私房菜
2024/06/21
3240
工作中遇到的99%SQL优化,这里都能给你解决方案(二)
利用最左前缀法则:中间字段不能断,因此查询用到了name索引,从key_len=74也能看出,age索引列用在排序的过程中,因为Extra字段里没有using filesort。
程序员小强
2019/09/10
5020
工作中遇到的99%SQL优化,这里都能给你解决方案(二)
Mysql order by 优化
本节描述MySQL何时可以使用索引来满足ORDER BY子句,当不能使用索引时使用filesort,以及优化器中有关ORDER BY的执行计划信息。
XING辋
2019/03/26
1.5K0
Mysql进阶优化篇05——子查询的优化和排序优化
MySQL 从 4.1 版本开始支持子查询,使用子查询可以进行 SELECT 语句的嵌套查询,即一个 SELECT 查询的结果作为另一个 SELECT 语句的条件。子查询可以一次性完成很多逻辑上需要多个步骤才能完成的操作 。
半旧518
2022/10/26
2.4K0
Mysql进阶优化篇05——子查询的优化和排序优化
盘点MySQL慢查询的12个原因
日常开发中,我们经常会遇到数据库慢查询。那么导致数据慢查询都有哪些常见的原因呢?今天田螺哥就跟大家聊聊导致MySQL慢查询的12个常见原因,以及对应的解决方法。
捡田螺的小男孩
2023/02/24
1.6K0
盘点MySQL慢查询的12个原因
MySQL Order By实现原理分析和Filesort优化
在使用explain分析查询的时候,利用有序索引获取有序数据显示Using index。而文件排序显示Using filesort。
黄规速
2022/04/14
1.5K0
MySQL Order By实现原理分析和Filesort优化
Mysql的SQL优化指北
在一次和技术大佬的聊天中被问到,平时我是怎么做Mysql的优化的?在这个问题上我只回答出了几点,感觉回答的不够完美,所以我打算整理一次SQL的优化问题。
luozhiyun
2020/02/11
1K0
浅谈MySQL分页查询的工作原理
MySQL 的分页查询在我们的开发过程中还是很常见的,比如一些后台管理系统,我们一般会有查询订单列表页、商品列表页等。
政采云前端团队
2023/11/09
2.2K0
浅谈MySQL分页查询的工作原理
mysql中走与不走索引的情况汇集(待全量实验)
在MySQL中,并不是你建立了索引,并且你在SQL中使用到了该列,MySQL就肯定会使用到那些索引的,有一些情况很可能在你不知不觉中,你就“成功的避开了”MySQL的所有索引。
小勇DW3
2020/07/23
11.6K2
推荐阅读
相关推荐
看一遍就理解:order by详解!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档