自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Manii

视觉SLAM与VIO总结

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 视觉SLAM学习笔记——目录与参考

对SLAM学习内容进行总结和整理,对视觉SLAM十四讲进行整理、解释和补充。

2019-07-02 15:13:38 1925 3

原创 VINS-Mono论文学习与代码解读——目录与参考

港科大的VINS-Mono作为目前state of the art的开源VIO项目,是研究视觉与IMU融合的必读算法。本人将在学习之余逐步整理自己对算法的论文和实现的相关解读,欢迎大家一起讨论。

2019-01-04 19:54:12 42266 17

翻译 【VINS论文翻译】VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator

写在前面港科大的VINS-Mono作为目前state of the art的开源VIO项目,是研究视觉与IMU紧耦合的必读算法,网上的论文解读与代码实现也非常丰富(感谢!)。为更好地进行学习,本人在几篇VINS论文解读与翻译的参考与改进下,完成了自己对全文的阅读与翻译,以后将逐步更新自己对算法的解读,欢迎大家一起讨论。原文:VINS-Mono A Robust and Versatile Mo...

2019-01-03 16:24:02 52260 11

原创 视觉SLAM中的数学——解方程AX=b与矩阵分解:奇异值分解(SVD分解) 特征值分解 QR分解 三角分解 LLT分解

本博客主要介绍在SLAM问题中常常出现的一些线性代数相关的知识,重点是如何采用矩阵分解的方法,求解线性方程组AX=B。主要参考了《计算机视觉——算法与应用》附录A以及Eigen库的方法。本博客可能不会对分解讲的特别深入,主要是想弄清楚各个分解的条件、分解结果以及应用(或特点)。并在最后探讨一下线性最小二乘问题。包括:1、三角分解(LU分解)2、QR分解3、特征值分解4、奇异值分解(SVD分解)5、LDLT分解6、LLT分解(Cholesky分解)

2019-07-19 16:10:23 7066 3

原创 VINS-Mono理论学习——后端非线性优化

本文主要介绍VINS状态估计器模块(estimator)在完成了系统初始化后,对视觉与IMU信息进行基于滑动窗口的紧耦合过程中用到的非线性优化理论。这部分对应论文第六章(VI. TIGHTLY-COUPLED MONOCULAR VIO),并参考了崔博的《VINS论文推导与代码解析》、深蓝学院的VIO课程内容。主要想对目标函数中视觉残差和IMU残差,以及对应的雅可比、协方差进行推导。

2019-06-27 15:04:33 10049 10

原创 视觉SLAM——边缘检测 线段检测 Harris角点检测

本博客为主要学习《计算机视觉——算法与应用》第4章 特征检测与匹配相关知识点的总结与整理。主要内容包括:1、边缘检测算法,常用边缘检测算子 2、直线检测,Hough变换 3、Harris角点检测

2019-06-17 17:28:52 2653

原创 视觉SLAM——针孔相机模型 相机标定原理 双目相机模型 深度相机对比

前言本博客为主要学习《视觉SLAM十四讲》第5讲、《机器人学的状态估计》第6章6.4.1透视相机、《多视图几何》第5章摄像头模型等SLAM内容的总结与整理。主要包括:1、针孔相机模型、相机畸变、相机标定2、双目相机模型、RGBD相机原理2、双目相机与RGBD相机对比1、单目相机模型1.1 针孔相机模型1.2 相机畸变1.3 相机标定(张正友标定)1.4 鱼眼相机模型2、立体相...

2019-05-31 15:30:51 3107

原创 apriltags2_ros应用实践——如何用apriltags二维码输出相机位姿与轨迹

之前我们已经成功实现了在Realsense D435i的相机下,跑通apriltags2_ros,并发布一个可在RVIZ可视化的odometry topic,输出相机的位姿。接下来我们主要讨论如何利用这个位姿,将其转换到与VINS对齐的机器人坐标系下,并能够输出一个轨迹topic。

2019-05-23 19:19:12 10781 14

原创 视觉SLAM——二维三维几何、三维空间刚体变换

主要包括: 1、点、向量、坐标系、直线、平面等几何学基础 2、旋转矩阵、角轴、欧拉角、四元数等表示坐标系旋转的方法,罗德里格斯公式的证明,四元数左乘右乘、导数的推导3、2D、3D空间的欧式、相似、仿射、射影变换性质

2019-05-10 21:47:39 2631 1

