【论文阅读】An Object SLAM Framework for Association, Mapping, and High-Level Tasks

news2024/11/16 5:38:58

一、系统概述

这篇文章是一个十分完整的物体级SLAM框架,偏重于建图及高层应用,在前端的部分使用了ORBSLAM作为基础框架,用于提供点云以及相机的位姿,需要注意的是,这篇文章使用的是相机,虽然用的是点云这个词,但其形容的实际上是三角化之后的ORB特征点。除此之外,论文使用YOLO作为目标检测的基础框架,提供目标的包围框以及语义类别。
在地图构建的部分,论文选择将物体添加到地图中形成物体地图,并且利用物体之间的相互关系,构建了基于物体的拓扑地图,在拓扑地图的基础上又构建出了后续物体抓取、增强现实等丰富的应用。
在这里插入图片描述

二、物体级的信息关联

信息关联,即data association,强调的是建立2d-3d或者2d-2d之间的联系,即观测到的物体之间的匹配关系,这一问题在一般的SLAM问题中主要是通过描述子匹配的方法来解决的,但是上升到物体之后,这一方法就不是那么好用了。
文章将物体分为了两类:
①局部物体 local object
在当前时刻当前视角下观测到的物体,物体在一开始提取时本身是一帧图像特征点三角化的结果,一帧图像中物体的包围框,对包围框内部的点进行三角化,作为这一物体一开始的点云,物体的中心用点云的均值来表示。
②全局物体 global object
连续几帧都可以对某一物体进行观测,则认为局部物体是确实存在于地图中的,此时物体就变为全局物体,此时物体中心利用多视角下增量构建的点云来计算。
在这里插入图片描述
对于这两类物体,论文使用了一系列的方法来对解决信息关联的问题,主要是利用了四个步骤来实现:

IoU模型

IoU模型针对的是连续几帧都可以观测到物体的情况,其方法简单来说就是对包围框进行投影,将前两帧的包围框投影到当前帧,计算包围框与当前帧包围框的交并比,如果重叠足够大则认为通过了IoU模型的检验。

NP检验模型

但是在实际运行代码的过程中,考虑到物体提取的不稳定性以及遮挡等不可抗拒因素,并不是所有物体都可以实现连续观测,因此对于任意两帧,我们采用NP检验模型进行检测。该检测主要是基于一个假设:如果两组点来自同一个物体,其特征点分布应该相同。论文使用了威尔克科森秩和检验来验证这一模型,用的是概率论里面假设检验的知识,如果假设检验认为属于同一物体,那么就可以建立物体之间的联系。

单采样和双采样T检验模型

为了更加准确的检验,论文在NP检验模型之后,又补充了单采样T检验,由于物体中心在不同视角下的观测,分布一般满足高斯分布,基于这一假设,作者通过曼-惠特尼U检验来验证这一假设,依然是使用假设检验的内容进行验证。
前面使用了三种方法进行检验,保证了准确率的同时,也让一些不稳定的匹配关系没能成功保留,所以论文在单采样T检验之后,又补充了一个双采样T检验,通过对历史中心点的检验,来判断观测结果是否属于同一个物体。

可以说论文作者在物体关联这一块,属实是把概率论整的很明白。首先通过投影包围框计算交并比来计算一个连续帧下的物体关联关系,之后用NP检验来扩展到非连续帧下的观测结果,同时用单采样T检验对物体中心也进行一次筛选,最后利用双采样T检验对误筛除的关联进行补充,后面三步其实都是根据假设检验来进行的检测。

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

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

相关文章

DevOps该怎么做?

年初在家待了一段时间看了两本书收获还是挺多的. 这些年一直忙于项目, 经历了软件项目的每个阶段, 多多少少知道每个阶段是个什么, 会做哪些事情浮于表面, 没有深入去思考每个阶段背后的理论基础, 最佳实践和落地工具. 某天leader说你书看完了, 只有笔记没有总结, 你就写个总结…

小白必看!轻松理解和解决MySQL幻读问题!

大家好,我是小米!今天我来给大家分享一下关于MySQL数据库中常见的一个问题——幻读,以及如何解决它。相信对于数据库开发和管理的小伙伴们来说,幻读是一个相对棘手的问题,但只要我们掌握了正确的解决方法,它…

网络故障管理

网络故障管理是以最快的方式查找、隔离和排除网络故障的过程。故障管理是网络管理的重要组成部分,它通过快速解决故障来最大限度地减少停机时间并防止设备故障,从而确保最佳的网络可用性并防止业务损失。 网络故障监控是故障管理的第一步,因…

Linux Shell脚本攻略

一、echo命令 1、在echo中转义换行符 默认情况下,echo会在输出文本的尾部追加一个换行符。可以使用选项-n来禁止这种行为。 echo同样接受双包含转义序列的双引号字符串作为参数。在使用转义序列时,需要使用echo -e "包含转义序列的字符串"这…

有哪些测试框架和工具推荐? - 易智编译EaseEditing

在软件测试领域,有许多测试框架和工具可供选择。以下是一些常见的测试框架和工具的推荐: Selenium: 一个用于自动化Web应用程序测试的流行框架。它支持多种编程语言,并提供丰富的功能和灵活性。 JUnit: 一个用于Java应用程序的单元测试框架…

