经典文献阅读之--BVMatch(基于鸟瞰图像的点云地点识别方法

news2024/11/17 20:38:12

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

在这里插入图片描述

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

2.2 姿态重建

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

在这里插入图片描述

其中 ( t u , t v , θ ) (t_u,t_v,θ) (tutvθ)是变换参数。对于 ( P i , P j ) (P_i,P_j) (PiPj)对的变换矩阵 T i j T_{ij} Tij

在这里插入图片描述

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)。

…详情请参照古月居

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1211223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS Form表单布局

效果图 <Tab IsCard"true"><TabItem Text"表单信息-DIV版本"><div class"row"><div class"col"><label for"field1">工程名称:</label><input class"form-control" type&…

江西产业链现代化1269行动计划引领新能源建设与职业教育教学改革的深度融合

江西产业链现代化1269行动计划引领新能源建设与职业教育教学改革的深度融合 在全球能源转型的时代背景下&#xff0c;江西省积极应对挑战&#xff0c;提出了产业链现代化1269行动计划。这一计划不仅着眼于推动新能源建设&#xff0c;还将新能源建设与职业教育教学改革紧密结合…

测试员练就什么本领可以让自己狂揽10个offer

最近&#xff0c;以前的一个小徒弟又双叒叕跳槽了&#xff0c;也记不清他这是第几次跳槽了&#xff0c;不过从他开始做软件测试开始到现在已经有2-3年的工作经验了&#xff0c;从一开始的工资8K到现在的工资17K&#xff0c;不仅经验上积累的很多&#xff0c;财富上也实现了翻倍…

Windows UAC权限详解以及因为权限不对等引发的若干问题分享

目录 1、什么是UAC&#xff1f; 2、微软为什么要设计UAC&#xff1f; 3、标准用户权限与管理员权限 4、程序到底以哪种权限运行&#xff1f;与哪些因素有关&#xff1f; 4.1、给程序设置以管理员权限运行的属性 4.2、当前登录用户的类型 5、案例1 - 无法在企业微信聊天框…

穿越时空的超级英雄

从智能家居到无人驾驶&#xff0c;从虚拟现实到人工智能&#xff0c;云计算无处不在&#xff0c;它让我们的生活更加智能、便捷、有趣&#xff01;在这个奇妙的时代&#xff0c;云计算将成为无所不能的超级英雄&#xff0c;让我们一起穿越时空&#xff0c;探索未来的云计算世界…

JetBrains全家桶_学生免费教程

JetBrains全家桶的费用对于学生来说是一笔不少的费用&#xff0c;但是如果你是学生就可以免费使用 上教程 免费教育许可证 - 社区支持学习或教授如何使用 JetBrains 出品的行业最佳工具编写代码。 JetBrains 工具的免费教育许可证。https://www.jetbrains.com/zh-cn/communit…

婴儿洗衣机哪个牌子比较好?好用的内衣洗衣机推荐

宝宝衣服的清洗对父母来说都很重要&#xff0c;所以挑选一款适合宝宝的小型洗衣机显得尤为重要。也许有许多人认为&#xff0c;为婴儿购买独立的洗衣机是不必要的&#xff0c;但是你是否了解呢&#xff1f;新生婴儿的肌肤要比成人更脆弱&#xff0c;更易受到感染而受到伤害&…

FineReport -问题学习图表设计图表类型-单元格扩展父子格-报表预览

1,问:为什么本地每次预览都要填帐号密码?答:模板认证关闭一下及可 2.单元格扩展与父子格----左父格-扩展方向-箭头往那个方向就往那个方向 1)数据集参数 在定义数据集时,通过使用if函数判断参数的值是否为空,若为空就不过滤参数,若不为空就进行参数过滤。SELECT * FROM…

修改 jar 包中的源码方式

在我们开发的过程中&#xff0c;我们有时候想要修改jar中的代码&#xff0c;方便我们调试或或者作为生产代码打包上线&#xff0c;但是在IDEA中&#xff0c;jar包中的文件都是read-only&#xff08;只读模式&#xff09;。那如何我们才能去修改jar包中的源码呢&#xff1f; 1.…

Edge最新版本,关闭侧边栏,不需命令,更改设置就可

边栏展示 说明&#xff1a;Edge自动更新版本后&#xff08;版本 119.0.2151.58&#xff09;&#xff0c;出现了侧边栏&#xff0c;看着很不舒服&#xff0c;效果如上图 修改&#xff1a; 1、在设置找到侧栏 2、点击Copilot后&#xff0c;展示的页面中会有始终显示边栏这一开…

