图像处理检测方法 — ORB(Oriented FAST and Rotated BRIEF)
1、FAST
FAST算子的基本原理是:若某像素点与其周围领域内足够多的连续的像素点存在某一属性差异,并且该差异大于指定阈值,则可以断定该像素点与其邻域像素有可被识别的不同之处,可以作为一个特征点(角点);对于灰度图像,FAST算子考察的属性是像素与其邻域的灰度差异。
这个检查过程可以用下图更清楚的描述:对于图像上所有像素点,考察其7*7邻域内以该点为圆心,半径是3的圆周上的共计16个像素点和中心点的差异。如果有连续的12(或9)个像素点与中心点的灰度差的绝对值大于或低于某一给定阈值,则该点被检测为FAST特征点。
为了提高检测速度,FAST提出分割测试的概念,不是逐个遍历考察圆周上的16个像素点,而是先考察垂直和水平方向上的4个点,1,9,5,13 进行测试(先测试 1 和 19, 如果它们符合
阈值要求再测试 5 和 13)。如果 p 是角点,那么这四个点中至少有 3 个要符合阈值要求。如果不是的话肯定不是角点,就放弃。对通过这步测试的点再继续进行测试(是否有 12 的点符合阈值要求)。基于FAST算子要求圆周上最少有12(或9)个连续的差异较大的点,如果垂直和水平方向上4个点中有2个或2个以上不满足要求的点,则可以直接判断该点不是FAST特征点,这样可以排除绝大部分非FAST特征点。进过初步筛选,在对剩下的符合条件的点实施FAST算子进行特征点检测,最后进过非极大值抑制后得到最终的特征点检测结果。
但它的缺点是不具有方向性,尺度不变性。但速度快。缺点:
- 当 n<12 时它不会丢弃很多候选点 (获得的候选点比较多)。
- 像素的选取不是最优的,因为它的效果取决与要解决的问题和角点 的分布情况。
- 高速测试的结果被抛弃
- 检测到的很多特征点都是连在一起的。
前 3 个问题可以通过机器学习的方法解决,最后一个问题可以使用非最大值抑 制的方法解决。 检测到的很多特征点都是连在一起的,采用非极大值抑制解决。
2、BRIEF
- 取目标像素点一定范围内的领域,一般9*9。
- 对该领域进行高斯模糊处理,一般选核参数σ=2
- 以满足高斯分布的方式在该领域内随机选取N组像素点对,比较这两个像素点的灰度值大小,x>=y则返回1,x< y则返回0 (所有特征点的计算均采用统一的随机取样模板)
- 将步骤3的结果组合成一个N位的二进制编码,即为目标像素点的特征值。根据精度和速度要求,一般N会取256和32.
BRIEF 不去计算描述符而是直接找到一个二进制字符串。这种算法使用的是已经平滑后的图像,它会按照一种特定的方式选取一组像素点对 n d (x,y),然后在这些像素点对之间进行灰度值对比。例如,第一个点对的灰度值分别为 p 和 q。如果 p 小于 q,结果就是 1,否则就是 0。就这样对 n d个点对进行对比得到一个 n d 维的二进制字符串。n d 可以是128,256,512。OpenCV 对这些都提供了支持,但在默认情况下是 256(OpenCV 是使用字节表示它们的,所以这些值分别对应与 16,32,64)。当我们获得这些二进制字符串之后就可以使用汉明距离对它们进行匹配了。非常重要的一点是:BRIEF 是一种特征描述符,它不提供查找特征的方法。所以我们不得不使用其他特征检测器,比如 SIFT 和 SURF 等。原始文献推荐使用 CenSurE 特征检测器,这种算法很快。而且 BRIEF 算法对 CenSurE关键点的描述效果要比 SURF 关键点的描述更好。
原生的BRIEF的缺点也比较明显,不具备旋转不变性、不具备尺度不变性而且对噪声敏感,但是它算法简单而且计算复杂度低,计算速度很快。
3、ORB (Oriented FAST and Rotated BRIEF)
原理方法:http://blog.csdn.net/yang843061497/article/details/38553765
首先它使用 FAST 找到关键点,然后再使用 Harris角点检测对这些关键点进行排序找到其中的前 N 个点。它也使用金字塔从而产 生尺度不变性特征。但是有一个问题,FAST 算法步计算方向。那旋转不变性怎样解决呢?作者进行了如下修改。它使用灰度矩的算法计算出角点的方向。以角点到角点所在(小块)区域 质心 的方向为向量的方向。为了进一步提高旋转不变性,要计算以角点为中心半径为 r 的圆形区域的矩,再根据矩计算除方向。对于描述符,ORB 使用的是 BRIEF 描述符。但是我们已经知道 BRIEF对与旋转是不稳定的。所以我们在生成特征前,要把关键点领域的这个 patch的坐标轴旋转到关键点的方向。
图像处理检测方法 — ORB(Oriented FAST and Rotated BRIEF)的更多相关文章
- ORB(oriented FAST and rotated BRIEF)特征提取与检测
ORB采取FAST算法检测特征点,采取BRIEF算法计算特征点描述子. 1.检测特征点 检测候选特征点周围一圈的像素值,若有足够多的像素值与候选特征点的差异都较大,则认为该候选特征点是特征点. 对于上 ...
- 图像处理检测方法 — SIFT和SURF
0.特征与匹配方法总结汇总对比 参考网址:http://simtalk.cn/2017/08/18/%E7%89%B9%E5%BE%81%E4%B8%8E%E5%8C%B9%E9%85%8D/#ORB ...
- [转]ORB特征提取-----FAST角点检测
转载地址:https://blog.csdn.net/maweifei/article/details/62887831 (一)ORB特征点提取算法的简介 Oriented FAST and Rota ...
- 人脸检测学习笔记(数据集-DLIB人脸检测原理-DLIB&OpenCV人脸检测方法及对比)
1.Easily Create High Quality Object Detectors with Deep Learning 2016/10/11 http://blog.dlib.net/201 ...
- 综述 | SLAM回环检测方法
本文作者任旭倩,公众号:计算机视觉life成员,由于格式原因,公式显示可能出问题,建议阅读原文链接:综述 | SLAM回环检测方法 在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿 ...
- CVPR2019目标检测方法进展综述
CVPR2019目标检测方法进展综述 置顶 2019年03月20日 14:14:04 SIGAI_csdn 阅读数 5869更多 分类专栏: 机器学习 人工智能 AI SIGAI 版权声明:本文为 ...
- 目标检测方法总结(R-CNN系列)
目标检测方法系列--R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD 目录 相关背景 从传统方法到R-CNN 从R-CNN到SPP Fast R-CNN ...
- R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD, R-FCN系列深度学习检测方法梳理
1. R-CNN:Rich feature hierarchies for accurate object detection and semantic segmentation 技术路线:selec ...
- 目标检测方法——R-FCN
R-FCN论文阅读(R-FCN: Object Detection via Region-based Fully Convolutional Networks ) 目录 作者及相关链接 方法概括 方法 ...
随机推荐
- use-svn-cmd(Linux)
SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,是一个跨平台的软件,支持大多数常见的操作系统. svn命令行使用: 1.查看svn所支持的全部命令 $ svn ...
- start with git
Start with git 1.what is GitHub? GitHub is a code hosting platform for version control and collabora ...
- Nginx 配置指令的执行顺序
在一个 location 中使用 content 阶段指令时,通常情况下就是对应的 Nginx 模块注册该 location 中的“内容处理程序”.那么当一个 location 中未使用任何 cont ...
- MySQL慢查询(二) - pt-query-digest详解慢查询日志 pt-query-digest 慢日志分析
随笔 - 66 文章 - 0 评论 - 19 MySQL慢查询(二) - pt-query-digest详解慢查询日志 一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它 ...
- saltstack之定时管理
1.设置定时任务 /srv/salt/cron/ntpdate.sls /usr/sbin/ntpdate 10.31.10.3; /sbin/hwclock -w: cron.present: - ...
- saltstack内置执行模块groupadd
groupadd模块用于命令行管理用户组 salt.modules.groupadd.add(name, gid=None, system=False) 添加一个用户到指定GID 例:salt '*' ...
- JAVA读文件和写文件的的代码模版
有的时候经常为真么读写文件最合理发愁,因为JAVA提过读写文件的方式太多了(C更甚至,fopen & open又有多少人傻傻分不去,更别说ReadFile了). 这里个人绝对比较好的写法,仅供 ...
- USB-HID鼠标、键盘通讯格式(转) 与本人实际测试结果
内容为网络转载,如有版权问题请联系删除 USB鼠标键盘协议介绍. 鼠标发送给PC的数据每次4个字节:BYTE1 BYTE2 BYTE3 BYTE4.定义分别是:BYTE1 -- |--bit7: ...
- 【HTML5开发系列】meta元素详解
meta元素可以用来定义文档的各种元数据.他有很多种用法,一个HTML文档可以包含多个meta元素. meta元素在HTML5中的变化 charset属性是HTML5中新增的.在HTML4中,http ...
- Feign-独立使用-实战
目录 写在前面 1.1.1. 短连接API的接口准备 1.1.2. 申明远程接口的本地代理 1.1.3. 远程API的本地调用 写在最后 疯狂创客圈 亿级流量 高并发IM 学习实战 疯狂创客圈 Jav ...