角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域中。也称为特征点检测。

角点通常被定义为两条边的交点,更严格的说,角点的局部邻域应该具有两个不同区域的不同方向的边界。而实际应用中,大多数所谓的角点检测方法检测的是拥有特定特征的图像点,而不仅仅是“角点”。这些特征点在图像中有具体的坐标,并具有某些数学特征,如局部最大或最小灰度、某些梯度特征等。

现有的角点检测算法并不是都十分的鲁棒。很多方法都要求有大量的训练集和冗余数据来防止或减少错误特征的出现。角点检测方法的一个很重要的评价标准是其对多幅图像中相同或相似特征的检测能力,并且能够应对光照变化、图像旋转等图像变化。

Moravec角点检测算法

Moravec角点检测算法是最早的角点检测算法之一。该算法将角点定义为具有低“自相关性”的点。算法会检测图像的每一个像素,将像素周边的一个邻域作为一个patch,并检测这个patch和周围其他patch的相关性。这种相关性通过两个patch间的平方差之和(SSD)来衡量,SSD值越小则相似性越高。

如果像素位于平滑图像区域内,周围的patch都会非常相似。如果像素在边缘上,则周围的patch在与边缘正交的方向上会有很大差异,在与边缘平行的方向上则较为相似。而如果像素是各个方向上都有变化的特征点,则周围所有的patch都不会很相似。

Moravec会计算每个像素patch和周围patch的SSD最小值作为强度值,取局部强度最大的点作为特征点。

Harris角点检测算法

Moravec角点检测算法有几个很明显的缺陷:

1,强度值的计算并不是各向同性的,只有离散的8个45度角方向被考虑。因为patch的评议比较最多只有8个方向;

2,由于窗口是方形并且二元的,因此相应函数会有噪声;

3,对边缘的相应太简单,因为强度值尽取SSD的最小值;

FAST角点检测算法

Smith 和 Brady在1997年提出了一种完全不同的角点提取方法,即“SUSAN (Smallest UnivalueSegment AssimilatingNucleus)”提取算子。SUSAN 提取算子的基本原理是,与每一图像点相关的局部区域具有相同的亮度。如果某一窗口区域内的每一像元亮度值与该窗口中心的像元亮度值相同或相似,这一窗口区域将被称之为“USAN”。计算图像每一像元的“USAN”,为我们提供了是否有边缘的方法。位于边缘上的像元的“USAN”较小,位于角点上的像元的“USAN”更小。因此,我们仅需寻找最小的“USAN”,就可确定角点。该方法由于不需要计算图像灰度差,因此,具有很强的抗噪声的能力。

Edward Rosten and TomDrummond 在2006年提出了一种简单快速的角点探测算法,该算法检测的角点定义为在像素点的周围邻域内有足够多的像素点与该点处于不同的区域。应用到灰度图像中,即有足够多的像素点的灰度值大于该点的灰度值或者小于该点的灰度值。

考虑下图中p点附近半径为3的圆环上的16个点,一个思路是若其中有连续的12个点的灰度值与p点的灰度值差别超过某一阈值,则可以认为p点为角点。

这一思路可以使用机器学习的方法进行加速。对同一类图像,例如同一场景的图像,可以在16个方向上进行训练,得到一棵决策树,从而在判定某一像素点是否为角点时,不再需要对所有方向进行检测,而只需要按照决策树指定的方向进行2-3次判定即可确定该点是否为角点。

