Shi-Tomasi特征点(角点)检测及追踪方法
本文主要介绍了Shi-Tomasi特征点(角点)检测及追踪方法,这个方法是KLT方法的一种改进,其在检测特征点(角点)方法同KLT并没有什么不同,都通过比较梯度矩阵的最小特征值来确定特征点的,而主要的不同是在,匹配特征点时,其引入了仿射变换,让特征点在帧间匹配更为精确,并排除不好的特征点。另外还简要介绍了在估计图像运动向量的迭代方法—牛顿-拉夫逊方法或牛顿迭代法(Newton-Raphson method)。
一、牛顿-拉夫逊方法或牛顿迭代法(Newton-Raphson method)
本人前面在KLT角点检测方法里提到了可以通过迭代的方式,不断的应用新的位移向量d值,而图像块每次迭代都可以采用双线性插值(获得子像素精确度)得到新位置。那么这个迭代方法就是牛顿-拉夫逊方法Newton-Raphson。
下面是百度百科里的介绍:
二、Shi-Tomasi方法
图像匹配问题一般都通过图像之间相关性或者平方误差和等方法,如果是非常小的帧间移动,一个窗口可以通过优化一些匹配标准、或通过线性图像变形、或自适应窗口大小这些方法达到匹配最优。而特征窗口选择问题,可以通过一些基于纹理或角度(如高阶梯度,拉氏变换过零点,角点等)的方法来考虑,无论KLT还是Shi-Tomasi都是基于这样的考虑的。
Shi-Tomasi方法认为纯粹的平移对于图像运动来说,并不是适当的模型,而仿射变换(包含了线性变形及平移)却可以。然后提出了一种通过牛顿-拉夫逊方法Newton-Raphson来估计图像仿射变换的方法,但是其并没有用仿射运动来估计图像运动向量,而是使用了同KLT一致的平移运动来估计块的运动,因为实际上如果帧间运动比较小的情况下,平移比仿射运动估计效果更好。
随着图像帧的推进,图像强度改变模式会一种复杂的方式变化,我们可以简单地将图像运动视为如下公式:
这个运动为像素点的平移向量,可以写成仿射变换形式:
,
其中D是一个变形矩阵,而d是特征窗口中心的平移向量,而在第一帧的像素点x移动到第二帧的Ax+d位置,这里A=I+D,即
那么接下来,我们需要估计D与d里共6个参数,而这个估计的质量依赖于窗口的大小、窗口内的纹理程度、帧间的运动。如果窗口太小,那么D将会很难估计,因为小的窗口内估计运动数目太小,所有估计并不可靠,而窗口小却更适合跟踪,因为减少跟踪后图像的不连续性。所以来说,纯粹的平移在跟踪过程中更好。
文章内的实验表明:这两个运动模型的最好结合是纯粹平移作为跟踪,而仿射运动作为比较特征匹配质量。
虽然我们没办法让运动估计完美,但我们可以使估计后不相似程度最小,即使以下公式最小:
仍然有泰勒近似为:
不过同KLT方法里纯粹的平移不同的是,这里的g拥有6个参数
而平移变换为如下:
T与a的值我们也是可以求出来的,然后就能估计Z的值,这里我们仍然可以通过牛顿迭代法获得比较精确的值。
在跟踪过程中,我们可以只应用纯粹的平移运动估计(此时D为0),即可以得到运动估计d。这里的Z先前已经得到,而e可以是a的最后两个元素值。
总而言之,这个方法是通过a来确定前后两个帧图像之间的相似性,而通过e来估计图像间的运动
三、总结
Shi-Tomasi选择角点方法同KLT角点检测方法是相同,我也不再多说了,它同KLT方法最关键的不同在于,其对于两帧图像块相似性比较标准不同,其引入了仿射变换,让匹配更为精确,而其在追踪时,仍采用同KLT方法一样,都是通过简单平移来估计图像像素运动的。
两者在追踪图像特征点的比较,可以发现左图不同特征点之间相似度变化线集中在一起,很难分辨出阈值出来,而右图应用了仿射变化的相似度衡量,可以清楚的检测出一些不好的特征点。
四、参考文献
Good Features to Track 【我的上传资源里有这篇文献】
Shi-Tomasi特征点(角点)检测及追踪方法相关推荐
- OpenCV-图像特征harris角点检测/SIFT函数/特征匹配-05
图像特征-harris角点检测 基本原理 R>0 角点 R≈0 平坦区域 R<0 边界 总结一下Harris算法流程 获取点数据后,计算Ix 和 Iy 整合矩阵,求特征值 比较特征值大小 ...
- 图像特征-Harris角点检测
1. 角点定义 角点检测又称为特征点检测,是图像处理和计算机视觉中用来获取局部特征点的一类方法,广泛应用于运动检测.图像匹配.视频跟踪等领域.角点可以简单地定义为轮廓之间的交点,严格地定义是在两个主方 ...
- 【OpenCV3】角点检测——cv::goodFeaturesToTrack()与cv::cornerSubPix()详解
一提到角点检测,最常用的方法莫过于Harris角点检测,opencv中也提供了Harris角点检测的接口,即cv::cornerHarris(),但是Harris角点检测存在很多缺陷(如角点是像素级别 ...
- 角点检测--基于梯度的方法(Moravec角点检测、Harris角点检测、Shi-Tomasi角点检测)
Moravec Detector Moravec角点检测是第一个提出兴趣点(interest points)的Paper.它的主要思想是:以每个像素为中心,有一个固定的滑动窗口.该方法计算并在八个方向 ...
- 角点检测 c语言 棋盘格,一种棋盘格角点全自动检测方法与流程
本发明属于图像处理与计算机视觉领域,特别涉及一种棋盘格角点全自动检测的方法. 背景技术: 棋盘格角点作为一种特殊的角点在相机标定中具有广泛的应用,扮演着相当重要的角色.棋盘格图案由于对比度明显,特征简 ...
- 【事件相机整理】角点检测与跟踪总结
本文仅用于自己学习整理,不保证内容的完整性和准确性,仅供其他朋友参考.转载请注明出处. 前言 角点检测与跟踪,是特征提取与跟踪(Feature tracking)下研究较多的内容.相对其他上层任务来说 ...
- 【OpenCV 例程 300篇】240. OpenCV 中的 Shi-Tomas 角点检测
『youcans 的 OpenCV 例程300篇 - 总目录』 [youcans 的 OpenCV 例程 300篇]240. OpenCV 中的 Shi-Tomas 角点检测 角是直线方向的快速变化. ...
- 【Opencv】基于Opencv和PCV两种方法的Harris 角点检测与匹配
[Opencv]基于Opencv和PCV两种方法的Harris 角点检测与匹配[附代码] 理解Harris角点检测 代码:Harris角点检测 1.[opencv版]Harris角点检测 2.[PCV ...
- OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测
Harris 角点检测子 目标 本教程中我们将涉及: 有哪些特征?它们有什么用? 使用函数 cornerHarris 通过 Harris-Stephens方法检测角点. 理论 有哪些特征? 在计算机视 ...
- OpenCV——Harris、Shi Tomas、自定义、亚像素角点检测
在图像处理和与计算机视觉领域,兴趣点(interest points),或称作关键点(keypoints).特征点(feature points) 被大量用于解决物体识别,图像识别.图像匹配.视觉跟踪 ...
最新文章
- Computer:计算机测试理论(开发/测试/上线)之DEV、SIT、UAT、PRD四套环境详细介绍之详细攻略
- tidb mysql5.7_MYSQL5.7实时同步数据到TiDB
- 使用cloudera manager搭建HUE后的使用,包括Oozie
- 牛客题霸 判断链表中是否有环 C++题解/答案
- python知识点汇总_Python知识点总结大全(一)
- 2017软件工程实践第二次作业
- 海康威视、大华监控摄像头rtsp地址规则
- JAVA虚拟机内存分配原则 (转
- Vue-cli proxyTable 解决开发环境的跨域问题(转)
- cookie分号后面没有值_Cookie的属性(cookie的设置、获取和删除)
- php钱汇算成美元,PHP to USD
- 答粉丝问|火狐浏览器插件简介
- 计算机上的无线网络开关怎么打开,联想笔记本无线网络开关怎么打开
- 基于PHP和YII框架技术的班级管理系统 | 饭饭博客
- cpu被锁频解除方法_CPU频率被锁定到800mhz怎么办?
- Linux内存管理 (1)物理内存初始化
- actions的使用详解
- Retrofit简单使用(小白都会了)
- 190道Python3基础题以及解答
- mcinabox运行库下载_mcinabox启动器下载直装版-mcinabox运行库下载v1.1.3 安卓版-2265手游网...