<论文阅读>FLIRT:二维激光数据的兴趣区域及其在机器人导航中的应用

news2024/11/17 16:00:55

摘要:在这篇文章中,我们提出了FLIRT(快速激光兴趣区域变换),用于 2D 激光数据的多尺度兴趣区域算子。FLIRT结合了基于大地线(是指地球椭球面上两点间的最短程曲线)的曲线近似范围信号的探测器和基于占用概率极坐标直方图的描述符。在标准室内和室外数据集的一组比较基准实验中发现了这种组合,该分析与计算机视觉文献中针对兴趣点发现的值重复性和匹配性能相似,鼓励FLIRT在二维激光数据上的广泛应用。我们展示了FLIRT与RANSAC的结合,如何通过特别简单的算法应用于闭环、全局定位、增量建图和基于位姿估计的SLAM。结果表明,FLIRT特征在精确召回性能、效率、通用性和简单性方面对机器人导航具有巨大潜力。

1 Introduction

局部图像特征的引入对许多计算机视觉任务产生了巨大影响,如物体和场景识别、运动跟踪、立体匹配或视觉机器人定位和SLAM。典型的策略是在图像空间中选择感兴趣的位置,并计算区域上的独特描述符,以这些位置为中心。这将图像内容描述为可用于匹配的局部感兴趣区域的集合。对于稳定位置的检测和编码图像结构的描述,都有多种方法可用于图像距离数据。上述领域产生兴趣点的原因也适用于机器人中广泛使用的激光扫描仪产生的2D距离数据。
在这里插入图片描述

对于机器人导航,兴趣点有可能成为基于特征和基于网格的方法的替代方案,虽然这两种方式在类似应用的条件下都被证明是成功的,它们都有优缺点。几何特征允许紧凑的地图表示和高精度,但依赖于预定义的模型。从这个意义上讲,使用原始数据或网格的密集方法是通用的,但随着地图大小和维度的变化,其缩放效果较差。另一方面,兴趣点结合了离散特征的紧凑性原始距离数据的通用性

Mikolajczyk 等人对图像的不同检测器和描述符进行了比较,对于三维数据,已经提出了几种方法来将比例空间从图像扩展到三维点云,用连通性模型表示的表面代替常规图像网格。Taubin 的一项开创性工作,通过扩散方程的离散对应物取代了连续拉普拉斯算子,Pauly等人提出了一种不同的拉普拉斯图 ∇ g ∇_g g方法,计算了表面变化量。该量由在采样点的局部邻域中计算的样本协方差矩阵的特征值形成,NovatnackNishino 使用表面几何表示检测多尺度特征,该表达由嵌入在规则密集2D域中的曲面法线编码。然而,该方法依赖于连接网格来构造参数化,并依赖于良好曲面法线的可用性。Unnikrishnan 等人定义了一个将输入曲线映射为多尺度参数化的积分算子。该算子在大地线的坐标中沿着曲线定义,兴趣点在大地线的邻域中被发现为局部极值。利用激光测距仪的数据,Cole 等人提出了局部显著性的信息论测量方法,以在测量空间中找到自然特征。然而,对于穷举搜索,显著性计算是昂贵的,并且作者只计算随机选取的点的显著性值。

对于二维距离数据,几乎没有相关工作。与本文最接近的是 BosseZlot 的工作路线。其中,作者将整个激光扫描定义为特征,并使用方向直方图来描述它们。另一个,针对基于子地图的SLAM应用程序中的位置识别任务,评估了2D距离数据的几对检测器/描述符。虽然有趣,但与我们的方法的主要区别是,在子地图上定义了9×9m的描述符支持区域,这些子地图是20-30次扫描的集合,间隔为1−相距2米,他们的方法是子地图特征化技术,而不是局部兴趣点算子。虽然这一特性并不限制于论文中给出的良好结果,但我们有兴趣为2D范围数据设计一个通用的多尺度关键点,该关键点保留了局部性的重要概念,而局部性是视觉兴趣点成功的关键。FLIRT功能就是本着这种精神设计的:它们是在局部定义的(在典型地0.5米半径的支持区域)和在单帧扫描上。

2D距离数据不同于图像数据和3D点云的原因是多方面的。作为一种简单的方法,可以将计算机视觉技术应用于距离数据,用距离信号代替图像强度值。虽然这种方法得到了一些结果,但它无法处理许多兴趣的结构,因为这些结构周围的范围变化可能很弱(角落就是一个例子)。这是因为距离数据的性质不同于图像数据的性质,因为距离数据表示更高维度空间中的流形。在3D范围数据的情况下,该流形是3D中的曲面,对于2D数据,它是笛卡尔空间中的曲线。此外,对于距离数据,测量稀疏度是高度不均匀的,并且视点变化,部分原因是测距仪的角度分辨率比相机低,这些差异激发了2D范围数据特殊衍生的兴趣点变换。本文扩展了我们之前的工作,其中我们比较了2D距离数据的几种检测器和描述符方法,并提出FLIRT是稳定性和匹配性能方面最强大的组合。在这里,我们报告了FLIRT应用于导航问题的综合实验,如全球定位、环路闭合、增量建图和SLAM。

