VSLAM
学习中遇见的问题解决,及其文献总结
MetaSmiles
智能机器人 视觉slam 计算机视觉,软件开发
展开
-
LSD-SLAM在Ubuntu16.04 kinectic跑通记录
LSD-SLAM源代码是源代码在ROS fuerte + Ubuntu 12.04和ROS indigo + Ubuntu 14.04,本次使运行在Ubuntu16.04 kinectic。1.安装ROS KineticRef : http://wiki.ros.org/kinetic/Installation/Ubuntua.安装ubutnu系统(https://wiki.ubunt...原创 2020-05-06 09:12:59 · 554 阅读 · 0 评论 -
Open_VINS初试
Open VINS是Huang Guoquan老师团队在2019年8月份开源的一套基于MSCKF的VINS算法。Github:https://github.com/rpng/open_vins详细文档:https://docs.openvins.com/paper:http://udel.edu/~pgeneva/downloads/papers/c10.pdf1.下载mk...原创 2020-05-03 18:20:37 · 2697 阅读 · 0 评论 -
SLAM基础- 题目:视觉SLAM位姿优化时误差函数雅克比矩阵
SLAM,即 同时定位与建图,视觉SLAM的 定位 即 求取相机位姿(旋转和平移 [Rt]);在SLAM中,我们一般使用 李代数 ξ 来表示 旋转和平移。在优化位姿时,其思想是构造一个关于位姿变化的误差函数,当这个误差函数最小时,认为此时估计的位姿最优。视觉SLAM主要分为 直接法 和 特征点法,但无论是直接法还是特征点法,位姿的迭代优化都是求解一个最小二乘问题。...原创 2019-12-20 13:20:33 · 698 阅读 · 0 评论 -
视觉SLAM总结-本质矩阵E分解
基础知识: 实反对称矩阵(real antisymmetric matrix)是一种反对称矩阵,指欧氏空间的反对称变换在标准正交基下的矩阵,即元素aij都是实数,并且aij=-aji(i,j=1,2,…),n的n阶矩阵A=(aij)。实反对称矩阵有如下性质:性质1:奇数阶反对称矩阵的行列式值为0。性质2:当A为n阶实反对称矩阵时,对于有XTAX =0,性...原创 2019-12-18 02:53:31 · 3925 阅读 · 3 评论 -
SLAM基础- 题目:基础矩阵F、本质矩阵E和单应矩阵H的自由度和秩
主要分析:基础矩阵F、本质矩阵E和单应矩阵H的自由度和秩,首先两个问题,尺度归一化和秩尺度归一化:以本质矩阵为例,表达两帧的相机归一化坐标之间的对应关系将矩阵写成向量,转化为下式:由于等式右侧是0,所以上面两式子乘以任意常数以后还是表示同样两点之间的变换,所以是F是尺度等价的。秩:1.一个矩阵乘以可逆矩阵秩不变(https://www.jianshu.com/p/9...原创 2019-12-17 19:21:18 · 2533 阅读 · 0 评论 -
线性方程组求解
1.矩阵基本知识(1)正交矩阵相乘仍然是正交矩阵 A、B是正交矩阵,那么AA'=E BB'=E (AB)*(AB)'=AB*B'A'=A(BB')A'=AEA'=AA'=E(2)一个矩阵乘以正交矩阵,范数不变 ||Ux||^2=(Ux)^T(Ux)=x^TU^TUx=x^Tx=||x||^2(3)一个矩阵乘以可逆矩阵秩不变...原创 2019-12-17 18:51:07 · 5115 阅读 · 0 评论 -
视觉SLAM总结-前端视觉里程计-直接法
基于直接法的方法总结: SLAM 主要分为视觉前端和优化后端。前端也称为 视觉里程计(VO)。它根据相邻图像的信息,估计出粗略的相机运动,给后端提供较好的初始值。VO 的实现方法,按是否需要提取特征,分为特征点法的前端以及不提特征的直接法前端。尽管特征点法在视觉里程计中占据主流地位,研究者们认识它至少有以下几个缺点:关键点的提取与描述子的计算非常耗时。 使用特征点时,忽略了除...原创 2019-12-12 00:32:42 · 1774 阅读 · 0 评论 -
视觉SLAM总结-前端视觉里程计-特征点法
一、2D-2D相机位姿估计2D-2D相机位姿估计 通常利用对极几何进行计算,是单目SLAM初始化时的关键技术。2D-2D 对极几何 主要涉及到基础矩阵、本质矩阵和单应性矩阵的求解,并从中恢复出旋转矩阵 R和平移向量 t,参考基础矩阵F和本质矩阵E 单应矩阵H计算 ,然后三角化一些点,参考三角形法注意事项:1.使用条件计算基础矩阵或本质矩阵 适用于特征点不共面的情况,...原创 2019-12-12 00:32:36 · 1480 阅读 · 3 评论 -
视觉SLAM总结-李群李代数
目录1.李群和李代数基础 2.指数对数映射关系3.李代数求导与扰动模型在做vSLAM,使用到对旋转矩阵的求导,需要用到李群李代数知识,讲矩阵映射到李代数形式,方便求导,主要包含特殊正交群SO(3),特殊欧几里得群SE(3),表示位姿。旋转矩阵是特殊正交群,而变换矩阵是特殊欧氏群。旋转矩阵自身是带有约束的(正交且行列式为1),她们作为优化变量时,会引入额外的约束...原创 2019-12-12 00:32:25 · 446 阅读 · 0 评论 -
视觉SLAM总结--三维空间刚体运动
三维空间刚体运动:https://blog.csdn.net/weixin_40883049/article/details/86567439https://blog.csdn.net/u011178262/article/details/84479181原创 2019-12-11 18:51:45 · 232 阅读 · 0 评论 -
RANSAC鲁棒估计算法
在VSLAM中,我们假定给出的对应集{x-x'},然后去计算相机的运动估计,但是由于噪声的影响,错误的匹配导致很差的估算效果采用2种方法减少这个错误匹配影响,选择那些正确的匹配进行估计(RANSAC)和降低那些错误匹配的权重(鲁棒核函数)两者区别是:RANSAC方法进行模型估计,实际上分了两步,首先选出局内点,然后再进行一步优化。鲁棒核函数只需要一步,直接优化求解模型参数,通过降低外点...原创 2019-12-11 18:49:08 · 2830 阅读 · 1 评论 -
MVG(second)学习笔记- 基础矩阵F和本质矩阵E 单应矩阵H计算
非常感谢Jichao_Peng和.https://zhuanlan.zhihu.com/p/55567702 基础矩阵F和本质矩阵E 单应矩阵H求解 不管是是那种矩阵,在求解方法的分类上大致是都可以分为基于代数误差的线性估计和基于几何误差的非线性估计。在基于代数误差的线性估计中,不管是那种矩阵最后的形式一般都是 ...原创 2019-12-11 18:01:22 · 1712 阅读 · 0 评论 -
MVG(second)学习笔记- 三角形法
三角化,是已经知道相机矩阵和匹配点x-x',求出空间点。线性三角形法推导: 线性三角形法,通常,被估计的点不能准确地满足儿何关系,因而不是一个最优估计. 线性三角形法是直接模仿介绍的 DLT 方法.在每一幅图像上分别有x = PX , x '= P ' X ,且这些方程可以组合成 AX = 0的形式,它是关于 X 的线性方程.首先通过叉乘消去齐次...原创 2019-12-11 18:00:44 · 660 阅读 · 0 评论 -
MVG(second)学习笔记- 对极几何和基础矩阵F,本质矩阵E
本部分总结一下对极几何,对极几何是两幅视图之间的内在的射影几何,它独立于场景结构,只依赖于摄像机的内参和相对姿态。下图简单画出示意图。1.图中基本术语:X-X'为一对匹配点,对应空间点P CC'为基线,C,C'分别为相机中心 e,e'为对极点 I,I'为对极线2.F和E推导采用向量混合集:(https://blog.csdn.net/anpu8252/a...原创 2019-12-11 17:59:49 · 344 阅读 · 0 评论 -
MVG(second)学习笔记- 摄像机模型
摄像机是3D世界到2D图像之间的一种映射。本部分总结一下单目摄像机基本针孔模型和理论推导,畸变:目录1.基本概念2.相机模型3. 畸变模型4.摄像机矩阵P注意:成像平面放于相机主平面前面主要是便于建立数学模型1.基本概念光心:投影中心O为摄像机中心,也成为了光心。主轴:摄像机中心到图像平面的垂线称为摄像机的主轴或主射线。主心:主轴和图像平面的交点为主心...原创 2019-12-11 17:35:52 · 1541 阅读 · 0 评论 -
MVG(second)读书笔记-3D摄影几何和变换
本部分包括3D射影几何和变换,包括点和直线,二次曲线的齐次表示,还有等距变换,相似变换,仿射变换和射影变换等,很多是2D射影几何和变换的直接推广1.点与线点齐次表示:3D空间中一个点的任何齐次矢量的表示形式是: 对应于欧式空间IR2的二维点...原创 2019-12-11 17:34:54 · 321 阅读 · 0 评论 -
MVG(second)读书笔记-2D射影几何和变换
最近刚买到Multiple View Geometry in Computer Vision 计算机中的多视几何,它是三维重建和视觉SLAM的入门基础的经典教材,内容比较丰富,自己看过一遍,挑一些自己的感兴趣总结一下,如有错误,欢迎指出,非常感谢。目录1.点与线2.二次曲线3.变换层次本部分包括2D射影几何和变化,包括点和直线,二次曲线的齐次表示,还有等距变换,相...原创 2019-12-11 17:34:11 · 964 阅读 · 0 评论 -
slam资料
(1) orb_slam 官网(网站最后有5篇论文,价值很高)http://webdiis.unizar.es/~raulmur/orbslam/(2)半仙居士blog(可以都看,很经典)http://www.cnblogs.com/gaoxiang12/(3) 贺一加 blog(monocular slam 和navigation讲的很好可以看看)http://blog.csdn.ne...转载 2018-12-28 13:30:46 · 154 阅读 · 0 评论 -
Apriltag跟踪和定位
https://blog.csdn.net/qq_16481211/article/details/91039533https://blog.csdn.net/qq_41839222/article/details/90482421#commentshttps://blog.csdn.net/qq_41839222/article/details/89606859https://blo...原创 2019-08-22 13:57:45 · 1698 阅读 · 1 评论 -
ORBSLAM2 金字塔保持尺度不变形
1.图像金字塔在orb_slam2中,为了实现特征尺度不变性采用了图像金字塔,金字塔的缩放因子为1.2,。其思路就是对原始图形(第0层)依次进行1/1.2缩放比例进行降采样得到共计8张图片(包括原始图像),来说说,尺度不变性,这里不直接说明,而是看看对于第m层上的一个特征点,其对应尺度不变时相机与特征点对应空间位置之间距离(简称物距)的范围。2.代码:// ...原创 2019-07-30 15:24:35 · 1781 阅读 · 3 评论 -
[ORB-SLAM2]卡方分布(Chi-squared)外点(outlier)剔除
outlier、外点、野值会严重影响SLAM的精度,因此必须把它们剔除。常用的做法是,计算一个误差,当这个误差大于设定阈值的时候就认为其为外点。那么,问题来了,误差怎么算?阈值怎么选?误差就特征点法的视觉SLAM而言,一般会计算重投影误差。具体而言,记u为特征点的2D位置,v为由地图点投影到图像上的2D位置。重投影误差为重投影误差服从高斯分布其中,协方差公式1一般...转载 2019-07-29 19:35:08 · 3370 阅读 · 0 评论 -
推导卡尔曼滤波
今天详细的推导卡尔曼滤波,后面整理。参考:1.https://blog.csdn.net/heyijia0327/article/details/174874672.https://blog.csdn.net/heyijia0327/article/details/174874673.视觉slam十四讲...原创 2019-07-25 23:21:08 · 177 阅读 · 0 评论 -
ORB_SLAM系列总结
1、最早的特征点法,并把定位与跟踪分为两个线程是PTAM(Parallel Tracking and Mapping for Small AR Workspaces)可以说是特征点法SLAM的起源之一。论文:http://www.robots.ox.ac.uk/~gk/publications/KleinMurray2007ISMAR.pdf代码:https://github.com/...转载 2019-07-22 12:48:20 · 370 阅读 · 0 评论 -
SLAM中的marginalization 和 Schur complement
参考:https://www.zhihu.com/question/52869487/answer/132530665https://blog.csdn.net/heyijia0327/article/details/52822104/https://blog.csdn.net/zhengbq_seu/article/details/80584201#FEJ%E9%9B%B6%E7%A...原创 2019-07-22 12:03:40 · 254 阅读 · 0 评论 -
slam课程总结
https://blog.csdn.net/xiaoxiaowenqiang/article/category/7191559https://blog.csdn.net/qq_41839222/article/details/85681751https://blog.csdn.net/u012348774/article/category/7235516https://blog.csd...原创 2019-07-08 12:08:13 · 197 阅读 · 0 评论 -
SVO 运行
运行简单的sin2_tex2_h1_v8_d报错:解决方法为:recompile vikit without -march=nactive (https://github.com/uzh-rpg/rpg_svo/issues/202)参考:https://www.cnblogs.com/Jessica-jie/p/7780839.html https://www.cnbl...原创 2019-06-06 18:53:17 · 559 阅读 · 2 评论 -
kalibr 之 Camera-IMU 标定
过段时间回来补充https://blog.csdn.net/fang794735225/article/details/92804030https://blog.csdn.net/weixin_42577219/article/details/84946419参考:https://blog.csdn.net/u011178262/article/details/83316968 ...原创 2019-06-05 16:39:55 · 682 阅读 · 0 评论 -
ceres solver 参考学习资料
https://blog.csdn.net/wzheng92/article/category/7496047https://blog.csdn.net/cqrtxwd/article/details/78956227http://ceres-solver.org/nnls_tutorial.html原创 2019-06-05 15:25:42 · 203 阅读 · 0 评论 -
ORBSLAM理论与实战(20) 代码解读Optimizer.cpp
马上整理原创 2019-05-20 14:28:44 · 240 阅读 · 0 评论 -
激光SLAM框架 Gmaping movebase
https://blog.csdn.net/lqygame/article/details/73716065原创 2018-09-21 21:44:41 · 1200 阅读 · 0 评论 -
ROS 导航包学习资料
原理:(1)ROS探索总结(十四)——move_base(路径规划)(2)ROS专题----导航功能包navigation基础汇总某些引用及代码:(1)学习,move_base包(2)ROS 教程之 navigation : 用 move_base 控制自己的机器人(1)(3)ROS 教程之 navigation : 用 move_base 控制自己的机器人(2)源码解...转载 2018-09-21 10:14:43 · 1289 阅读 · 1 评论 -
svd分解证明
基础题:证明式(15)中,取y=u4是该问题的最优解,证明:提示设置y’=u4+v,其中v正交于u4,证明该式方法基于奇异值构造矩阵零空间。解:参考:https://blog.csdn.net/m0_37870649/article/details/80547167https://blog.csdn.net/xiaocong1990/art...原创 2019-10-24 22:57:18 · 273 阅读 · 0 评论 -
基于Mathematica的机器人仿真环境(SLAM篇)
基于Mathematica的机器人仿真环境(SLAM篇)目的 本文介绍在 Mathematica 中实现一个 SLAM 仿真的步骤,主要面向初学者。这个 SLAM 基于线特征,并使用 EKF 方法更新状态。 为什么研究SLAM SLAM(Simultaneous Localization and Mapping)的意思是“同步定位和地图创建”,它是移动机器人领域研究的一个问...转载 2017-11-07 20:14:03 · 1096 阅读 · 0 评论 -
视觉SLAM常见的QR分解SVD分解等矩阵分解方式求解满秩和亏秩最小二乘问题
内容一首先直接给出AX=B解的情况:(1)R(A)< r(A|B),方程组无解(2)r(A)=r(A|B)=n,方程组有唯一解(3)r(A)=r(A|B) < n,方程组有无穷解(4)r(A)>r(A|B),这种情况不存在其中r()代表矩阵的秩,A|B是增广矩阵,n是X未知数个数。这里就引出最小二乘问题,最小二乘问题就是用来解决第二、三种情况求最优解。当...转载 2018-11-06 14:45:53 · 1173 阅读 · 0 评论 -
ORBSLAM2 研究资料
ORBSLAM2学习中参考博文 ,感谢大佬无私,后期再会加蚁族的坚持sylvester0510Leather_Wang达达MFZ波波菠菜Xuefeng_BUPT金木炎EwenWanWORB-SLAM2 ORB特征点法SLAM 支持单目、双目、rgbd相机Rap_God哀酱o_ha_yo_yepeng...原创 2019-05-23 14:31:56 · 755 阅读 · 0 评论 -
ORBSLAM2理论与实战(8) ORBSLAM2整体框架(下)
自己一点理解,欢迎纠错哈ORBSLAM2 代码框架:├── build_ros.sh --使用ROS接口编译,支持ROS;├── build.sh --非ROS接口,编译;├── CMakeLists.txt ...原创 2019-05-21 16:03:15 · 340 阅读 · 0 评论 -
ORBSLAM2理论与实战(26) 学习ORBSLAM结语
马上整理原创 2019-05-20 14:24:37 · 248 阅读 · 0 评论 -
ORBSLAM2理论与实战(25) 地图保存和加载
地图保存和加载 orbslamhttps://unordered.org/timelines/5a22883642000000原创 2019-05-20 14:24:31 · 746 阅读 · 0 评论 -
ORBSLAM2理论与实战(24) 代码解读Sim3solver类
Sim3solver类Sim3solver.h#ifndef SIM3SOLVER_H#define SIM3SOLVER_H#include <opencv2/opencv.hpp>#include <vector>#include "KeyFrame.h"namespace ORB_SLAM2{class Sim3Solver{...原创 2019-05-20 14:24:17 · 1163 阅读 · 0 评论 -
ORBSLAM2理论与实战(23) 代码解读PnPsolver类
PnPsolver类PnPsolver.h#ifndef PNPSOLVER_H#define PNPSOLVER_H#include <opencv2/core/core.hpp>#include "MapPoint.h"#include "Frame.h"namespace ORB_SLAM2{class PnPsolver { public: ...原创 2019-05-20 14:24:10 · 2328 阅读 · 0 评论