保护数字前沿:下一代防火墙如何塑造网络安全的未来

下一代防火墙通过提供先进的威胁检测、精细控制和云安全功能&#xff0c;正在重塑网络安全的未来。随着数字环境的不断发展&#xff0c;组织必须采用这些创新解决方案来保护其数字资产并维护安全的数字前沿。 在当今互联的世界中&#xff0c;网络威胁变得越来越复杂&#xff0c…

从3大维度9个细节聊一聊,边缘计算盒子如何选型

人工智能的蓬勃发展&#xff0c;物联网设备的部署和5G无线技术的到来&#xff0c;越来越多的新兴场景对智能化应用提出了低时延、低带宽、本地化、高安全、低成本的处理需求&#xff0c;包括智慧城市、智慧金融、智慧校园等领域&#xff0c;以及智慧交通、智慧工厂、智慧医疗等…

学好Python-新手小白如何做?

新手小白如何学好Python?有哪些参考方法吗?这是一个老生常谈的话题了。今天为大家带来两位前辈的分享&#xff0c;他们给出了非常实用的方法和思路&#xff0c;希望对你有所帮助。 1、多练&#xff0c;两个字&#xff1a;多练 如果真的要说方法可以参考如下&#xff1a; ①…

直流有刷电机调速电路,输出端内置14V钳位结构,具有电源电压范围宽、功耗小、抗干扰能力强等功能的国产芯片GS016的描述

GS016是一款直流有刷电机调速电路&#xff0c;输出端内置14V钳位结构&#xff0c;具 有电源电压范围宽、功耗小、抗干扰能力强等特点。通过桥接内部电阻网 络&#xff0c;可以改变PWM占空比输出&#xff0c;达到控制电机转速作用。GS016采用SOP14的封装形式封装。 主要特点&am…

什么是社会工程学攻击?社会工程学攻击案例,如何防范?

什么是社会工程学攻击&#xff1f; 从广义上讲&#xff0c;社会工程学是操纵人们放弃敏感信息的做法。社交工程学攻击可能当面发生&#xff0c;例如盗匪装扮成送货员闯入建筑物。本文将重点关注社会工程学网络攻击。在大多数情况下&#xff0c;此类攻击旨在使受害者泄露登录凭…

【23真题】厉害,这套竟有150分满分!

今天分享的是23年中国海洋大学946的信号与系统试题及解析。 本套试卷难度分析&#xff1a;22年中国海洋大学946考研真题&#xff0c;我也发布过&#xff0c;若有需要&#xff0c;戳这里自取!平均分为109-120分&#xff0c;最高分为150分满分&#xff01;本套试题内容难度中等&…

反射之Type类

Type类 Type接口是所有类型的父接口&#xff0c;有四个子接口和一个实现类。 Type实现图 Class类比较常见&#xff0c;表示的是原始类型。表示的Java类在JVM里表现为一个Class对象 ParameterizedType表示的是参数化类型&#xff0c;对应 List<T>、List<String> 等格…

Jetson orin nano配置深度学习环境

Jetson orin nano是一块比较新的板子&#xff0c;装的是Ubuntu20.04系统&#xff0c;与普通x86_64不同&#xff0c;它是ARM64平台&#xff0c;网上的教程不是很多。 一、Jeston Orin Nano介绍 2022年GTC&#xff0c;NVIDIA 宣布Jetson Orin Nano系列系统模块&#xff08;SoM&a…

大数据-之LibrA数据库系统告警处理(ALM-12045 网络读包丢包率超过阈值)

告警解释 系统每30秒周期性检测网络读包丢包率&#xff0c;并把实际丢包率和阈值&#xff08;系统默认阈值0.5%&#xff09;进行比较&#xff0c;当检测到网络读包丢包率连续多次&#xff08;默认值为5&#xff09;超过阈值时产生该告警。 用户可通过“系统设置 > 阈值配置…

【Flink】Flink任务缺失Jobmanager日志的问题排查

Flink任务缺失Jobmanager日志的问题排查 问题不是大问题&#xff0c;不是什么代码级别的高深问题&#xff0c;也没有影响任务运行&#xff0c;纯粹因为人员粗心导致&#xff0c;记录一下排查的过程。 问题描述 一个生产环境的奇怪问题&#xff0c;环境是flink1.15.0 on yarn…