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 -> TwoViewReconstruction::Reconstruct

sigma默认为1,iterations默认200

你可能感兴趣的:(源码解读系列,计算机视觉,人工智能,slam)