MongoDB(学习笔记1.0)

最近在学非关系型数据库MongoDB,猛地用起来的真的没关系型数据库方便啊。 首先还是数据库的安装: 安装直接去官网安装即可,官网地址:MongoDB: The Developer Data Platform | MongoDB 当前也有免安装版的,这里就不再…

毕业三年,自学软件测试到就业,我用了4个月

我转行的经历 17年毕业,普通专科,通信专业。 当初选择这个专业是因为有一个校企合作,承诺学生毕业之后给学生安排就业,在学校里面混了三年之后,学校也是履行了当初安排就业的承诺,给我“发配”到了上海&a…

chatgpt赋能python:Python同一行输入

Python同一行输入 在Python编程中,你可能需要在同一行中输入多个命令或语句。这可以通过使用分号来实现。 在本文中,我们将介绍如何在Python中使用同一行输入,并探讨其优缺点。 使用分号实现同一行输入 在Python中,分号&#x…

地震勘探基础(九)之地震速度分析

速度分析 在地震资料数字处理中,速度分析是动校正和水平叠加和地震偏移的基础。 在水平界面情况下,共中心点时距曲线方程是一条双曲线。在共中心点时距曲线中,炮检距 x x x 和时间 t 0 t_0 t0​ 都是已知的,只有速度 v v v 是…

30天从入门到精通TensorFlow1.x 第五天,跨计算设备执行计算图-cpu

一、接前一天 前天学习了,数据流图,今天尝试在不同设备上(cpu或者gpu)来执行计算图。 本次使用cpu来执行,但是不涉及gpu。gpu放在后面学习,这里比较重要。 二、示例 1. 先看看自己的设备 from tensorfl…

My Note of Diffusion Models

Diffusion Models Links: https://theaisummer.com/diffusion-models/ Markovian Hierachical VAE rvs: data: x 0 x_{0} x0​,representation: x T x_{T} xT​ ( p ( x 0 , x 1 , ⋯ , x T ) , q ( x 1 , ⋯ , x T ∣ x 0 ) ) (p(x_0,x_1,\cdots,x_T),q(x_1,\cdots,x_{T…

AcWing 回转游戏 dfs IDA* 剪枝 统一操作 java

🍑 算法题解专栏 🍑 回转游戏 如下图所示,有一个 # 形的棋盘,上面有 1 , 2 , 3 1,2,3 1,2,3 三种数字各 8 8 8 个。 给定 8 8 8 种操作,分别为图中的 A s i m H A \\sim H AsimH。 这些操作会按照图中字母和箭头…

ChatGPT会取代低代码开发平台吗?

编程作为一种高端技能,向来是高收入高科技的代名词。近期,伴随着ChatGPT在全球的爆火,过去通过窗口“拖拉拽”的所见即所得方式的低代码开发模式,在更加智能和更低成本的AI搅局之下,又面临了更深层次的影响。 低代码平…

MySQL redo log、undo log、binlog

MySQL是一个广泛使用的关系型数据库管理系统,它通过一系列的日志来保证数据的一致性和持久性。在MySQL中,有三个重要的日志组件,它们分别是redo log(重做日志)、undo log(回滚日志)和binlog&…

MyBatis深入学习总结

MyBatis总结 MyBatis入门操作 简介 原始jdbc操作(查询数据) 原始jdbc操作(插入数据) 原始jdbc操作的分析 原始jdbbc开发存在的问题如下: 数据库连接创建、释放频繁造成系统资源的浪费从而影响系统性能sql语句在代…

深度学习基础知识-tf.keras实例:衣物图像多分类分类器

参考书籍:《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition (Aurelien Geron [Gron, Aurlien])》 本次使用的数据集是tf.keras.datasets.fashion_mnist,里面包含6w张图,涵盖10个分类。 import tensorflo…

Linux中的ACL以及加固

ACL访问控制 // ACL:Access Control List 访问控制列表 // -p :以原始格式显示 ACL [rootzbx ~]# getfacl -p /root/ // 查看ACL策略 # file: /root/ # owner: root # group: root user::r-x group::r-x other::--- 设置ACL策略 // -m : 修改文件的ACL // -b : 表示删除所有的…

RedisGraph的图存储模型

1 overview 在RedisGraph的整体架构中,非常简略的概括了RedisGraph的图存储模型: RedisGraph使用DataBlock来存储node和edge的属性。RedisGraph使用稀疏矩阵来表示图,稀疏矩阵的存储格式为按行压缩的稀疏矩阵(Compressed Sparse…

同浏览器下多窗口进行跨源通信、同源通信

同浏览器下多窗口进行跨源通信、同源通信 多页面通信运用到了“发布订阅”的设计模式,一个页面发布指令,其他页面进行订阅并进行相应的行为操作! 一、跨源通信 window.postMessage() window.postMessage() 方法可以安全地实现跨源通信。通常…

Qt6之调用Windows下vc生成的动态链接库dll

Qt是跨平台工具,显然能和windows的动态库一起使用。 在Windows操作系统上,库以文件的形式存在,并且可以分为动态链接库(DLL) 和静态链接库两种。动态链接库文控以.dll为后缀名,静态链接库文控以.lib为后缀名。不管是动态链接库还是…