当前位置:网站首页>ORB(Oriented FAST and Rotated BRIEF)
ORB(Oriented FAST and Rotated BRIEF)
2022-07-05 00:05:00 【DWQY】
之前总是在ORB-SLAM的各个版本中听到ORB,但还不知道什么是ORB。借今天这个机会了解下ORB。
ORB(Oriented FAST and Rotated BRIEF)。首先要意识到ORB不是特征的名字,是一种完成图像间特征匹配的方法。匹配的步骤就体现在命名中。下面介绍两个问题:
1.ORB的优势在哪?
可以解决常见图像间特征匹配的两个问题:(1).缩放尺度问题 (2).旋转问题。下面详细介绍ORB的两个流程,可从中体会如何解决这两个常见问题
2.介绍ORB的两个流程
ORB有两个特征:关键点(Oriented FAST)、描述子(BRIEF, Binary Robust Independent Elementary Feature)。关键点不用说了,叫描述子的原因是它描述了关键点周围的图像信息,并用描述向量表示。
ORB包含两部分的改进,一部分是FAST,改进为Oriented FAST。一部分是BRIEF,改进为Rotated BRIEF。
ORB具体包含两个步骤:特征提取→特征匹配
1)特征提取
特征提取具体包含两个步骤:FAST关键点提取→BRIEF描述子计算
(1)FAST角点(关键点)提取
FAST角点的确定步骤如下:
其实ORB效果好的原因就在于特征提取的有效性:将图片均分成格子,在格子范围内提取FAST关键点。不停分割(四叉树结构),直到接近预设值。尽量保证每一个格子有一个FAST点(允许格子里没有FAST点,也允许格子里有多个FAST点,多个情况会保留响应最大FAST关键点,以避免角点集中),最终实现特征关键点分布均匀。特征点分布均匀,保证了特征提取的有效性。
Oriented FAST较FAST改进在于增加旋转不变性、尺度不变性,改进后更能增加在不同图像下表示的鲁棒性。旋转不变性的体现是除了FAST中特征点位置还增加方向。尺度不变性的解决基于图像金字塔。
对图像金字塔的理解:对一张图片,以不同的缩放因子存储。根据待匹配图片的大小,选择合适的层级图像进行匹配
以上两种改进策略就解决了特征提取的两个问题:(1).缩放尺度问题 (2).旋转问题
(2)BRIEF描述子计算
描述子计算主要是为了保留关键点周围信息,用于过后的关键点间的匹配。rBRIEF较BRIFT保持了旋转不变性,正好利用了刚才角点计算时对方向的计算。
2)特征匹配:
特征匹配就是寻找到两帧之间对应的匹配点(图像处理中以帧为基本单位,数据处理在相邻两帧中进行)。特征匹配的概念很好理解,主要是特征匹配的匹配算法。在此介绍三种,但不止三种
(1)暴力匹配
主要思想:对两帧图像每一对关键点进行描述子距离计算,排序,取最近的作为匹配点。
描述子距离表示相似程度,越小越相似。具体的计算过程不再此陈述(其实我也不会~)
(2)SearchForInitialization
主要思想:划定待匹配点周围一定区域,根据区域内其余所有点的方向建立直方图。寻找出特征点数量最多的前三个方向,根据判定式确定第一主方向和第二主方向(可能不存在)
(3)SearchByProjection
主要思想:根据匀速模型估计位姿,将前一帧点对应地图投影到当前帧,计算搜索点(当前帧上)到前一帧点的汉明距离(用于二进制距离度量),若汉明距离小于阈值,则认为是其匹配点。经姿势优化后,满足条件匹配点大于10认为两帧跟踪成功
注:二进制对应位不同,汉明距离才会加1。所以相似程度越高,汉明距离越小。
本篇简单对ORB有个印象,ORB本身不是我关注的重点。ORB如何在ORB-SLAM的各个版本中起到作用才重要(以目前来看也看不太出来,ORB-SLAM在描述过程中好像直接省略了特征匹配方法的具体描述,只是陈述了选择ORB作为特征匹配方法)
参考资料:
1.ORB特征匹配
2.ORB特征点匹配
3.【详解】ORB特征提取与匹配_哔哩哔哩
因作者水平有限,如果错误之处,请在下方评论区指正,谢谢!
边栏推荐
- How to reduce the stock account Commission and stock speculation commission? Is it safe to open an online account
- 模板的进阶
- 45 year old professor, she threw two super unicorns
- [IELTS reading] Wang Xiwei reading P4 (matching1)
- Using fast parsing intranet penetration to realize zero cost self built website
- QT addition calculator (simple case)
- Go pit - no required module provides Package: go. Mod file not found in current directory or any parent
- [kotlin] the third day
- PermissionError: [Errno 13] Permission denied: ‘data. csv‘
- ICML 2022 | 3dlinker: e (3) equal variation self encoder for molecular link design
猜你喜欢
P3304 [SDOI2013]直径(树的直径)
多回路仪表在基站“转改直”方面的应用
取得PMP證書需要多長時間?
[kotlin] the third day
Every time I look at the interface documents of my colleagues, I get confused and have a lot of problems...
Blue sky nh55 series notebook memory reading and writing speed is extremely slow, solution process record
How long does it take to obtain a PMP certificate?
Mit-6.824-lab4b-2022 (10000 word idea explanation - code construction)
如何报考PMP项目管理认证考试?
Fs8b711s14 electric wine bottle opener MCU IC scheme development special integrated IC
随机推荐
Ap8022 switching power supply small household appliances ACDC chip offline switching power supply IC
"Xiaodeng" domain password policy enhancer in operation and maintenance
人生无常,大肠包小肠, 这次真的可以回家看媳妇去了。。。
Significance of acrel EMS integrated energy efficiency platform in campus construction
Life is changeable, and the large intestine covers the small intestine. This time, I can really go home to see my daughter-in-law...
基于三维gis平台的消防系统运用
Expand your kubecl function
Introduction to ACM combination counting
Remember to build wheels repeatedly at one time (the setting instructions of obsidian plug-in are translated into Chinese)
JS 将伪数组转换成数组
How to avoid arc generation—— Aafd fault arc detector solves the problem for you
Enterprise application business scenarios, function addition and modification of C source code
What is the difference between port mapping and port forwarding
【雅思阅读】王希伟阅读P4(matching1)
Paddleocr tutorial
45 year old professor, she threw two super unicorns
Skills in analyzing the trend chart of London Silver
PaddleOCR教程
Tester's algorithm interview question - find mode
[monitoring] ZABBIX