多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

ORB-SLAM3 PredictScale

ORB-SLAM3 PredictScale // 根据当前帧与地图点的距离,预测地图点在该帧图像金字塔中对应的尺度层级int MapPoint::PredictScale(const float currentDist, Frame* pF){ float ratio; { unique_lockmutex lock(mMutexPos); // 线程安全地读取成员变量 // ratio = 最大可观测距离 / 当前距离 ratio = mfMaxDistance / currentDist; } // 计算所需的尺度层级 // 原理: mfMaxDistance 对应金字塔第 0 层(最高分辨率,能观测到最远的距离) // 对于任意距离 currentDist,其在尺度空间中与第 0 层的距离关系满足: // currentDist = mfMaxDistance * (scaleFactor)^(-nScale) = mfMaxDistance / currentDist = scaleFactor^nScale // 因此 nScale = log_{scaleFactor}(ratio)
返回列表