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. spring-AOP动态代理,以及aspectJ的xml配置或注解配置方法,各个拦截器的使用顺序

    package com.itheima.aspect; public class MyAspect { public void check_Permissions(){ System.out.prin ...

  2. JAVA遇见HTML——JSP篇(JSP指令与动作元素)

  3. 用Qt 画一个心形

    MainWindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QTi ...

  4. [Google Guava] 2.1-不可变集合

    范例 01 public static final ImmutableSet<String> COLOR_NAMES = ImmutableSet.of( 02 "red&quo ...

  5. js.map文件意义(转)

    什么是source map文件 source map文件是js文件压缩后,文件的变量名替换对应.变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下. 比如压缩后原变量是ma ...

  6. 025_自动为其他脚本添加解释器信息#!/bin/bash

    #!/bin/bash#先使用 grep 判断对象脚本是否已经有解释器信息,如果没有则使用 sed 添加解释器以及描述信息if ! grep -q "^#!" $1; then # ...

  7. learning express step(一)

    first : create new project then install express package : npm install express --savenpm WARN saveErr ...

  8. python 局域网文件互传

    PCa: import socket Sockin = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #新建socket Sockin.bind(( ...

  9. Servlet中接收和返回数据

    public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest re ...

  10. javaEE项目部署方式

    1.手动部署 2.自动化部署 “自动化”的具体体现:向版本库提交新的代码后,应运服务器上自动部署