角点检测的几种基本方法相关推荐

  1. AI入门级的开发技巧:人脸检测的4种常见方法以及优缺点对比

    这是一篇纯干货文章,旨在与AI初学者分享关于人脸检测的4种常见方法,以及它们的各自优缺点的对比.同时我也从一位资深的AI开发者角度,给大家提出一些个人的开发技巧和建议,便于大家找到适合自己需求的方法. ...

  2. 简单汇总整理IC芯片检测的几种主要方法

    IC芯片,英文名Integrated Circuit Chip,就是是将大量的微电子元器件(晶体管.电阻.电容等)形成的集成电路放在一块塑基上,从而做成一块芯片. 目前IC芯片的质量对整个电子产品的作 ...

  3. 指尖检测的几种新方法

    指尖检测根据应用可以分为单指尖检测和多指尖检测. 下面是我在工作中想到的方法,希望对你有用或提供点儿灵感. 单指尖检测新方法:重心距离法 找到手的区域,我一般用肤色检测 计算手的区域的重心 在手的区域 ...

  4. 显著性检测的四种经典方法

    最近闲来蛋痛,看了一些显著性检测的文章,只是简单的看看,并没有深入的研究,以下将研究的一些收获和经验共享. 先从最简单的最容易实现的算法说起吧: 1. LC算法 参考论文:Visual Attenti ...

  5. OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack()

    OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack() 参考博客: Harris角点检测原理详解 Harri ...

  6. OpenCV精进之路(十三):角点检测

    角点检测是计算机视觉系统中用来获取图像特征的一种方法.我们都常说,这幅图像很有特点,但是一问他到底有哪些特点,或者这幅图有哪些特征可以让你一下子就识别出该物体,你可能就说不出来了.其实说图像的特征,你 ...

  7. 图像局部特征(二)--Harris角点检测子

     一.角点定义 有定义角点的几段话: 1.角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测.图像匹配.视频跟踪.三维建模和目标识别等领域 ...

  8. 【事件相机整理】角点检测与跟踪总结

    本文仅用于自己学习整理,不保证内容的完整性和准确性,仅供其他朋友参考.转载请注明出处. 前言 角点检测与跟踪,是特征提取与跟踪(Feature tracking)下研究较多的内容.相对其他上层任务来说 ...

  9. 角点检测(Harris Shi-Tomas)的原理及OpenCV API 的应用

    角点检测(Harris & Shi-Tomas)的原理及OpenCV API 的应用 这篇博客的内容主要时对参考中多篇博客的总结. 1. 角点 在现实世界中,角点对应于物体的拐角,道路的十字路 ...

最新文章

  1. 一种注册表沙箱的思路、实现——Hook Nt函数
  2. poj 1716 差分约束
  3. awk 分隔符 多个空格_如何在awk中指定多个分隔符
  4. Boost:标记的的bimap双图测试程序
  5. 【实战 Ids4】║ 客户端、服务端、授权中心全线打通!
  6. linux内核ufs设备树,Linux内核初始化流程笔记
  7. Mysql命令行下实现数据的导入
  8. 封装性的基本使用练习2
  9. Leetcode每日一题:345.reverse-vowels-of-a-string(反转字符串中的元音字母)
  10. 4.8_adapter_结构型模式:适配器模式
  11. android view state,Android状态系统(二)——View状态组合
  12. 计算机在开机时会进行自检遇到,电脑开机自检卡住了怎么办
  13. c语言约分最简分式原理,算法基础:约分最简分式
  14. 计算机文件自定义排序6,文件夹如何自定义排序
  15. 自动化测试工程师的发展前景怎么样?好不好?
  16. 【观察】从新华三2022十大技术趋势,看数字化如何重塑未来社会
  17. Python攻关之模块(2)
  18. 人类社会货币的演变与区块链的价值
  19. 腾讯位置 - 服务端IP定位(结尾附视频)
  20. DNS协议分析(域名解析)

热门文章

  1. android 笔试题大全,2018年Android面试题大全
  2. apicloud 预览图片_APICloud(三):预览图片
  3. Jenkins GSoC 2020 机器学习插件项目
  4. 【报告分享】2020-2021年中国购物中心消费者洞察报告-中国连锁经营协会(附下载)
  5. 模拟光源 html5,光照渲染——用canvas模拟光照效果
  6. iptable详细配置
  7. 搭建mpi测试环境,使用intell的mpi库
  8. Linux编译器-gcc/g++的使用
  9. layui js 自定义打印功能实现
  10. 盘一盘 Python 系列 - Sklearn