原创 VINS-Mono理论学习——IMU预积分 Pre-integration (Jacobian 协方差)

VINS论文的IV-B. IMU Pre-integration介绍了IMU预积分模型。传统传统捷联惯性导航的递推算法,是在已知上一时刻的IMU状态量(姿态和速度、位移)情况下,利用IMU测量得到的线加速度和角速度,做积分运算得到当前时刻的状态量。然而在基于非线性优化的VIO中,各个节点的状态量都是估计值。当这些状态量在优化算法中,会不断调整,每次调整都需要在它们之间重新积分,传递IMU测量值。因此提出IMU预积分,希望对IMU的相对测量进行处理,使它与绝对位姿解耦,或者只要线性运算就可以进行矫正。

2019-05-06 16:22:02 22803 27

原创 apriltags2_ros应用实践——如何在realsense d435i上使用apriltags二维码实现定位

最近课题中采用VINS-Mono来做视觉惯性融合定位(VIO),因为所要求的环境条件无法进行闭环,为消除累计误差,打算以每多少米放置一个二维码的方式来辅助SLAM定位。为此选择了apriltags。至于为什么在那么多种二维码中选择apriltags(其他常用的二维码还有QR、ARtag等),apriltags是如何进行二维码识别与定位的,以及如何将apriltags得到的位姿融合到VIO中...

2019-04-28 19:14:07 13657 74

原创 【VIO论文笔记】A Benchmark Comparison of Monocular Visual-Inertial Odometry Algorithms for Flying Robots

前言本论文由ETH实验室在ICRA 2018上发表,其对目前公开的单目VIO算法(MSCKF、OKVIS、ROVIO、VINS-Mono、SVO+MSF、SVO+GTSAM),在飞行机器人常用的各种硬件(Laptop、Intel NUC、UP Board和ODROID)上进行测试比较,其评价内容包括位姿估计精度、单针处理时间、CPU和内存占用率,评价的数据集为EuRoC。该论文之前的部分可以参...

2019-04-22 15:58:10 2576 1

原创 VINS-Mono理论学习——视觉惯性联合初始化与外参标定

前言本文主要介绍VINS状态估计器模块(estimator)中的视觉惯性联合初始化以及相机到IMU的外参估计,其中前半部分对应论文第五章(V. ESTIMATOR INITIALIZATION B. Visual-Inertial Alignment),后半部分参考了沈老师组的其他几篇论文。视觉惯性联合初始化对于VINS初始化中视觉惯性对齐之外的部分已在博客VINS-Mono代码解读——视觉...

2019-04-11 18:25:14 11050 18

原创 VINS-Mono代码解读——视觉惯性联合初始化 initialStructure sfm

本文主要介绍VINS状态估计器模块(estimator)中的初始化过程。由于单目紧耦合的VIO是一个高度非线性系统,单目视觉没有尺度信息,IMU的测量又存在偏置误差,如果没有良好的初始值很难将这两种测量结果有机融合,因而初始化是VIO最脆弱的步骤。VINS采用了视觉和IMU的松耦合初始化方案,首先用从运动恢复结构(SFM)得到纯视觉系统的初始化,即滑动窗口中所有帧的位姿和所有路标点的3d位置,然后将其与IMU预积分结果进行对齐,恢复尺度因子、重力、陀螺仪偏置和每一帧的速度。

2019-04-02 22:46:10 12447 14

原创 视觉SLAM——OpenCV之Mat结构详解 数据成员和构造函数 创建Mat方法 遍历Mat方法

OpenCV2加入了一个c++接口,使用Mat类数据结构,可以实现自动内存管理,且扩展性大大提高。Mat是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸、存储方法、存储地址等)和一个指向存储所有像素值矩阵的指针。Mat类最重要的一点是浅拷贝和深拷贝问题。

2019-03-25 22:20:35 1147

原创 【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定

港科大VINS-Mono目前已集成了IMU和cam的在线时间偏差标定。本人就其相关论文进行了阅读,并进行内容整理。原文:Online Temporal Calibration for Monocular Visual-Inertial Systems单目视觉惯性系统的在线时间标定

2019-03-21 17:08:08 4308 3

原创 视觉SLAM中的数学——外点处理:鲁棒核函数 RANSAC方法