本文的结构如下。第2节介绍了FLIRT探测器和描述符。第3节描述了FLIRT如何应用于机器人导航,第4节给出了实验结果。第5节总结了本文。

2 FLIRT

在本节中,我们介绍了快速激光兴趣点变换(FLIRT),这是一种用于二维距离数据的多尺度兴趣点算子。该算子由基于距离信号的大地线曲线近似的检测器和基于占用概率的极性直方图的描述符组成。这种特殊的组合是综合评估的结果,我们在一组基准实验中比较了四个不同的检测器和两个描述符。现在我们将描述FLIRT检测器和描述符。

2.1基于曲率的检测器

探测器来源于 UnnikrishnanHebert 针对3D点云的方法,应用于2D距离数据。该检测器背后的基本原理是距离数据定义笛卡尔空间中的曲线,尺度空间理论应应用于该曲线而不是原始信号。
在这里插入图片描述
应用于该曲线而不是原始信号。作者定义了一个将输入曲线映射到多尺度参数化的积分算子。
S ( a ( s ) ; t ) = ∫ Γ k ( s , u ; t ) a ( u ) d u (1) S(a(s);t) = \int_Γk(s,u;t)a(u)du \tag{1} S(a(s);t)=Γk(s,u;t)a(u)du(1) k ( s , u ; t ) = N ( s − u ; t ) (2) k(s,u;t) = \mathcal{N}(s-u;t) \tag{2} k(s,u;t)=N(su;t)(2)
其中 Γ Γ Γ是曲线,$α(s)是大地线的坐标s的参数化, k ( s , u ; t ) k(s,u;t) k(s,u;t)是高斯核,然后,通过用(未知)采样密度 p ( s ; t ) p(s;t) p(s;t) 归一化平滑核,
k ~ ( s , u ; t ) = k ( s , u ; t ) p ( s ; t ) p ( u ; t ) (3) \tilde{k}(s,u;t) = {k(s,u;t)\over p(s;t)p(u;t)} \tag{3} k~(s,u;t)=p(s;t)p(u;t)k(s,u;t)(3) p ( s ; t ) = ∫ k ( s , u ; t ) p ( u ) d u (4) p(s;t)=\int k(s,u;t)p(u)du \tag{4} p(s;t)=k(s,u;t)p(u)du(4)
尺度 t t t处的采样密度$p(s;t),通过使用高斯核的局部核密度估计来近似。这产生了每个刻度的曲线,
S ~ ( a ( s ) ; t ) = ∫ Γ k ~ ( s , u ; t ) a ( u ) d u (5) \tilde{S}(a(s);t)=\int_{Γ}{\tilde k(s,u;t)a(u)du} \tag{5} S~(a(s);t)=Γk~(s,u;t)a(u)du(5)
增加 t t t的平滑度。然后通过找到指数阻尼表达式的局部最大值来检测兴趣点
F ( x ; t ) = 2 ∣ ∣ x − S ~ ( a ( s ) ; t ) ∣ ∣ t e 2 ∣ ∣ x − S ~ ( a ( s ) ; t ) ∣ t ∣ (6) F(x;t) = {2||x-\tilde S(a(s);t)|| \over t} e^{2||x-\tilde S(a(s);t)| \over t|} \tag{6} F(x;t)=t2xS~(a(s);t)et2xS~(a(s);t)(6)
∣ ∣ x − S ~ ( a ( s ) ; t ) ∣ ∣ ||x-\tilde S(a(s);t)|| xS~(a(s);t)是原始曲线与其平滑版本 S ~ ( a ( s ) ; t ) \tilde S(a(s);t) S~(a(s);t) 之间在笛卡尔空间中的误差距离。利用该方法, t t t 尺度下的兴趣点对应于 t t t等于平滑信号的局部曲率的倒数的位置 S ~ ( a ( s ) ; t ) \tilde S(a(s);t) S~(a(s);t) 。示例检测结果如图2和图4所示。

2.2β-网格描述符

