Fast 特征点的原理十分的简单清晰,即基于如下的先验知识寻找角点。

  • 首先在某个点 p p p附近画一个圈,选取16个像素点,如上图1-16数字区域。
  • 将16个像素点分为三类, d ( d a r k e r 更 暗 ) , s ( s i m i l a r 相 似 ) , b ( b r i g h t e r 更 亮 ) d(darker更暗),s(similar相似),b(brighter更亮) d(darker更暗),s(similar相似),b(brighter更亮)
  • 如果存在连续的12个以上的像素点均为 d d d类或者均为 b b b类则说明该点为角

加速方法: 1,5,9,13四个点中至少有三个同时属于 b b b类或者 d d d类才有可能满足连续12个像素点条件。(证明:反证法假设只有两个即可验证)

原始的Fast角点存在如下不足:

  • 当n<12时挑选的角点较差
  • 判断标准隐含了特征分布的先验假设
  • 前四个点判断信息用完就丢弃了
  • 角点扎堆问题

因此,后续对其进行了两点改进,分别是基于机器学习的方法以及添加非极大值抑制策略。

机器学习方法改进

利用决策树分类器对像素点进行判断其是否为角点,而不是单纯的依赖人制定的规则。

输入:周围16个像素点的状态,状态包括三种
S p → x = { d , I p → x ≤ I p − t ( darker  ) s , I p − t < I p → x < I p + t ( similar  ) b , I p + t ≤ I p → x ( brighter  ) S_{p \rightarrow x}= \begin{cases}d, I_{p \rightarrow x} \leq I_{p}-t & (\text { darker }) \\ s, I_{p}-t<I_{p \rightarrow x}<I_{p}+t \quad(\text { similar }) \\ b, I_{p}+t \leq I_{p \rightarrow x} & (\text { brighter })\end{cases} Sp→x​=⎩⎪⎨⎪⎧​d,Ip→x​≤Ip​−ts,Ip​−t<Ip→x​<Ip​+t( similar )b,Ip​+t≤Ip→x​​( darker )( brighter )​
输出:当前点是否为角点

类似于如下的例子,判断西瓜的好坏只需要按照树状结构依次分别判断纹理属性、根蒂属性等,即可知道该西瓜的状态。

如果特征点的判断同样存在这样的一个决策树,输入的特征则是十六个周围点的状态,那么根据决策树依次根据状态进行判断,同样能够对当前点是否是特征点做出决策。

那么决策树的生成则根据现有的数据进行训练,如文中采用的ID3算法。若选择特征a能够使得整体的信息熵下降最多,即不确定度下降最多,那么首先判断的依据就是特征a,然后按树状迭代生成,直到把所有训练数据分类完成。

因此,具体的过程总结如下:

  1. 用传统方法识别角点作为训练集
  2. 采用ID3方法训练生成决策树
  3. 利用决策树判断新图片中的像素是否为角点

非极大值抑制

为了进行极大值抑制,每个角点均需要有一个得分,从而将临近的非极大值角点去除。

为每一个角点定义如下的得分函数:

V = max ⁡ ( ∑ x ∈ S b r i g h t ∣ I p → x − I x ∣ − t , ∑ x ∈ S d a r k ∣ I x − I p → x ∣ − t ) V= \max \left(\sum_{x\in S_{bright}} |I_{p \to x} - I_x| -t , \sum_{x\in S_{dark}} |I_x - I_{p \to x} | -t \right) V=max⎝⎛​x∈Sbright​∑​∣Ip→x​−Ix​∣−t,x∈Sdark​∑​∣Ix​−Ip→x​∣−t⎠⎞​

提出这个得分函数是基于如下的判断:
周围16个像素的灰度值与中心点的差异越大,越能表明该位置具有更好的不变性

总结

具有一定的

  • 光照不变性
  • 旋转不变性

不具备

  • 尺度不变性

FAST 特征点概述相关推荐

  1. OpenCV学习笔记(四十六)——FAST特征点检测features2D OpenCV学习笔记(四十七)——VideoWriter生成视频流highgui OpenCV学习笔记(四十八)——PCA算

    OpenCV学习笔记(四十六)--FAST特征点检测features2D 特征点检测和匹配是计算机视觉中一个很有用的技术.在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用.这一次先介绍特征点检 ...

  2. 局部图像特征描述概述

    局部图像特征描述概述 樊彬 中国科学院自动化研究所 模式识别国家重点实验室 (CASIA NLPR) 局部图像特征描述是计算机视觉的一个基本研究问题,在寻找图像中的对应点以及物体特征描述中有着重要的作 ...

  3. “局部图像特征描述概述”--樊彬老师

    原文链接:http://www.sigvc.org/bbs/thread-165-1-1.html 这次我们荣幸地邀请到中国科学院自动化研究所的樊彬老师为我们撰写图像特征描述符方面的最新综述.樊彬老师 ...

  4. OpenCV3学习(11.5) FAST特征检测器FastFeatureDetector

    简介 FAST特征检测的特点是简单.快速.有效.作者为了在实时帧速率情况下进行高速特征检测,提出FAST特征检测. 相比SIFT.DoG.Harris.SUSAN等比较耗时的特征检测方法,FAST只利 ...

  5. C++OpenCV矩形的角点检测与坐标提取,基于fast特征点

    目的:提取图片中某个矩形的四个角点的坐标 方法:采用非极大值抑制的fast特征点检测 流程: 图像滤波(可选) fast角点检测 自己设定矩形大致范围 输出矩形角点坐标 程序: 主函数文件 #incl ...

  6. FAST角点检测算法(二)- 非极大值抑制筛选fast特征点

    FAST角点检测算法(二)- 非极大值抑制筛选fast特征点 author@jason_ql(lql0716) http://blog.csdn.net/lql0716 fast角点检测算法参考文章& ...

  7. 【特征检测】FAST特征点检测算法

    简介 在局部特征点检测快速发展的时候,人们对于特征的认识也越来越深入,近几年来许多学者提出了许许多多的特征检测算法及其改进算法,在众多的特征提取算法中,不乏涌现出佼佼者. 从最早期的Moravec,到 ...

  8. opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较

    opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较 参考: http://wenku.baidu.com/link?url=1aDYAJBCrrK-uk2w3sSNai7h52x_ ...

  9. 特征点匹配——FAST特征点检测

    FAST算法是ECCV 2006上发表的Machine learning for high-speed corner detection上提出的,从论文名字中就可以看出,这是一种检测特征点的方法. 一 ...

最新文章

  1. ibm db2获取目标时间与当前时间的差值_高帧频视觉实时目标检测系统
  2. php mysql读写分离主从复制_mysql主从复制 读写分离原理及实现
  3. 机器学习(MACHINE LEARNING) 【周志华版-”西瓜书“-笔记】 DAY11-特征选择和稀疏学习
  4. c free 使用MSDN library定制
  5. 数据库面试系列之二:视图
  6. JavaSE各阶段练习题----Map
  7. sl animation sample
  8. JAVA开发需求分析套路_JAVA并发工具常用设计套路示例代码
  9. Android连接网络立即同步时区
  10. Unity中一个安卓设备拆装项目,从使用到放弃ab包过程记录
  11. spring使用Redis自定义前缀后缀名(去掉SimpleKey []+自定义)
  12. html中px em pt区别介绍
  13. idea Translation插件翻译失败。TKK: 更新 TKK 失败,请检查网络连接
  14. 新胖子公式(java)
  15. 相似剩余金额宝数值添加的动画
  16. 找PPT模板就上这5个网站~
  17. ion-slides广告轮播
  18. Windows使用SSH登录VM虚拟机
  19. 创建SQL约束的方法
  20. 图像增强去雾之直方图均衡化/同态滤波/Retinex算法

热门文章

  1. Unity实现背景循环移动
  2. 侯佩漫画一:悲催的最后期限。
  3. 微软向前走,我们跟在后
  4. [附源码]Java计算机毕业设计SSM个性化旅游线路推荐系统
  5. https://github.com/android-cn/topics/issues/4#issuecomment-223264673
  6. 【Springboot-Listener】整合监听器Listener
  7. oracle listener.log 路径,Oracle listener.log 清理
  8. React 基础知识要点快速回顾
  9. ajax轮询需要注意的地方
  10. Jetpack学习之——使用动画缩放图片