zoukankan      html  css  js  c++  java
  • ORB-SLAM2学习7 LocalClosing.h

    闭环这一部分,主要工作就是找出闭环,并且找出闭环之后可以优化关键帧位姿、地图点。

    主要的步骤也是在那个经典的论文图里面。这里就不贴出图了。这些讲重要的函数。

    bool LoopClosing::DetectLoop()

      这个函数对应论文VII的A部分。Loop Candidates Detection。

    第一步:计算当前帧mpCurrentKF和每一个与当前帧有共视关键帧们的Bow得分,得到最小得分minScore

    第二步:根据这个最小得分minScore 从mpKeyFrameDB(关键帧库)里面找出候选的的集合vpCandidateKFs.

    第三步:对于vpCandidateKFs里面的每一个关键帧,作为当前关键帧。我们找出其有共视关系的关键帧们组成一个当前整体spCandidateGroup。如果当前关键帧是vpCandidateKFs中第一帧的话,直接把这个spCandidateGroup整体,以分数0直接放到mvConsistentGroups中。如果不是第一帧的话,我们就从mvConsistentGroups中依次取出里面的元素pair<set<KeyFrame*>,int>的first这些元素也是关键帧们组成以前整体sPreviousGroup。只要是当前整体中的任意一个关键帧能在以前整体里面找到,我们就要将当前整体的得分加一并把当前整体放到mvConsistentGroups里面如果当前整体的得分大于3(mnCovisibilityConsistencyTh)了的话,当前帧就通过了一致性检测,把当前帧放到mvpEnoughConsistentCandidates,我们会找到很多候选的关键帧。下一步用sim3找出闭环帧。注意该函数改变的就mvpEnoughConsistentCandidates的里面的东西mvpEnoughConsistentCandidates作为该函数的输出

    bool LoopClosing::ComputeSim3()

      该函数找出真正的闭环帧mpMatchedKF。这个函数的实现策略跟有使用pnp算法的那个函数策略相似。

    具体步骤:第一步:将当前帧与候选的关键帧进行Bow匹配,当匹配的数目超过20,我们为这个候选参考帧和当前帧构造一个sim3Solver,.既相似求解器。

         第二步:我们用相识求解器求解出位姿Scm,通过相似变化求找出更多的匹配地图点,然后进行优化,优化的结果足够好的话就把候选的关键帧作为当前帧的闭环帧。

                    这里是会得到mg2oScw。

    void LoopClosing::CorrectLoop()

      这个函数对应的是论文VII下的c部分Loop Fusion。主要处理的是回环检测到了之后,对当前帧(回环帧)周围的帧的影响,回边的连接。以及地图点做出的相应的改变。

    具体步骤:第一步:通过上一步计算出来的当前帧的相似变换mg2oScw,来对当前帧周围的每一个关键帧进行相似变化修正。

    第二步:这些关键帧们有了修正好的相似变化,我们讲这些关键帧里面的看到的地图点进行修正。并且修正这些关键帧的位姿T。

    第三步:因为第二步修正了地图点,我们现在需要跟新当前帧的地图点,如果要替换关键点的话替换。当然我们也需要跟新当前帧周围关键帧们里的地图点。

    第四步:因为找到了闭环,我们现在需要在covisibility里面增加闭环边(不止一条边),然后就是进行EssentialGraph优化。

  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/panda1/p/7001042.html
Copyright © 2011-2022 走看看