zoukankan      html  css  js  c++  java
  • CMT跟踪算法学习笔记(一)

           关于这个算法,已经有网友写出笔记。

           这位网友用画图的方式总结出了算法的各个流程,并总结了源码中的各个类:http://blog.csdn.net/roamer_nuptgczx/article/details/47953357#plain

           这篇博文分析了聚类算法:http://blog.csdn.net/simplelove17/article/details/45116177

           这位博主写了四篇博文来分析:http://blog.csdn.net/songrotek/article/details/47662617

                                                  http://blog.csdn.net/songrotek/article/details/47775131

                                                  http://blog.csdn.net/songrotek/article/details/47830463

                                                  http://blog.csdn.net/songrotek/article/details/48022597

     

         这个算法尤其是理论方面,看完后还是有很多不理解,但我想记录下自己能够得到那些启发,这就够了。

         在CMT::initialize这个函数中:(1)如何得到前景特征点和背景特征点。(2)为了更好的跟踪,计算特征点的相对中心位置(这个可用于尺寸变化,如何用还不知道)。

    还有一点很重要的是,给每个特征点一个编号。实际上,背景点的编号都是-1,前景点顺序编号,这在以后的匹配跟踪融合中都会用到。

         在track中,根据前后向光流法得到跟踪到的关键点(可在其他跟踪法中试试这种方法)。

         在matchGlobal中,关键点的全局匹配,将当前帧中检测器得到的所有关键点的特征描述与database进行knnMatch匹配(k=2),

    每个特征描述子在database寻找最佳的2个匹配结果,并把不符条件的特征点排除。(这个也可以与其他特征结合)

          在preferFirst中,融合跟踪和匹配到的点(这个也可以试,不过可能计算量会较大)。

         用融合后的点来做旋转和缩放评估,为什么能这样做还不能理解。

         在findConsensus中,用聚类的方法来得框内点的中心(还不理解)

         在matchLocal中,比较当前帧中检测得到的每一个关键点与第一帧中经过旋转和尺度变换之后的所有前景关键点之间的欧氏距离,小于阈值20则该前景关键点是有

    可能匹配上的,将这些可能的前景关键点构造成一个特征描述库database_potential; 将当前帧中检测得到的每一个关键点的特征描述与database_potential进行knnMatch匹配,

    每个特征描述子在database_potential寻找最佳的2个匹配结果,排除不稳定的关键点的策略与matchGlobal类似。

         再一次融合,将局部匹配的特征点与框内关键点融合,得到最终的关键点。

  • 相关阅读:
    Qt Undo Framework
    pyinstaller打包shotgun有关的程序
    博客初衷
    文件隐写
    IDA使用初探-1.启动IDA
    隐写术总结
    无线网破解 跑字典 EWSA使用教程
    CTF中图片隐藏文件分离方法总结
    【转载】Pangolin4.0最新破解版-SQL注入渗透工具
    名词解释
  • 原文地址:https://www.cnblogs.com/573177885qq/p/4768825.html
Copyright © 2011-2022 走看看