ORB特征提取代码测试

整合ICE-BA、ORB-SLAM2、openvslam中的ORB提取代码,并比较速度,方便以后使用

1. ORB-SLAM2 vsICE-BA vs openvslam

ICE-BAopenvslam都是在原始的ORB-SLAM2基础上进行的优化,主要想保留原有的基于四叉树令特征点均匀分布的操作,

  • ORB-SLAM2: 对特征点提取进行了均匀化处理,没有对性能的优化
  • ICE-BA: Look-Up-Table优化了描述子计算+ ARM NEMO指令集加速
  • openvslam: 进行了SIMD指令集加速

2. 实际测试

测试数据选取的是EuRoc数据集中的图片,对整个序列提取ORB特征取平均值计算时间

ORB-SLAM2:

Process image: 3682 of total 3682
Total time: 117.968s, Average time: 32.0392ms/image #更换ros版本OpenCV3
Process image: 3682 of total 3682
Total time: 108.234s, Average time: 29.3955ms/image

ICE-BA:

Process image: 3682 of total 3682
Total time: 75.9864s, Average time: 20.6373ms/image #更换ros版本OpenCV3
Process image: 3682 of total 3682
Total time: 69.3227s, Average time: 18.8275ms/image

openvslam:未开启SSE加速

Process image: 3682 of total 3682
Total time: 94.2699s, Average time: 25.6029ms/image

openvslam:开启SSE加速

Process image: 3682 of total 3682
Total time: 89.493s, Average time: 24.3055ms/image
#更换ros版本OpenCV3
Total time: 83.7194s, Average time: 22.7375ms/image

3.分析

ICE-BA优化的比较彻底,速度比较粗暴,以后还是拿ICE-BA的来用吧,openvslam的感觉比较奇怪,SSE似乎没起作用,估计配置问题.

ORB-特征点提取代码比较的更多相关文章

  1. (二)ORB描述子提取源码思路与实现

    ORBSLAM2中ORB特征提取的特点 ORBSLAM2中通过对OpenCV中的ORB特征点提取类进行修改,对图像进行分块提取,而后划分节点,使得每个节点中保存的特征点性能是该节点所有特征点中最好的. ...

  2. 【AR实验室】mulberryAR:并行提取ORB特征

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 在[AR实验室]mulberryAR : ORBSLAM2+VVSION末尾提及了iPhone5s真机测试结果,其中 ...

  3. OpenCV特征点检测------ORB特征

    OpenCV特征点检测------ORB特征 ORB是是ORiented Brief的简称.ORB的描述在下面文章中: Ethan Rublee and Vincent Rabaud and Kurt ...

  4. SLAM: Orb_SLAM中的ORB特征

    原文链接:什么是ORB 关于Orb特征的获取:参考 最新版的OpenCV中新增加的ORB特征的使用 ORB是是ORiented Brief 的简称,对Brief的特定性质进行了改进. ORB的描述在下 ...

  5. OpenCV特征点检测——ORB特征

            ORB算法 目录(?)[+] 什么是ORB 如何解决旋转不变性 如何解决对噪声敏感的问题 关于尺度不变性 关于计算速度 关于性能 Related posts 什么是ORB 七 4 Ye ...

  6. ORB特征点检测

    Oriented FAST and Rotated BRIEF www.cnblogs.com/ronny   这篇文章我们将介绍一种新的具有局部不变性的特征 -- ORB特征,从它的名字中可以看出它 ...

  7. (一)ORB描述子提取

    ORBSLAM2中使用ORB描述子的方法 经典的视觉SLAM系统大体分为两种:其一是基于特征点法的,其二是基于直接法的.那么本文主要就讲特征点法的SLAM. 基于特征点法的视觉SLAM系统典型的有PT ...

  8. opencv学习之路(35)、SURF特征点提取与匹配(三)

    一.简介 二.opencv中的SURF算法接口 三.特征点匹配方法 四.代码 1.特征点提取 #include "opencv2/opencv.hpp" #include < ...

  9. OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

随机推荐

  1. JavaScript中数组的排序——sort()

    数组排序sort() sort()方法使数组中的元素按照一定的顺序排列. arrayObject.sort(方法函数) 1.如果不指定<方法函数>,则按unicode码顺序排列. 2.如果 ...

  2. 【翻译】PATH究竟是什么?

    最近,我试图向一个朋友解释他电脑上PATH变量是用来做什么的.我在我们所交流的平台‘the Slack group"写了一篇比较长的消息之后,我意识到这个主题可以写成一个很好的博客,所以开始 ...

  3. C#常规开发Windows服务

    .Net平台下开发Windows服务的支持库很多,除了通过标准的Windows服务项目,还有一些优秀的开源架构比如:TopSelf:本文以常规项目为例 一.开发 1.新建[Windows服务] 项目: ...

  4. 【题解】Image Perimeters-C++

    题目Description给出一张由"x"和".“组成的矩阵.每个"x"可以向上下左右及两个斜对角进行连通,请问由某个点开始的"x”,它所连 ...

  5. jQuery.proxy(function,context)

    jQuery.proxy(function,context) 概述 jQuery 1.4 新增.返回一个新函数,并且这个函数始终保持了特定的作用域.大理石平台检定规程 当有事件处理函数要附加到元素上, ...

  6. 解决InputStream中数据读取不完整问题

    转载:https://blog.csdn.net/lilidejing/article/details/37913627 当需要用到InputStream获取数据时,这时就需要读取InputStrea ...

  7. leetcode解题报告(9):Implement strStr()

    描述 Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if nee ...

  8. leetcode解题报告(1):Remove Duplicates from Sorted Array

    描述 Given a sorted array, remove the duplicates in place such that each element appear only once and ...

  9. C++ 2048游戏

    2048游戏实现起来还是比较简单的,注意几个细节,调几个bug就好了. 直接上源码,需要的可以拿走(手动滑稽 /*dos windows 25*80*/#include <algorithm&g ...

  10. 解决node-sass无法下载的问题

    本文链接:https://blog.csdn.net/qq383366204/article/details/86605960在国内用npm安装依赖的时候经常都会有各种奇怪的问题,个人强烈推荐用yar ...