当前位置: 首页 > news >正文

【跟我一起读《视觉惯性SLAM理论与源码解析》】第九章 地图点、关键帧以及图结构

这一章主要讲了一些基本内容,包括ORB-SLAM2中地图点,关键帧图结构的问题

  1. 地图点和特征点的关系?有时候地图点对应不同帧上的特征点,特征点可以通过三角化得到地图点
  2. 地图点的几个属性,平均观测方向,以及观测距离范围是如何计算的?
  3. 如何计算地图点最具代表性的描述子?首先获取该地图点有效的观测关键帧以及对应的特征点索引,遍历观测到该地图点的所有关键帧,把对应的特征描述子都放在同一个向量中,计算所有描述子之间的两两距离,找到和其他描述子具有最小距离中值的描述子,最为最具代表性的描述子。这里什么叫最小距离中值,是如何计算的?另外怎么选描述子在之前说过p90
  4. 预测地图点对应的特征点所在的金字塔尺度原理?
  5. 恒速模型跟踪中增加地图点(双目以及RGB-D模式),找出上一帧具有有效深度值但不是地图点的特帧点,其中较近的作为临时地图点,这里没有添加地图点信息,因为是临时的,后期跟踪结束也会删掉这些点
  6. 跟踪结束新建关键帧的时候 (双目以及RGB-D模式),和上述不同的是会添加真正的地图点
  7. 局部建图线程中,用当前关键帧和相邻关键帧通过三角化生成新的地图点。会将当前关键帧的地图点分别和一级二级相连关键帧的地图点进行正向与反向的融合,这里的融合包括替换或新增地图点,而且会添加相互的观测
  8. 融合地图点,在局部建图中将当前关键帧的一级和二级相连关键帧对应的所有地图点投影到当前关键帧中,如果投影的地图点能够匹配当前关键帧的特征点,并且该特征点有对应的地图点,那么选择两个地图点中被观测数目最多的那个来替换两个地图点;如果特征点没有对应的地图点,那么新增该地图点和关键帧之间的观测关系,称为地图点新增;闭环线程中,将当前关键帧闭环匹配上的关键帧以及其共视关键帧上的所有地图点投影到当前关键帧中,其他操作如上。
  9. 如何选择并创建关键帧,这里有很多逻辑关系跟很多因素有关例如:距离上一次重定位时间,局部建图线程是否被占用,地图中关键帧数目个数是否超出最大限制,跟踪到的近点数量,和参考帧想必当前帧跟踪到的点数,成功跟踪到的匹配内点数目等。主体分为条件a和条件b,a和b中又有一些逻辑关系才能满足,当a和b同时满足时才能插入关键帧,主函数为Tracking类下的NeedNewKeyFrame()
  10. 如何更新关键帧之间的关系,当新建关键帧时,都需要新建和它相连关键帧的关系;当关键帧的地图点发生变化时,需要更新和它相连关键帧之间的联系。这些是如何操作的?
  11. 如何删除关键帧,首先需要清除和相连关键帧的联系(一级以及二级相连),清除观测到和地图点的联系,需要为该关键帧的子关键帧寻找合适的父关键帧。这些是如何操作的?
  12. 关于父子关键帧,参考关键帧,共视图,本质图,生成树的概念,以及本质图优化和全局BA的比较,这些是有关图结构的概念

我觉得这里最需要整理每一个实现的策略,有些算法非常巧妙比如说删除关键帧,其一子关键帧在寻找到新父后,直接升级成父加入其它子关键帧的父库中,如果是在子关键帧找不到父,直接把爷爷当成父,很有意思。

相关文章:

【跟我一起读《视觉惯性SLAM理论与源码解析》】第九章 地图点、关键帧以及图结构

这一章主要讲了一些基本内容,包括ORB-SLAM2中地图点,关键帧图结构的问题 地图点和特征点的关系?有时候地图点对应不同帧上的特征点,特征点可以通过三角化得到地图点地图点的几个属性,平均观测方向,以及观测…...