图像和距离数据之间的一个重要区别是,距离数据编码度量距离,但也编码传感器(发出光或声音)和测量对象之间的定向自由空间信息。占用网格自然地处理自由空间信息,这就是为什么我们采用这个概念来为二维范围数据构建有意义的描述符。具体来说,对于每个检测到的兴趣点 p d e t p_{det} pdet,我们定义了围绕 p d e t p_{det} pdet 的空间的极轴细分。这种细分在极轴空间中是线性的,其半径与兴趣点的比例成比例。为了估计占用概率,我们应用贝叶斯参数学习。这种方法提供了一种可靠的方法来初始化小区概率,并对占用值进行方差估计。

我们现在导出了占用网格的贝叶斯参数估计表达式。考虑第 j j j个格子,其被光束 b b b 击中的可能性遵循伯努利分布,由格子占用概率 o c c j occ_j occj 参数化,其中当激光束在格子内反射(击中)时, b b b 等于 1 1 1,当激光束穿过格子(未击中)时 b b b 等于 0 0 0。占用概率使用伯努利的共轭先验进行建模,伯努利是贝塔分布,这是一个在区间[0,1]上定义的连续分布,由两个正形状参数 α α α β β β 进行参数化,
p β ( o c c j ; α , β ) = o c c j a − 1 ( 1 − o c c j ) β − 1 B ( α , β ) (7) p_β(occ_j;α,β) = {occ_j^{a-1}(1-occ_j)^{β-1} \over B(α,β)} \tag{7} pβ(occj;α,β)=B(α,β)occja1(1occj)β1(7)
其中 B ( α , β ) B(α,β) B(α,β) E u l e r β Euler β Eulerβ函数。得到占用概率 o c c j occ_j occj 包括估计 B e t a Beta Beta 分布的参数(因此描述符的名称)。注意,兴趣点还定义了一个由曲率给出的方向。该方向用于获得旋转不变量。
在这里插入图片描述
在一系列测量中,也就是说,一系列光束 b i i = 1 n {b_i}^n_{i=1} bii1n,击中或者未击中箱子,更新规则如下:
α i = α i − 1 + ∑ 1 b i α_i = α_{i-1} + \sum 1^{b_i} αi=αi1+1bi β i = β i − 1 + ∑ 1 1 − b i (8) β_i = β_{i-1} +\sum1^{1-b_i} \tag{8} βi=βi1+11bi(8)
对于 i = 0 i=0 i=0,两个参数都设置为 1 1 1,其 B e t a Beta Beta分布在 [ 0 , 1 ] [0,1] [01]上是均匀的。点估计值为后验贝塔分布的期望值:
o c c j ^ = α α + β = h i t + 1 h i t + m i s s e s + 2 (9) \hat{occ_j} = {α\over {α+β}} = {hit +1 \over hit + misses +2} \tag{9} occj^=α+βα=hit+misses+2hit+1(9)
因此,该概率的方差为:
v a r ( o c c j ) = α β α + β 2 ( α + β + 1 ) (10) var(occ_j) = {αβ \over {α+β}^2(α+β+1)} \tag{10} var(occj)=α+β2(α+β+1)αβ(10)
极坐标直方图中占用概率的集合及其方差估计构成了 p d e t p_det pdet b e t a beta beta网格描述符
在这里插入图片描述

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

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

相关文章

SpringMVC的作用,在Spring家族体系中功能角色?

一、 什么叫 MVC 模型-视图-控制器(MVC) 是一个众所周知的以设计界面应用程序为基础的设计思想。 它主要通过分离模型、 视图及控制器在应用程序中的角色将业务逻辑从界面中解耦。 通常, 模型负责封装应用程序数据在视图层展示。 视图仅仅只…

【蓝桥杯国赛真题08】python约分 蓝桥杯青少年组python编程 蓝桥杯国赛真题解析

目录 python约分 一、题目要求 1、编程实现 2、评分标准 二、解题思路 1、案例分析

C# mvc控制器向视图传递值

1.新建ASP.NET MVC应用程序,选择“空”模板,添加HomeController控制器和Index.cshtml视图页面。 2.选中Models文件夹,添加右键“添加—新建项”,弹出添加新项对话框,如图所示: 3.选择“数据”菜单&#xff…

(三)Redis的其他小功能

一 慢查询分析 所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阈值,就将这条命令的相关信息(例如:发生时间、耗时、命令的详细信息)记录下来。 1.1 生命周期 发送命令-> 命令排队 ->…

vue 容超出三行之后显示下拉箭头 (可适配富文本)

问题提出:后台返回富文本,前端实现内容超出三行之后显示下拉箭头,展示全部,还可以收起 难点:富文本内容不稳定 会出现换行等 或者字体大小问题会印象 ps: 就算不是富文本只是正常的文章也是可以使用的呢 思…

嵌入式学习(3)ADC、DMA、通信方式

