comparing ORB and AKAZE
文章全称是《Comparing ORB and AKAZE for visual odometry of unmanned aerial vehicles》。这是一篇来自巴西的文章,没有在百度文库中找到,是在其他博客中给出的链接得到的。从链接的URL可以看出这是一篇来自会议CCIS云计算与智能系统国际会议的文章。
文章将特征点检测和匹配的方法应用在了无人控制飞行器Unmanned Aerial Vehicles(UAV),也就是无人机drone上。无人控制,就必须知道飞行器的实时位置,我们当然可以使用GPS,但是GPS也有一些缺点,比如一些极端天气下GPS信号被干扰,而考虑到飞行器上安装了越来越多的传感器如摄像头,所以可使用计算机视觉的方法来实现。
利用捕捉到的图像计算UVA的displacement,估计UAV的飞行位置的方法就叫做visual odometry。文章中作者主要比较了ORB算法和AKAZE算法。结论是AKAZE在实时性的表现和准确度之间可以取得更好的平衡。
UAV需要捕获连续的图像帧,帧之间有足够多的重叠场景,这样才能通过图像之间的变化来估计变化。下图是UAV捕捉到的场景连续的图像。可以看到两幅图像之间主要是视角发生了变化,或者是飞行器姿态发生了变化。
在特征点的检测步骤,ORB使用改进的FAST算法检测特征点,改进后可以实现对于旋转的不变性。AKAZE相比于KAZE,在构建非线性金字塔中使用了Fast Explicit Diffusion(FED)来加速。在特征点的描述中,ORB基于BRIEF方法,这种方法在图像的平滑版本中的特征点周围建立二进制的数据集binary tests。但是BRIEF分缺陷是对平面旋转in-plane rotation没有鲁棒性,ORB使用学习方法learning method找到相关性更小的二进制对,并选择了其中性能好的子集,使得最近邻匹配中可以得到很好的效果。AKAZE的描述子是基于(LDB)Local Difference Binary.改进得到了M-LDB,挖掘出了梯度和密度的信息(exploits gradient and intensity information),改进的版本由方格的下采样构成(consists of subsampling the grid),而不是使用子方格中所有像素的均值。描述子生成的步骤是特征点的尺度的函数,所以采样时的尺度独立保证了描述子是尺度不变的。This is performed in steps that are a function of the scales of the feature, so that the scale-dependent sampling makes the descriptor robust to changes in scale.在特征点匹配中,可以使用相似性或者距离来比较两个特征点,ORB和AKAZE均使用的是二进制的描述子,所以他们都使用了汉明距离来进行高效的匹配。
实验图像来自两个不同的数据集。一个含1098个7360x4912的图像,摄像头是SONY ILCE-7R,焦距45mm,安装在固定翼飞行器上,飞行高度平均360m,飞行区域是乡村区域。第二个数据集由4000x3000的148幅图像构成。图像来自Canon PowerShot S110摄像头,焦距长度5.2mm,安装在四轴飞行器上,平均飞行高度是28m,飞行区域在市区标志性建筑附近。遗憾的是文章没有给出数据集的链接。
上图是第一个的乡村图像数据集的例子。之前含汽车的图像是是城市数据集的图像。
检测和匹配的特征对算法表现有直接的影响。在作者的实验中,将图像大小缩放为736x491和640x480大小,从而便于实时处理。
表1表2表示了两种算法分别在两种数据集下的特征点匹配数和运行时间的情况。运行时间是在使得两种算法检测得到的特征点数目相等下进行测量的。可以看到,ORB的速度约是AKAZE的3倍。
特征点的匹配过程中会有错误匹配对,文章使用了RANSAC方法进行特征点匹配对的提纯。RANSAC通过迭代,可以将样本点分为内点和外点两部分,内点用来回归分析,外点则认为是一些畸变点。
表3和表4是在两个数据集下两种算法的内点占比情况。AKAZE的正确匹配对比重的均值average ratio of correct matching(their accuracy)更高。
图3是使用所有特征点和仅仅使用内点进行配对的情况。可以看到在b中特征点更少,匹配情况更准确。B中的绿色框是左图以拟合得到的矩阵变换得到的。
结论
ORB比AKAZE要快,并且AKAZE的运行时间随着图像分辨率的增加快速增加,然而,在剔除外点之后,AKAZE有更多的正确匹配对。对于分辨率为640x480的低分辨率图像,AKAZE在速度和结果表现之间取得了一个更好的平衡。这篇文章的实验图像来自UAV搭载的摄像头,作者接下来的工作是在真实visual adometry应用中验证两种算法在估计UAV位置中的准确性。
comparing ORB and AKAZE相关推荐
- ORB/BRISK/AKAZE特征点提取、特征匹配的性能比较
写在前面 局部特征相关算法在过去二十年期间风靡一时,其中代表的有SIFT.SURF算法等(广泛应用于目标检测.识别.匹配定位中),这两种算法是用金字塔策略构建高斯尺度空间(SURF算法采用框滤波来近似 ...
- ORB+GMS、FREAK+GMS、BRISK+GMS、AKAZE+GMS特征点结合使用方法
关于ORB.FREAK.BRISK.AKAZE的具体原理参考原文,最近没时间翻译,后续会花时间把原文翻译放在博客里面.这些特征点提取方法都可以在opencv里面调用函数实现. 特征点提取与匹配原文论文 ...
- 高效大规模图像搜索开源实现
传统Bag of Features方法的OpenCV C++代码. (关注"我爱计算机视觉"公众号,一个有价值有深度的公众号~) 在深度学习逐渐统治计算机视觉领域的时候,传统算法依 ...
- 【图像配准】多图配准/不同特征提取算法/匹配器比较测试
前言 本文首先完成之前专栏前置博文未完成的多图配准拼接任务,其次对不同特征提取器/匹配器效率进行进一步实验探究. 各类算法原理简述 看到有博文[1]指出,在速度方面SIFT<SURF<BR ...
- 多种图像配准方法的综合比较(KAZE、SIFT、SURF等)
接触图像配准是从去年十月份开始的,老师要求我尽快重现一遍整个流程,这样对课题可以有一个整体的把握,而后再仔细推敲细节,甚至提出自己的想法,老师的这个思路现在觉得非常不错.自己当时选取的是SURF方法, ...
- OpenCV图像拼接-Stitcher类-Stitching detailed使用与参数介绍
关于OpenCV图像拼接的方法,如果不熟悉的话,可以先看看我整理的如下四篇博客: OpenCV常用图像拼接方法(一):直接拼接(硬拼) OpenCV常用图像拼接方法(二):基于模板匹配拼接 OpenC ...
- opencv实践项目-图片拼接之缝合线算法
目录 1. stitcher_detail执行过程 2. 源码 3. stitching_detail 程序接口介绍 4. 执行 5. 结果图 1. stitcher_detail执行过程 stitc ...
- dbo.java_开源词袋模型DBow3原理源码(一)整体结构
前人摘树,后人乘凉. 源码在github有CMakeLists,代码下下来可以直接编译. 泡泡机器人有个很详细的分析,结合浅谈回环检测中的词袋模型,配合高翔的回环检测应用,基本上就可以串起来了. tf ...
- 利用ORB/AKAZE特征点进行图像配准
Kp1,kp2都是list类型,两幅图都是500个特征点.这和ORB论文中的数据是一样的.4.4章节 Matches也是list类型,找到325个匹配对. AKAZE文章中提到一个指标:MS(matc ...
最新文章
- retract手机版怎么登录服务器未响应,retract和retreat各自的用法以及它们的区别
- ROS Hotspot服务器的搭建与设定!(上网认证)
- windows powershell实战指南_【安全研究】powershell在主机中是否存在安全隐患?
- [转载]地球物理经典书目——成像方向
- Oracle 分类统计sql
- JQUERY项目所用插件
- JavaFX技巧13:学习Modena CSS文件
- 怎么更换WIN7欢迎界面的背景图?
- 利用Javascrip实现web窗体的打开和关闭后的刷新
- matlab altera视频,Altera.FPGA入门及提高视频教程
- Linux键盘驱动详解 转
- 【论文学习】Large-scale Video Classification with Convolutional Neural Networks
- 台式计算机无故重启,台式电脑突然自动重启是怎么回事
- 网站死链接检测查询工具
- 【APP推荐】手机制作微电影
- Python 实用的序列化和反序列化包marshmallow的使用指南
- 39《黑客与画家 : 硅谷创业之父Paul Graham文集》 -豆瓣评分8.8
- 介绍中国传统节日的网页html,介绍中国传统节日的作文4篇
- linux安装nginx防火墙,Centos7 防火墙关闭与nginx无法访问
- DUL 更新2016