orb slam3根据匹配特征点重建相机pose部分源码解读

本节解释了用前后两帧匹配的Keypoint对来重建相机pose

地图点类型在MapPoint类,
里面包含很多信息,就不一一列举了,参考MapPoint.h
大致包含了世界坐标,keyframe和它的observations
view direction, 参照的keyframe, 做matching的best descriptor,bad flag(提示不好的点,但是目前不移除)

后面提取的Map point会保存在mvpMapPoints里

此部分在Tracking::Track(),

进入Map* pCurrentMap = mpAtlas->GetCurrentMap();

把之前检测到的9481个特征点的坐标pt 放入mvbPrevMatched,注意只有坐标,没有其他信息了

第一张图片只是检测特征点,并设置一些初始状态,并没有匹配建图,
接着读下一张图片

提取ORB特征,和上一帧的特征点匹配
保存对应匹配的keypoint的坐标到vbPrevMatched,Prev表示与上一帧的keypoint匹配

具体怎么匹配见orb_feature.txt

几个定义:
相机旋转矩阵Rcw, 平移向量(矩阵)tcw

下面进入mpCamera->ReconstructWithTwoViews
会进到Pinhole::ReconstructWithTwoViews -> TwoViewReconstruc

SLAM——ORB-SLAM3代码分析(二)MapPoint(2) 2021SC@SDUSC MapPoint分析(2) MapPoint.h的分析(二) MapPoint.cc的分析 接着上一篇,继续来分析MapPoint.h的代码。 首先是ComputeDistinctiveDescriptors方法,它定义来计算具有代表的描述子——由于一个MapPoint(地图点)会被许多相机观测到,因此在插入关键帧后,需要判断是否更新当前点的最适合的描述子,因此这个方法将先获得当前点的所有描述子,然后计算描述子之间的两两距离,而最好的描述子与其他描述子应该具有最小的距离中值 阅读详情

相关推荐

SLAM——ORB-SLAM3代码分析(一)MapPoint(1)

2021SC@SDUSC MapPoint分析 MapPoint.h的分析 MapPoint.cc的分析 一、MapPoint.h的分析 众所周知,由于ORN-SLAM3项目的综合性性,代码较多而且较为复杂,涉及很多方面。因为我选择选取几个点逐个击破。首先选择是与地图相关的MapPoint,这篇博客主要分析的MapPoint.h涉及的内容是地图点。 首先来看声明的相关头文件,主要涉及opencv,mutex,boost。<mutex>中声明的是与 Mutex 相关的类(包括锁类型)和函数。o

qq_45794281的博客 2003

ORB-SLAM3 单目惯导ros-system-track

单目 ros + system + 单目 tracking tracking开始后,track函数一致

xiaoma_bk的博客 4926

ORB-SLAM3 ORB特征提取与匹配

orb 特征提取 orb 特征匹配

xiaoma_bk的博客 4624

orb slam3 orb特征提取与匹配部分源码解读

提取ORB特征: ExtractORB函数, 传入灰度图 ORB特征提取第一步,提取FAST角点: 计算图像金字塔,金字塔图像保存在mvImagePyramid里,按从底层到上层的顺序保存 8叉树特征点,计算8叉树时,外边框16pixel的不要,分成35x35的小块, 但要根据长和宽能不能整除做调整, 在276x1244的图像中,是39x36的小块, 按块扫描图像,每行每列重叠6个像素, 每块区域提取FAST角点,阈值取20,用到NMS,如果用阈值20提取不到特征点,就把阈值降到7再次提取, 因为这提取的是

蓝羽飞鸟的博客 979

【ORB_SLAM3源码解读】IMU基础介绍、IMU姿态、速度、位置解算以及误差方程、坐标系

ORB_SLAM3优势 IMU(Inertial Measurement Unit),惯性测量单元 • 典型 6 轴 IMU 以较高频率(≥ 100Hz)返回被测量物体的角速度与加速度 • 受自身温度、零偏、振动等因素干扰,积分得到的平移和旋转容易漂移 六自由度 IMU 本身由一个陀螺仪和一个加速度计组成,分别测量自身的角速度和加速度。 IMU 适合计算短时间、快速的运动; 快速响应,不受成像质量影响,角速度普遍比较准确,可估计绝对尺度 存在零偏,低精度 IMU 积分位姿发散,高精度价格昂贵 可利用视觉定位

小秋 AI SLAM 入门实战教程 1万+

2020-12-16 三维重建之(二)Sift特征提取与匹配

三维重建之(二)Sift特征提取与匹配 SIFT算法详解(1)综述与尺度空间检测 http://blog.youkuaiyun.com/lhanchao/article/details/52345845 SIFT算法详解(2)极值点的精确定位与特征点方向的计算 http://blog.youkuaiyun.com/lhanchao/article/details/52400936 SIFT算法详解(3)特征点描述符的生成 http://blog.youkuaiyun.com/lhanchao/article/details/52403284