网络安全——数据链路层安全协议(2)

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.局域网数据链路层安全协议 1.IEEE 802.10 (1)IEE…...

【华为OD机试模拟题】用 C++ 实现 - 热点网络统计(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明热点网络统计【华为OD机试模拟题】题目输入输出描述示例一输入输出示例二输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出…...

人工智能学习07--pytorch09--LeNet

参考: 视频: https://www.bilibili.com/video/BV187411T7Ye/?spm_id_from333.999.0.0&vd_sourceb425cf6a88c74ab02b3939ca66be1c0d 博客:https://blog.csdn.net/STATEABC/article/details/123661612?utm_mediumdistribute.pc_feed_404.…...

java泛型编程初识

java泛型编程初识1.泛型解决的是什么问题2.泛型实例化语句3.自定义泛型1)自定义泛型类或接口2)自定义泛型方法4.泛型使用中的继承和通配1)通配2)继承使用限制1.泛型解决的是什么问题 很多类、接口、方法中逻辑相同,只是操作的对象类型不同,这个时候就可…...

代码随想录算法训练营 || 贪心算法 1005 134 135

Day291005.K次取反后最大化的数组和力扣题目链接给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。)以这种方…...

Spring框架面试题

springboot的自动装配原理 主类上的SpringBootApplication存在EnableAutoConfiguration,EnableAutoConfiguration会导入AutoConfigurationImportSelector组件,其AutoConfigurationImportSelector$AutoConfigurationGroup#process()方法会读取当前应用所有…...

纯x86汇编实现的多线程操作系统实践 - 第五章 AP的守护执行

AP的32位保护模式代码的后半部分从0x8001C000开始执行,完成的工作主要有:初始化必要的中断给BSP发送启动成功的消息创建各AP的系统进程创建各AP的用户进程循环显示各AP中用户进程执行的时间比例5.1 初始化中断5.1.1总体初始化各AP调用init_interrupt_fun…...

2023年全国最新高校辅导员精选真题及答案7

百分百题库提供高校辅导员考试试题、辅导员考试预测题、高校辅导员考试真题、辅导员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 71.在北京曾经发现一处战国时期的遗址,从中出土了燕、韩、赵、魏等国铸币3876…...

使用windwow windbg 吃透64位分页内存管理

前言 分页基础概念是操作系统基础知识,网上已经有太多太多了。所以本文记录使用windwow内核调试工具验证理论知识。 具体可以参阅intel volume3的 4.1.1 Four Paging Modes章节。 简而言之:CR0.PG 0表示不开启分页.并且根据CR4各种标志开启不同类别的…...

Java知识复习(五)JVM虚拟机

1、虚拟机的自动内存管理和C/C的区别 C/C开发程序时需要为每一个new操作去写对应的delete/free操作,不容易出现内存泄漏和溢出问题。而Java程序将内存控制权交给了Java虚拟机 2、JVM的运行机制 1、Java程序的具体运行过程如下: Java源文件被编译器编…...

房屋出租管理系统

1. 铺垫 1.1 项目真实开发的过程 上来要做什么???? 有电脑—》配环境(JDK、IDEA、MAVEN……) 这个项目:房屋管理系统 从什么角度出发,第一步做什么?? 架构 …...

2023年全国最新食品安全管理员精选真题及答案6

百分百题库提供食品安全管理员考试试题、食品安全员考试预测题、食品安全管理员考试真题、食品安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 51.制定《中华人民共和国食品安全法》的目的是为了保证食品安全&#xf…...

C++中的文件操作

文件操作 所有数据程序运行结束后都会释放通过文件可以将数据持久化头文件文件类型分为两种 文本文件—文件以文本的ASCII码形式存储在计算机中二进制文件—文件以文本的二进制存储在计算机中 操作文件的三大类 ofstream—写操作ifstream—读操作fstream—读写操作 文本文件 写…...

监控生产环境中的机器学习模型

