2021SC@SDUSC
KeyFrame中有一个很重要的概念共视图
1.首先解释一下什么是共视图(mConnectedKeyFrameWeights
):能看到同一地图点的两关键帧之间存在共视关系,共视地图点的数量被称为权重.
2.共视图结构由3个成员变量维护:
mConnectedKeyFrameWeights是一个std::map,无序地保存当前关键帧的共视关键帧及权重.
mvpOrderedConnectedKeyFrames和mvOrderedWeights按权重降序分别保存当前关键帧的共视关键帧列表和权重列表.
3.下面解释几个有关关键帧的成员函数
void KeyFrame::AddConnection(KeyFrame *pKF, const int &weight) {
// step1. 修改变量mConnectedKeyFrameWeights
{
unique_lock<mutex> lock(mMutexConnections);
if (!mConnectedKeyFrameWeights.count(pKF) || mConnectedKeyFrameWeights[pKF] != weight)
mConnectedKeyFrameWeights[pKF] = weight;
else
return;
}
// step2. 调用函数UpdateBestCovisibles()修改变量mvpOrderedConnectedKeyFrames和mvOrderedWeights
UpdateBestC