weixin_44119674的博客 754

【ORB-SLAM3 Initializer详解与实现】编程

ORB-SLAM3是一种基于特征点的视觉里程计(Visual Odometry)系统,它通过特征提取、特征匹配和位姿估计等步骤,能够在具有高度复杂性的环境下实现实时的相机定位与地图重建。ORB-SLAM3 Initializer模块通过基本矩阵估计和六自由度初始位姿估计,能够实现相机的初始定位。基于估计的基本矩阵,ORB-SLAM3进一步计算相机的初始位姿。具体而言,ORB-SLAM3会对所有的特征点进行投影,并通过非线性优化方法最小化重投影误差,从而得到相机的初始位姿。六自由度初始位姿估计。

2301_79325339的博客 317

局部路径规划算法 - B样条曲线(B-spline Curves)

本文详解了B样条以及代码实现

BigDavid123的博客 6506

电磁波函数复数表示法:为什么物理学家偏爱e^(ikz)而非cos(kr-wt)?

本文深入解析了电磁波函数复数表示法(如e^(ikz))相较于传统余弦形式的巨大优势。通过欧拉公式,复数形式将复杂的三角运算转化为简洁的指数运算,在微分、积分、线性叠加及处理相位时展现出极高的计算效率,是物理学家和工程师分析波动现象的核心工具。

weixin_29094539的博客 498

有限时间 vs 固定时间 vs 预定时间滑模:稳定性分析与仿真验证方法对比(中)

有限时间滑模控制(FTSMC)和固定时间滑模控制(FixTSMC)是两种重要的控制策略,旨在实现系统状态的快速收敛。FTSMC通过设计滑模面和控制律,确保系统状态在有限时间内收敛到原点,但其收敛时间与初始状态相关。FixTSMC则进一步优化,使收敛时间与初始状态无关,适用于高动态环境,具有更强的鲁棒性和更平滑的控制信号。两种方法均通过李雅普诺夫函数证明其稳定性,并通过仿真验证其有效性。FixTSMC在工程应用中更为可靠,尤其适合安全关键系统。

Lyajpunov的博客 3223

使用Visual Studio 2022创建CUDA编程项目

本文介绍了在Visual Studio 2022中配置CUDA开发环境的完整流程。首先需要安装VS2022并勾选C++开发组件,然后安装CUDA Toolkit和兼容的NVIDIA驱动。创建项目时选择CUDA模板,VS会自动生成数组相加的示例代码。项目配置包含CUDA头文件依赖和链接器设置(cudart_static.lib)。文章详细说明了从环境搭建到代码编写、调试的完整步骤,帮助开发者快速上手CUDA编程。

新兴IT民工的专栏 1万+

自然语言处理(扩展学习1):Scheduled Sampling(计划采样)与Teacher forcing(教师强制)

作者:安静到无声作者简介:人工智能和硬件设计博士生、优快云与阿里云开发者博客专家,多项比赛获奖者,发表SCI论文多篇。o( ̄▽ ̄)d。

安静到无声 2143

7.1华为OD机试真题 新系统 - 仓库盘点 (Java/Py/C/C++/Js/Go)

7.1华为OD机试真题 新系统 - 仓库盘点 (Java/Py/C/C++/Js/Go)

算法大师! 505

手把手教你学simulink(28.2)--四旋翼无人机景示例:基于自抗扰控制(ADRC)的无人机姿态稳定系统

通过上述代码实现,您可以逐步创建和搭建一个基于自抗扰控制的无人机姿态稳定系统。该系统能够实时估计和补偿外部扰动及模型不确定性,确保无人机姿态稳定。自抗扰控制具有较强的鲁棒性和适应性,能够在存在不确定性和扰动的情况下提供快速且精确的控制性能。Simulink提供了强大的建模和仿真工具,使得控制系统工程师能够快速构建复杂的控制算法,并将其应用于实际工程中。无人机动力学建模:建立无人机的六自由度(6-DOF)动力学模型,包括位置、速度、姿态角和角速度。自抗扰控制器设计。

MHD0815的博客 499

华为OD机试 - 开源项目热度榜单(Java 2025 C卷 100分)

H = Wwatch X#watch + Wstar X#star +Wfork X#fork +Wissue X#issue +Wmr X#mr H表示热度值,Wwatch、Wstar、Wfork、Wissue、Wmr分别表示5个统计维度的权重,#watch、#star、#fork、#issue、#mr分别表示5个统计维度的统计值。

学Java,找哪吒 1755

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: leetcode 1342. Number of Steps to Reduce a Number to Zero(数归为0需要几步)
下一篇: leetcode 268. Missing Number(丢失的数字)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值