简介 一旦您将机器学习模型部署到生产环境中,很快就会发现工作还没有结束。 在许多方面,旅程才刚刚开始。你怎么知道你的模型的行为是否符合你的预期?下周/月/年,当客户(或欺诈者)行为发生变化并且您的训练…...

15s了解什么是物联网技术

目录 15s了解什么是物联网技术 15s了解什么是物联网技术 什么是物联网技术。 简单地说,物联网就是把所有的物体连接起来,相互作用,形成一个互联互通的网络,这就是物联网。如果说互联网是我们身体的虚拟大脑,那么物联网就是我们身体的感知系统,就像眼睛和耳朵-样,让我们…...

敲出来的真理-mysql备份大全,备份命令,还原命令,定时备份

mysqldump命令全量备份数据全量标准语句格式mysqldump -h主机名 -P端口 -u用户名 -p密码 –database 数据库名 > 文件名.sql 1.备份全部数据库的数据和结构mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql2.备份全部数据库的结构(加 -d 参数&#x…...

ATTCK实战系列-红队评估(一)

from ATT&CK实战系列-红队评估(一) 环境搭建 下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ 将三个虚拟机启动起来 除了windows 7那个主机,其他都只设置成仅主机模式 windows 7添加两个网卡,一个是仅主机,一个是NAT …...

学python的第二天---差分

一、改变数组元素(差分)方法一:差分数组map(int,input().split())for b in arr[:n]:print(1 if b else 0,end )方法二:区间合并interval.sort(keylambda x:x[0])二、差分a [0] list(map(int, input().split())) a[n 1:]三、差…...

数据结构入门5-2(数和二叉树)

目录 注: 树的存储结构 1. 双亲表示法 2. 孩子表示法 3. 重要:孩子兄弟法(二叉树表示法) 森林与二叉树的转换 树和森林的遍历 1. 树的遍历 2. 森林的遍历 哈夫曼树及其应用 基本概念 哈夫曼树的构造算法 1. 构造过程 …...

把Redis当作队列来用,到底合适吗?

文章目录 前言从最简单的开始:List 队列发布/订阅模型:Pub/Sub趋于成熟的队列:Stream1) Stream 是否支持「阻塞式」拉取消息?2) Stream 是否支持发布 / 订阅模式?3) 消息处理时异常,Stream 能否保证消息不丢失,重新消费?4) Stream 数据会写入到 RDB 和 AOF 做持久化吗?…...

Python学习-----项目设计1.0(设计思维和ATM环境搭建)

目录 前言: 项目开发流程 MVC设计模式 什么是MVC设计模式? ATM项目要求 ATM项目的环境搭建 前言: 我个人学习Python大概也有一个月了,在这一个月中我发布了许多关于Python的文章,建立了一个Python学习起步的专栏…...

(九)python网络爬虫(理论+实战)——爬虫实战:指定关键词的百度新闻爬取

系列文章目录 (1)python网络爬虫—快速入门(理论+实战)(一) (2)python网络爬虫—快速入门(理论+实战)(二) (3) python网络爬虫—快速入门(理论+实战)(三) (4)python网络爬虫—快速入门(理论+实战)(四) (5)...

数据分析面试、笔试题汇总+解析(六)

