ORB-SLAM3 ---(单目模式初始化)

(1)SLAM面试题目和答案
https://dandelioncloud.cn/article/details/1593250926339215362
(2)单目初始化的详细过程
https://mp.weixin.qq.com/s?__biz=MzU2NjU3OTc5NA==&mid=2247486901&idx=1&sn=cd31bd570fb59cdb87ef6c3cf99cfc86&chksm=fcab0a88cbdc839e9b9cf3a8604628cab202d14875531297c11f609d9ceaa4a0387a182f6651&scene=27

(3)https://blog.csdn.net/shanpenghui/article/details/110003959?spm=1001.2014.3001.5502

在这里插入图片描述

主要的流程图如下所示
在这里插入图片描述如上图所示,单目初始化中的两个主要函数Frame::Frame()和Tracking::Track()

一. \quad Frame::Frame()
1. 作用:主要完成工作是特征点提取,涉及到的知识点其实很多,包括图像金字塔、特征点均匀化、四叉树算法分发特征点、特征点方向计算等等。
2. 主要有3个函数:ExtractORB(),UndistortKeyPoints(), AssignFeaturesToGrid()

     Frame::ExtractORB():对当前单目图像进行ORB特征点提取。
     Frame::UndistortKeyPoints():用OpenCV的矫正函数、内参对提取到的特征点进行矫正。
     Frame::AssignFeaturesToGrid():将特征点分配到图像网格中 ,进行特征点均匀化处理。
  1. Frame::ExtractORB
    3.1 作用:主要完成工作是提取图像的ORB特征点和计算描述子。
    3.2 主要函数
    \quad (1)构建图像金字塔,ORBextractor::ComputePyramid
    \quad (2)利用四叉树算法均分特征点,ORBextractor::ComputeKeyPointsOctTree
    \quad (3)计算某层金字塔图像上特征点的描述子,static ORBextractor::computeDescriptors

    3.3 构建图像金字塔
    \quad (1)首先,图像金字塔的概念是: 图像金字塔是图像中多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。
    \quad (2)ORBSLAM3中,调用OpenCV的resize函数实现图像缩放,构建每层金字塔的图像,在函数ORBextractor::ComputePyramid中。
    \quad (3)尺度不变性原理。在ORB-SLAM3中,为了实现特征尺度不变性采用了图像金字塔,金字塔的缩放因子为1.2。其思路就是对原始图形(第0层)依次进行1/1.2缩放比例进行降采样得到共计8张图片(包括原始图像),然后分别对得到的图像进行特征提取,并记录特征所在金字塔的第几层,这样得到一帧图像的特征点。
    \quad (4)尺度不变性实现。首先,作者调用MapPoint::PredictScale函数,根据地图点到光心的距离,来预测一个类似特征金字塔的尺度。其次,作者调用MapPoint::UpdateNormalAndDepth函数,来更新平均观测方向以及观测距离范围。由于一个MapPoint会被许多相机观测到,因此在插入关键帧后,需要更新相应变量,创建新的关键帧的时候会调用该函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值