前言本博客主要为学习《视觉SLAM十四讲》、《计算机视觉-算法与应用》第6章基于特征的配准 《机器人学中的状态估计》第5章偏差、匹配和外点 等其他相关SLAM内容的总结与整理。外点传感器测量值可能会受多种因素干扰而不可靠,同时特征匹配也会存在误匹配的情况,如果不正确地检测并剔除他们,视觉SLAM中的很多算法(如计算本质矩阵、三角测量、PNP等)将会失败。我们将非常不可能的测量值(根据测量模...

2019-03-15 09:41:22 6407 2

原创 视觉SLAM——两视图对极几何 本质矩阵 基础矩阵 单应矩阵 三角测量

本博客主要为学习《视觉SLAM十四讲》第7讲第3、4节、《多视图几何》第二篇双视图几何、《计算机视觉-算法与应用》第7章等其他相关SLAM内容的总结与整理。本博客主要讨论一下内容:1、对极几何的构建,F、E矩阵的推导、性质与求解;2、由E恢复Rt,三角测量;3、单应性,单应矩阵H的求解;4、F、E、H矩阵的适用性讨论。在特征匹配后,得到了特征点之间的关系,如果是两张图像匹配,可通过对极几何得到2D-2D之间的关系。

2019-03-05 16:55:59 3237 2

原创 VINS-Mono代码解读——回环检测与重定位 pose graph loop closing

前言本文主要介绍VINS的重定位模块(relocalization),主要在代码中/pose_graph节点的相关部分实现。从论文的内容上来说,主要包括了VINS中的回环检测、特征匹配与检验、重定位等内容,即论文第七章(VII. RELOCALIZATION)。先简要介绍下论文中的内容:A. 回环检测1、利用DBoW2进行回环检测。2、除了用于单目VIO的角点特征外,还添加了500个角点...

2019-03-01 22:59:44 15675 7

原创 视觉SLAM——概述 算法框架 SLAM与SFM的区别

SLAM是Simultaneous Location and Mapping,同时定位与地图构建。是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。目的是解决自主机器人“定位”和“建图”两个问题。同时要求能够实时地,没有先验知识地进行。SLAM问题的本质是对主体自身(位姿)和周围环境空间(点云)的不确定性的估计。

2019-02-27 20:02:56 7735

原创 【ORB-SLAM论文笔记】ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras

ORB-SLAM于2015年提出,其具有基于特征点的视觉里程计、基于非线性优化的后端、基于词袋的回环检测功能,采用的三线程的SLAM框架非常经典,并在其改进版ORB-SLAM2中同时支持单目、双目、RGBD,具有良好的泛用性。因此成为SLAM初学者必学的方案之一。本文将对ORB-SLAM2的论文进行学习并整理相关重点。

2019-02-26 21:52:21 3167

原创 【ORB-SLAM论文笔记】ORB-SLAM: a Versatile and Accurate Monocular SLAM System(ORB-SLAM:精确多功能单目SLAM系统)

ORB-SLAM于2015年提出,其具有基于特征点的视觉里程计、基于非线性优化的后端、基于词袋的回环检测功能,采用的三线程的SLAM框架非常经典,同时支持单目、双目、RGBD,具有良好的泛用性。因此成为SLAM初学者必学的方案之一。本文将对论文《ORB-SLAM: a Versatile and Accurate Monocular SLAM System》进行学习并整理相关重点。

2019-02-25 22:42:52 2798 2

原创 【VINS论文笔记】A General Optimization-based Framework for Local Odometry Estimation with Multiple Sensors

2019年1月11日,港科大VINS-Mono的团队发布了VINS的扩展版本——VINS-Fusion。其支持多种视觉惯性传感器类型(单相机+ IMU,立体相机+ IMU,立体相机),还支持将VINS与GPS进行融合。本人就VINS-Fusion中多传感器局部位姿估计的相关论文进行了阅读,并进行内容整理(尽可能简洁)。

2019-02-21 17:02:54 3507

原创 【VINS论文笔记】A General Optimization-based Framework for Global Pose Estimation with Multiple Sensors

2019年1月11日,港科大VINS-Mono的团队发布了VINS的扩展版本——VINS-Fusion。其支持多种视觉惯性传感器类型(单相机+ IMU,立体相机+ IMU,立体相机),还支持将VINS与GPS进行融合。本人就VINS-Fusion中多传感器全局位姿图优化的相关论文《A General Optimization-based Framework for Global Pose Estimation with Multiple Sensors》进行了阅读,并进行内容整理。

2019-01-24 22:37:05 3855 1

原创 VINS-Mono代码解读——启动文件launch与参数配置文件yaml介绍

以euroc.launch和euroc_config.yaml为例对VINS中的启动文件launch和参数配置文件yaml进行详细介绍,并讨论自己在实验中调参的感受。欢迎大家一起讨论。

2019-01-24 14:33:34 12444 14

原创 如何用Realsense D435i运行VINS-Mono等VIO算法 获取IMU同步数据

前言Intel Realsense D435i在D435的基础上硬件融合了IMU,然而目前网上关于这款摄像头的资料非常少,本文主要介绍自己拿着d435i历经曲折最后成功运行VINS-Mono的过程。。。准备工作1、Intel Realsense D435i、Ubuntu 16.042、已经安装好Realsense驱动,如果没有的话可以参考:https://blog.csdn.net/qq_...

2019-01-19 18:00:18 24962 87

原创 Realsense D435i 在ubuntu上安装SDK与ROS Wrapper 运行ORB-SLAM2、RTAB和VINS-Mono

前言:D435i在D435的基础上,另外搭载了博世的惯性测量单元(IMU),可以作为研究VIO及其他SLAM算法的良好传感器组。本文将介绍自己一步步搭建d435i环境,并成功跑通ORB-SLAM2、RTAB和VINS-Mono的过程,供大家参考。安装环境系统:ubuntu 16.04ROS: Kinetic传感器:intel realsense d435i环境上已经成功搭建并使用过ORB-SLAM、VINS与RTAB。

2019-01-18 21:14:12 25709 37

原创 视觉SLAM——特征点法与直接法对比以及主流开源方案对比 ORB LSD SVO DSO

单目视觉SLAM可以根据其前端视觉里程计或是后端优化的具体实现算法进行分类:前端可以分为特征点法与直接法,后端可以分为基于滤波器和基于非线性优化。其中在后端上目前已经公认基于非线性优化的方法在同等计算量的情况下,比滤波器能取得更好的结果。而前端的两种方法则各有优劣。本文将具体分析直接法相较于特征点法的优劣处,并具体介绍目前主流的开源方案,以供大家参考。

2019-01-14 22:46:59 13944 1

原创 VINS-Mono代码解读——状态估计器流程 estimator 写在初始化和非线性优化前

前言本文主要介绍VINS的状态估计器模块(estimator),或者从ROS角度说是estimator节点。这个模块可以说是VINS的最核心模块,从论文的内容上来说,里面的内容包括了VINS的估计器初始化、基于滑动窗口的非线性优化实现紧耦合,即论文第五章(V. ESTIMATOR INITIALIZATION)第六章(VI. TIGHTLY-COUPLED MONOCULAR VIO)。代码...

2019-01-13 15:09:41 13502 9

原创 TUM VIO数据集介绍与尝试 The TUM VI Benchmark for Evaluating Visual-Inertial Odometry论文翻译

前言做SLAM或是CV方向的应该大都接触过TUM提供的各种数据集,如RGBD数据集、单目数据集等。最近TUM发布了关于VIO即视觉惯性状态估计的对应数据集,成为了继飞行数据集EuRoc、MAV、车辆数据集Kitti等之后的又一个常用大型数据集。本博客将就其数据集的论文《The TUM VI Benchmark for Evaluating Visual-Inertial Odometry》对T...

2019-01-10 10:19:35 13685 21

原创 VINS-Mono代码解读——各种数据结构 sensor_msgs

前言在看VINS-Mono的代码时,觉得非常有必要整理总结一下其中不同的数据结构,尤其是各种sensor_msgs的格式与具体含义。慢慢补充吧!sensor_msgs::ImageConstPtrfrom file:sensor_msgs/Image.msg在feature_trackers_node.cpp中回调函数img_callback的输入,表示一幅图像Definition:...

2019-01-07 22:09:01 12004 1

原创 VINS-Mono代码解读——视觉跟踪 feature_trackers

前言本文主要介绍VIO的视觉处理前端的视觉跟踪模块(feature_trackers)。论文第四章A节(IV. MEASUREMENT PREPROCESSING——A. Vision Processing Front-end)可以看到其算法主要包括以下内容:1、对于每一幅新图像,KLT稀疏光流算法对现有特征进行跟踪;2、检测新的角点特征以保证每个图像特征的最小数目(100-300);3、...

2019-01-05 10:58:04 38511 16

ROS Wrapper for Intel RealSense Devices

此为上一版本的realsense ROS驱动。 https://blog.csdn.net/qq_41839222/article/details/86552367

2019-04-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除