(接上篇) 面试题(MySQL篇) 3. 如何提高MySQL的查询速度? 考点解析: 考察面试者对MySQL查询优化的理解 参考答案: (因为这个问题如果回答的详细一点可以写上一整篇,…...

vue3+rust个人博客建站日记3-编写主页

内容 绘制了主页的基本布局设置了封装了header栏组件并设置了全局黑夜模式. 选择一个组件库-Naive UI 如果没有设计能力,又想开发出风格统一的前端页面。就一定要选择一个漂亮的组件库。 本次项目选择使用Naive UI,NaivUI库曾被Vue框架作者尤雨溪推荐…...

前端常考react面试题(持续更新中)

react diff 算法 我们知道React会维护两个虚拟DOM,那么是如何来比较,如何来判断,做出最优的解呢?这就用到了diff算法 diff算法的作用 计算出Virtual DOM中真正变化的部分,并只针对该部分进行原生DOM操作,而…...

C++11多线程编程 二:多线程通信,同步,锁

C11多线程编程 一:多线程概述 C11多线程编程 二:多线程通信,同步,锁 C11多线程编程 三:锁资源管理和条件变量 2.1 多线程的状态及其切换流程分析 线程状态说明: 初始化(Init)&am…...

js——原型和原型链

最近看了很多面试题,看到这个js原型是常考点,于是,我总结了一些该方面的知识点分享给大家,其实原型就是那么一回事,搞明白了就没啥了。结果如下图所示:原型原型又可分为显式原型和隐式原型1.1显式原型显式原…...

[计算机网络(第八版)]第三章 数据链路层(学习笔记)

物理层解决了相邻节点透明传输比特的问题 3.1 数据链路层的几个共同问题 3.1.1 数据链路和帧 链路: 从一个节点到相邻节点的一段物理线路,中间没有任何其他的交换节点 数据链路: 节点间的逻辑通道是把实现控制数据传输的协议的硬件和软件加…...

void在不同场景下的意义

指针一般有三种含义:一是指明数据的位置,体现在指针的值,表示一个地址。二是表示数据类型的大小,例如int指针表示四个字节为一组数据,体现在指针的加减法如何计算。三是表示数据如何被解释,例如float指针和…...

珠海建设网站首页/百度搜索指数入口

ASP代码审计学习笔记 -5.文件下载漏洞 文件下载漏洞 漏洞代码&#xff1a; <% function download(f,n) on error resume next Set SCreateObject("Adodb.Stream") S.Mode3 S.Type1 S.Open S.LoadFromFile(f) if Err.Number>0 then …...

WordPress 如何修改底部栏内容/四川旅游seo整站优化

在本文中&#xff0c;192路由网将给大家详细介绍&#xff0c;设置水星(MERCURY)MAC1300R无线路由器上网的方法。新买的或者恢复出厂设置后的水星MAC1300R路由器&#xff0c;要设置它连接宽带上网&#xff0c;请按照下面的步骤进行操作&#xff1a;1、路由器线路连接2、设置电脑…...

360crm客户管理系统/谷歌seo靠谱吗

用户编程接口 库函数调用与系统调用 库函数是语言或应用程序的一部分&#xff0c;它是高层的、完全运行在用户空间、为程序员提供调用真正的在幕后完成实际事务的系统调用接口。而系统函数是内核提供给应用程序的接口&#xff0c;属于系统的一部分。简单说&#xff0c;函数库…...

政府门户网站群集约化建设方案/小红书seo排名

记录一下Python的命名风格规范&#xff0c;文件名&#xff0c;包&#xff0c;模块&#xff0c;类&#xff0c;函数&#xff0c;变量….等等的命名风格&#xff0c;以及Google的Python命名规范。Python命名规范文件名全小写,可使用下划线包应该是简短的、小写的名字。如果下划线…...

广东网页空间网站平台/什么平台可以免费打广告

如果想跟我一起讨论的话,就快加入我的知识星球吧。星球里有一千多位同样爱好安全技术的小伙伴一起交流! 常用工具: Nmap使用详解Sqlmap使用详解Metasploit Framework(MSF)的使用MSF中kiwi模块的使用MSF中mimikatz模块的使用Msfvenonm生成后门木马...

简单做网站用什么软件/谷歌seo优化排名

4.1~4.2节 R1.数据报&#xff0c;交换机基于链路层&#xff0c;路由器基于网络层。 R2.维护、更新转发状态信息。虚电路建立&#xff0c;数据传送&#xff0c;虚电路拆除。 R3. 转发是指将分组从一个输入链路接口转移到合适的输出链路端口的路由本地动作。 路由选择是指网络范围…...