FASTN如何快速的检测出角点

1. FASTN算法的动机

大部分特征检测算法的效果较好,但是达不到实时,因此提出FAST (Features from Accelerated Segment Test)

2. FASTN算法的基本原理

用一句话来讲FASTN算法的原理就是:看一个像素周围有一定数量的像素与该点像素值不同,则认为其为角点。步骤如下:

1)在图像中任选一点p, 假定其像素(亮度)值为 Ip 2)以r为半径画圆,覆盖p点周围的M个像素,如下图所示: r=3, M=16 3)设定阈值t,如果这周围的16个像素中有连续的N个像素的像素值减去 Ip−t或者有连续的N个像素都大于 Ip+t, 如果t=0,那么就可以理解为:有连续N个像素大于或小于Ip的灰度值。那么这个点就被判断为角点。 4)一种更加快的改进是: 首先检测p点周围的四个点,即1, 5, 9, 12四个点中是否有三个点满足超过Ip+t, 如果不满足,则直接跳过,如果满足,则继续使用前面的算法,全部判断16个点中是否有12个满足条件。

以上算法的缺点:很可能大部分检测出来的点彼此之间相邻,我们要去除一部分这样的点。为了解决这一问题,可以采用非最大值抑制的算法:假设P,Q两个点相邻,分别计算两个点与其周围的16个像素点之间的差分和V,去除V值较小的点,即把非最大的角点抑制掉。

那么问题来了,什么样角度的角点都能检测到吗?如下图:有三种角点,分别是45°角,90°角和135°角。

那么FASTN算法哪个角点都能检测到么?

答案是肯定的。但是这取决于连续像素N的设置。我们仍然假如半径r=3,那么在该圆上有16个像素:如下图:

因为该算法检测角点的条件是:连续N个像素大于或小于中心灰度值减去阈值t,所以这个N从某种程度上就决定了能检测到的角度。比如下图:以黑线为基准的话,设置N=10的话,能检测到小于135°的角(黑红夹角),设置N=12的话,能检测到小于90°的角(黑蓝夹角),设置N=14的话,则能检测到小于45°的角(黑绿夹角)。

3. FASTN 算法总结

1)在速度上要比其他算法速度快很多 2)受图像噪声以及设定的阈值影响很大 3)FASTN不产生多尺度特征而且FASTN特征点没有方向信息,这样就会失去旋转不变性

参考文献:http://blog.csdn.net/GH_HOME/article/details/51501588

免责声明:本文系网络转载。版权归原作者所有。如涉及版权,请联系删除!

原文发布于微信公众号 - 智能算法(AI_Algorithm)

原文发表时间:2016-08-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云时之间

Tensorflow 笔记:搭建神经网络

用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型。

48850
来自专栏SnailTyan

ResNet论文翻译——中英文对照

Deep Residual Learning for Image Recognition Abstract Deeper neural networks are...

28680
来自专栏AI研习社

一篇文章教你用 11 行 Python 代码实现神经网络

编者按:本文作者陶言祺,原文载于作者个人博客,雷锋网 AI 研习社已获授权。 声明:本文是根据英文教程 A Neural Network in 11 lines...

378160
来自专栏磐创AI技术团队的专栏

使用Keras进行深度学习:(一)Keras 入门

导语 Keras是Python中以CNTK、Tensorflow或者Theano为计算后台的一个深度学习建模环境。相对于其他深度学习的框架,如Tensorflo...

39160
来自专栏CreateAMind

TensorFlow 文档:MNIST机器学习入门

14020
来自专栏机器学习之旅

R开发:常用R语言包介绍

r与python差异比较大的一个地方就是,python的机器学习算法集中程度比较高,比如sklearn,就集成了很多的算法,而R语言更多时候需要一个包一个包去了...

13150
来自专栏机器学习、深度学习

目标检测--Light-Head R-CNN: In Defense of Two-Stage Object Detector

Light-Head R-CNN: In Defense of Two-Stage Object Detector Code will be make pu...

51290
来自专栏机器学习算法原理与实践

scikit-learn 梯度提升树(GBDT)调参小结

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参...

79530
来自专栏机器学习从入门到成神

机器学习之决策树(Decision Tree)及其Python代码实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

13610
来自专栏程序生活

机器学习(四)通过递归的矩阵向量空间预测组合语义摘要简介方法结果结论

Semantic Compositionality Through Recursive Matrix-Vector Spaces 摘要 单字矢量空间模型已经在学...

35870

扫码关注云+社区

领取腾讯云代金券