zoukankan      html  css  js  c++  java
  • VINS_MONO闭环检测中使用的特征点

    闭环检测中每一个关键帧有两类特征点:

    1. goodFeatureToTrack检测到的点及光流track到的点,这些点在FeatureTracker类中得到
    2. KeyFrame类中提取的FAST特征点

    两类特征点都计算了BRIEF描述子,但她们特点不同各有用处:
    对于FAST点来说,其数量较多,主要用于DBOW2中的query,具体代码在PoseGraph::detectLoop()函数中。
    detecLoop获得了可能存在闭环的之前的关键帧的index之后,就要用KeyFrame::findConnection()来确定是否是一个真正的闭环,这个时候就用到了第一类特征点。
    具体来说,在old key的FAST特征点中找跟当前keyframe的第一类特征点匹配的点,使用的方法是计算BRIEF描述子的汉明距离,代码见KeyFrame::searchByBRIEFDes()函数。
    第一类特征点有比较精确的深度信息,它在世界坐标系下的3维坐标是已知的,在old keyframe中找到它们的匹配点就可以用solvePnP的方法获得当前keyframe和old keyframe的相对位姿。如果两个关键帧之间的yaw和T小于某个阈值才认为是一个真正的闭环。

    需要注意的是FAST点和第一类点是通过不同方式检测出来的点,它们往往是不重合的。所以searchByBRIEFDes的时候效果应该不会特别好吧。如果想优化这部分的,可以在这方面动动脑筋。

  • 相关阅读:
    drf中APIView源码分析
    将orm中模型类对象转化为字典,简单粗暴的方法
    python中uuid的使用
    每日作业 7/3
    传输文件到docker容器
    mysql 常用选项
    mysql基本语句
    mysql数据库的基本操作增删改查
    docker service的常用操作
    centos7主机重命名
  • 原文地址:https://www.cnblogs.com/glxin/p/9956748.html
Copyright © 2011-2022 走看看