对寄存器的理解 寄存器,是连接软件跟硬件的桥梁,软件可对寄存器读写,而每个寄存器下面都连着一根导线,读写寄存器来改变状态,从而控制硬件 ADC(Analog-Digital Converter)模拟-数字转换器 ADC…

使用spire.pdf往某个位置处写文本信息

使用开发工具idea2022,java1.8版本,利用spire.pdf往一个现成的pdf中写入文本信息,经过一番研究,实现了,现在贴出代码分享: 首先导入Spire.Pdf.jar到maven汇总,因为我采用他的官网在pom中加依赖…

用DevExpress实现基于HTMLCSS的桌面应用程序的UI(三)

DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任…

Spring Boot超大文件上传,实现秒传

文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,…

VMware Fusion 13.0 SLIC 2.6 MOD

请访问原文链接:VMware Fusion 13.0 SLIC 2.6 MOD,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org 使用 VMware Fusion 在虚拟机 (VM) 中运行 Windows、Linux、容器、Kubernetes 等而无需重新启动,充…

电信CDMA PDU短信号码字段编码转换的python实现

参考链接:CDMA(3GPP2)SMSPDU全解析-爱码网 CDMA SMS pdu解码_zx249388847的博客-CSDN博客_cdma smscdma pdu解析终极文档_月之海的博客-CSDN博客CDMA PDU 编解码补充解析_zx249388847的博客-CSDN博客 CDMA – lytsings Blog 一、PDU串解析 CDMA的pdu格式与GSM的相…

JavaMail 网易邮件发送demo-发送带附件的邮件

本文为joshua317原创文章,转载请注明:转载自joshua317博客 JavaMail 网易邮件发送demo-发送带附件的邮件 - joshua317的博客 使用Java应用程序发送 E-mail,需要在机子上安装 JavaMail API 和Java Activation Framework (JAF) 。 可以从 Java 网站下载最…

装饰器(Decorator)模式Recap

设计模式是一套积累并融合了大量经验与成熟思考的设计心法,每一个程序员在成长道路上都应该始终保持对最佳设计方案的不断追求。设计模式也会常用常新,值得反复研究和应用。本文简单Recap一下装饰器(Decorator)模式。 说句体外话…

【Paper】2020_离散多智能体系统的事件触发二分一致性研究_刘雨欣

文章目录第 4 章 有向符号图下离散多智能体系统的事件触发二分一致性4.3.1 示例一4.3.2 示例二系统 动态方程、控制输入及事件触发条件分别如式(2.1)、(3.1)及式(3.6)所示。 本文考虑一阶离散多智能体系统,第 iii 个智能体的动态方程如下: xi(k1)xi(k)ui(k)(2.1)\b…

千字长文!C++每日一练——Day3

🐑本文作者:C橙羊🐑 🎮🔊本文代码适合编译环境:DEV-C💻 ✨🧨温馨提示:此文乃作者心血,如要转载请标注版权,否则视为抄袭!&#x1f389…

多线程——线程同步器CountDownLatch

多线程——线程同步器CountDownLatch(一)CountDownLatch案例入门【1】CountDownLatch和join的区别【2】CountDownLatch案例一:等待线程等待工作线程【3】CountDownLatch案例二:主线程main等待子线程【4】CountDownLatch案例三&…

.NET Conf China 2022 精彩回顾 | IOT专场

12月充满惊喜 各种美好的节日纷至沓来 奖励一年辛苦劳作的我们 本月程序员第一场节日 就是精彩的 .NET Conf China 2022 .NET Conf China 2022是面向开发人员的社区峰会,延续 .NET Conf 2022的活动,庆祝 .NET7的发布和回顾过去一年来 .NET在中国的发…

举个栗子~Alteryx 技巧(4):教你设置 Alteryx Server 用户权限

分析用户在用 Alteryx Designer 创建好工作流之后,如何在企业内部实现共享和管理分析工作流程、模型及数据呢?方法很简单:发布到 Alteryx Server ! Alteryx Server 通过内置的数据治理、集中管理的安全性和高可用性,可…

svn:E720005 move .svn/tmp拒绝访问

cleanup也clean不了 此时要用sqlite3.exe来解决了到有.svn的目录地下,把sqllite3.exe拷贝到这个下面 在目录里面打开cmd窗口,执行 sqlite3 .svn/wc.db "select * from work_queue" 如果查出内容,那么执行 sqlite3 .svn/wc.db …

【Dubbo3高级特性】「性能优化技术」Dubbo3完成扩展使用高效的Kryo和FST序列化开发实战

系列文章目录 如果你看到了这里,那么接下来你将会认识Dubbo3的诞生将如何引领微服务领域更进一步,从而迈入云原生的领域,这当然不仅仅是Dubbo3,之前也介绍了Java生态另外一个云原生领域的技术Quarkus等技术,而本文内容…