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类似。
再一次融合,将局部匹配的特征点与框内关键点融合,得到最终的关键点。
CMT跟踪算法学习笔记(一)的更多相关文章
- C / C++算法学习笔记(8)-SHELL排序
原始地址:C / C++算法学习笔记(8)-SHELL排序 基本思想 先取一个小于n的整数d1作为第一个增量(gap),把文件的全部记录分成d1个组.所有距离为dl的倍数的记录放在同一个组中.先在各组 ...
- Manacher算法学习笔记 | LeetCode#5
Manacher算法学习笔记 DECLARATION 引用来源:https://www.cnblogs.com/grandyang/p/4475985.html CONTENT 用途:寻找一个字符串的 ...
- Johnson算法学习笔记
\(Johnson\)算法学习笔记. 在最短路的学习中,我们曾学习了三种最短路的算法,\(Bellman-Ford\)算法及其队列优化\(SPFA\)算法,\(Dijkstra\)算法.这些算法可以快 ...
- 某科学的PID算法学习笔记
最近,在某社团的要求下,自学了PID算法.学完后,深切地感受到PID算法之强大.PID算法应用广泛,比如加热器.平衡车.无人机等等,是自动控制理论中比较容易理解但十分重要的算法. 下面是博主学习过程中 ...
- Johnson 全源最短路径算法学习笔记
Johnson 全源最短路径算法学习笔记 如果你希望得到带互动的极简文字体验,请点这里 我们来学习johnson Johnson 算法是一种在边加权有向图中找到所有顶点对之间最短路径的方法.它允许一些 ...
- 算法学习笔记——sort 和 qsort 提供的快速排序
这里存放的是笔者在学习算法和数据结构时相关的学习笔记,记录了笔者通过网络和书籍资料中学习到的知识点和技巧,在供自己学习和反思的同时为有需要的人提供一定的思路和帮助. 从排序开始 基本的排序算法包括冒泡 ...
- R语言实现关联规则与推荐算法(学习笔记)
R语言实现关联规则 笔者前言:以前在网上遇到很多很好的关联规则的案例,最近看到一个更好的,于是便学习一下,写个学习笔记. 1 1 0 0 2 1 1 0 0 3 1 1 0 1 4 0 0 0 0 5 ...
- 二次剩余Cipolla算法学习笔记
对于同余式 \[x^2 \equiv n \pmod p\] 若对于给定的\(n, P\),存在\(x\)满足上面的式子,则乘\(n\)在模\(p\)意义下是二次剩余,否则为非二次剩余 我们需要计算的 ...
- SPFA算法学习笔记
一.理论准备 为了学习网络流,先水一道spfa. SPFA算法是1994年西南交通大学段凡丁提出,只要最短路径存在,SPFA算法必定能求出最小值,SPFA对Bellman-Ford算法优化的关键之处在 ...
随机推荐
- Ubutnu linux 下升级python版本,以2.x升级到3.x为例
Linux操作系统一般 都会自带python,但是python版本会比主流低,故升级python, 主要思路:自带的python的链接link文件是在/usr/bin 下,采用sudo apt-get ...
- Duplicate spring bean id
问题背景:从本地调用服务器的dubbo接口进行测试 实现思路:基于IDEA+Spring+maven+Dubbo搭建测试项目,从本地直接调用 具体实现思路可参考博客:https://www.cnb ...
- BZOJ2753 SCOI2012滑雪与时间胶囊(最小生成树)
首先显然可以把所有能到的点拎出来建个新图,这样第一问也就做好了. 剩下的部分似乎是一个裸的最小树形图.但显然这个东西是没什么学的必要的并且不太能跑过去. 考虑建出来的图有什么性质.可以发现如果没有高度 ...
- springboot中定时任务
import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.context.annotat ...
- 【贪心策略】USACO 越野跑
问题 H: 越野跑[贪心策略] [题面] 为了能在下一次跑步比赛中有好的发挥,贝茜在一条山路上开始了她的训练.贝茜希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定:奶牛独自进山的时间不得超 ...
- 【转】电源芯片选型,容易忽略的“QC”
某公司自主研发的智能水表刚上市半年,随后此产品陆续接到用户投诉没电的情况,公司售后不得不花大量人力到用户现场更换电池,处理异常,导致公司损失惨重.但是该产品说明书中标称电池可以工作三年,为何半年左右电 ...
- Docker镜像加速==》阿里云加速器
1.使用阿里云加速器加快获取docker官方的镜像 步骤一:如果没有阿里云账号,需要注册阿里云开发账号 https://dev.aliyun.com/ 步骤二:进入加速器页面获取加速信息 https: ...
- 几种简单的排序算法(JAVA)
几种排序算法(JAVA) 一.代码 package com.hdwang; import java.util.Arrays; /** * Created by admin on 2017/1/20. ...
- 解题:POJ 2888 Magic Bracelet
题面 这题虽然很老了但是挺好的 仍然套Burnside引理(因为有限制你并不能套Polya定理),思路和这个题一样,问题主要是如何求方案. 思路是把放珠子的方案看成一张图,然后就巧妙的变成了一个经典的 ...
- 【CF675D】Tree Construction
题目大意:给定一个有 N 个数组成的序列,在此基础上构建一棵二叉排序树,求每个节点(根节点除外)的父节点的编号是多少. 题解:首先,根据二叉排序树的不稳定性,直接模拟构建二叉排序树肯定会超时,因此需要 ...