视觉SLAM从入门到放弃
文章平均质量分 93
哈哈,放弃当然是不可能放弃的,此专栏主要是总结了包括《视觉SLAM十四讲》、《概率机器人》、《计算机视觉中多视图几何》的部分基础知识点,之会将自己之前接触过的一些VSLAM框架包括ORB SLAM2、 SVO、VINS Mono和部分语义SLAM也进行总结,重在分享,欢迎交流
Leo-Peng
Stay Hungry, Stay Foolish
展开
-
辐射神经场算法——Instant-NGP / Mipi-NeRF 360 / 3D Gaussian Splatting
辐射神经场算法——Instant-NGP / Mipi-NeRF 360 / 3D Gaussian Splatting1. Instant-NGP1. MultiResolution Hash Encoding1.2 Accelerated Ray Marching1.3 实验结果2. Mip-NeRF 3602.1 场景参数化2.2 在线蒸馏2.3 失真正则化2.4 实验结果3. 3D Gaussian Splatting3.1 Differentiable 3D Gaussian Splatting3原创 2024-07-07 20:09:26 · 1236 阅读 · 0 评论 -
激光点云配准算法——Cofinet / GeoTransforme / MAC
激光点云配准算法——Cofinet / GeoTransformer / MACGeoTransformer + MAC是当前最SOTA的点云匹配算法,在之前我用总结过视觉特征匹配的相关算法视觉SLAM总结——SuperPoint / SuperGlue本篇博客对Cofinet、GeoTransformer、MAC三篇论文进行简单总结1. CofinetCofinet发表于2021年ICCV,原文为《CoFiNet: Reliable Coarse-to-fine Correspondences原创 2024-06-10 20:34:55 · 1279 阅读 · 1 评论 -
激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO
激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO在之前的工作中有接触过LOAM,最近在工作中又接触到Faster LIO相关的工作,于是想着对Fast LIO / Fast LIO2 / Faster LIO这一系列工作进行一个简单的总结,以加深自己对激光SLAM算法的理解,之前总结过的一些和激光SLAM算法相关的博客还有,感兴趣的同学可以一起学习讨论:激光SLAM总结——VLOAM / LIMO算法解析激光SLAM总结——LIO-Mapping / LIOM /原创 2024-05-14 08:43:28 · 5417 阅读 · 0 评论 -
视觉SLAM总结——SuperPoint / SuperGlue
视觉SLAM总结——super pixel/super clue/super map原创 2022-05-29 10:58:39 · 24993 阅读 · 8 评论 -
SLAM算法总结——经典SLAM算法框架总结
SLAM算法总结——经典SLAM算法框架总结SLAM算法总结——经典SLAM算法框架总结SLAM算法总结——经典SLAM算法框架总结从研究生接触SLAM算法到现在也有原创 2021-10-17 10:32:26 · 50678 阅读 · 8 评论 -
激光SLAM总结——LIO-Mapping / LIOM / LINS / LIO-SAM算法解析
激光IMU融合——LINS / LIO-mapping / LIO-sam算法解析激光IMU融合——LINS / LIO-mapping / LIO-sam算法解析激光IMU融合——LINS / LIO-mapping / LIO-sam算法解析在激光SLAM领域,LOAM、Lego-LOAM属于纯激光领域,除此之外还衍生处理视觉激光结合、激光IMU结合,甚至三者结合的算法,视觉激光结合的算法在我之前写的博文视觉激光融合——VLOAM / LIMO算法解析中有简单总结,本文所介绍的LINS / LIO-原创 2021-10-08 08:12:06 · 11468 阅读 · 2 评论 -
GTSAM Tutorial学习笔记
GTSAM Tutorial学习笔记GTSAM Tutorial学习笔记GTSAM Tutorial学习笔记本博客主要原创 2021-10-07 23:48:44 · 2585 阅读 · 0 评论 -
激光SLAM总结——VLOAM / LIMO算法解析
学习LOAM笔记——VLOAM算法解析学习LOAM笔记——VLOAM算法解析1. 总体框架学习LOAM笔记——VLOAM算法解析为什么要研究下VLOAM算法呢?因为效果好呀,VLOAM算法是在2015年ICRA上提出的,但是至今仍然在KITTI的odometry数据集上排名靠前,那么VLOAM一定有其过人之处VLOAM原论文名为《Visual-lidar Odometry and Mapping: Low-drift, Robust, and Fast》,作者并没有对代码进行开源,幸运的是,在去年C原创 2021-09-24 20:42:16 · 10845 阅读 · 3 评论 -
激光SLAM总结——特征点提取与匹配
学习LOAM笔记——特征点提取与匹配学习LOAM笔记——特征点提取与匹配1. 特征点提取1.1 对激光点按线束分类1.2 计算激光点曲率1.3 根据曲率提取特征点2. 特征点匹配2.1 scan-to-scan中的特征点匹配2.2 scan-to-map中特征点匹配3. 补充学习LOAM笔记——特征点提取与匹配兜兜转转一圈,最近又开始接触一些和SLAM相关的工作,LOAM是一个非常经典的激光SLAM框架,LOAM和VLOAM至今还在kitti榜上有着不错的表现,从这篇博客开始,我开始着手对LOAM以及L原创 2021-08-22 18:00:13 · 11729 阅读 · 1 评论 -
Ceres Solver Document学习笔记
Ceres Solver学习笔记Ceres Solver学习笔记1. 基本概念Ceres Solver学习笔记之前在学习Vins-Mono时,在Vins-Mono后端就是使用Ceres实现的滑窗优化,当时对Ceres的了解也仅仅是在简单使用的层面上,最近项目中有再次用到Ceres相关的内容,因此我把Ceres Solver的Document扫了一遍,这篇博客是相关的笔记。我个人觉得Ceres比较重要的优势主要有如下几点:Ceres中提供了自动求导的功能,在优化算法推到的过程中,最麻烦的也就是求雅克比原创 2021-07-18 23:43:13 · 1051 阅读 · 1 评论 -
Eigen有哪些需要注意的操作
1. Eigen有哪些行操作,列操作,块操作,怎样写会更高效?行操作:matrix.row(n);matrix.topRows(n);matrix.bottomRows(n);列操作:matrix.col(n);matrix.leftCols(n);matirx.rightCols(n);块操作:动态矩阵版本:matrix.block(i,j,m,n); // 大小为(m,n),起始于(i,j)matrix.topLeftCorner(m,n);matrix.bottomLeftC原创 2021-02-15 11:26:01 · 1891 阅读 · 1 评论 -
学习MSCKF笔记——后端、状态预测、状态扩增、状态更新
学习MSCKF笔记——后端、状态扩增学习MSCKF笔记——后端、状态扩增学习MSCKF笔记——后端、状态扩增为了看懂后端代码,我先看了下《Quaternion kinematics for the error-state Kalman filter》这篇参考文献,写了两篇总结文档学习MSCKF笔记——四元数基础学习MSCKF笔记——误差状态卡尔曼滤波MSCKF的后端内容还是很多的,Stereo-MSCKF的代码也写得很好,通过读代码将MSCKF后端流程图总结如下:下面我将后端中几个关键的知识点原创 2020-09-05 00:09:54 · 3399 阅读 · 8 评论 -
学习MSCKF笔记——真实状态、标称状态、误差状态
学习MSCKF笔记——误差状态卡尔曼滤波学习MSCKF笔记——误差状态卡尔曼滤波1.学习MSCKF笔记——误差状态卡尔曼滤波1.原创 2020-08-02 23:11:04 · 4336 阅读 · 0 评论 -
学习MSCKF笔记——四元数基础
学习MSCKF笔记——四元数基础学习MSCKF笔记——四元数基础学习MSCKF笔记——四元数基础其实老早就想对四元数相关知识进行一个总结了,这次学习MSCKF时,阅读了参考文献《Quaternion Kinematics for the Error-state Kalman Filter》,这篇文献对四元数相关知识进行了一个总结,...原创 2020-07-26 21:27:19 · 1169 阅读 · 0 评论 -
学习MSCKF笔记——前端、图像金字塔光流、Two Point Ransac
学习MSCKF笔记——前端中的几个细节学习MSCKF笔记——前端中的几个细节1. 前端流程学习MSCKF笔记——前端中的几个细节前段时间开始工作了,刚开始有点忙得缓不过来,调整了两三个月后总算有时间了,可以继续学点自己感兴趣的东西,写写博客。之前研究过一段时间VINS-Mono,那是一个后端优化框架的VIO,而MSCKF是基于滤波的框架,对于嵌入式平台会更加友好,因此想花点时间再学习下。目前我仅仅看了一遍paper,过了一遍代码,以及学习了几位前辈优秀的博客:一步步深入了解S-MSCKFMSCKF那原创 2020-07-12 22:19:16 · 3187 阅读 · 3 评论 -
视觉SLAM总结——视觉SLAM十四讲笔记整理
SLAM笔记整理基础知识点1. 特征点、描述子、特征匹配相关问题基础知识点1. 特征点、描述子、特征匹配这是整个SLAM系统最开始的部分,先提取特征点和描述子,然后进行特征匹配,通过匹配的特征点才求取的相关变换矩阵,这里容易搞混特征点和描述子的概念。(1)特征点Harris角点:就是一个根据特征小窗口在不同方向上的移动,不同的变化形式即为不同特征(角点、边界),转化到数学公式里面最后就是...原创 2019-02-17 20:19:09 · 7811 阅读 · 1 评论 -
视觉SLAM总结——视觉特征子综述
特征子综述首先需要明确的一个概念是特征描述子是由关键点(keypoints)+特征描述子(feature)两部分构成,下面所介绍的算法中,一部分是同时介绍了关键点和特征描述子的算法,比如SIFT,另一部分是更加强调关键点或者特征描述子的提取算法,比如Harris。第一部分:2D特征子1. Harris性质算法的核心是利用局部窗口在图像上进行移动判断灰度发生较大的变化,其性质主要是(1)...原创 2019-04-28 23:18:29 · 4751 阅读 · 1 评论 -
视觉SLAM总结——后端总结
视觉SLAM总结——后端总结视觉SLAM总结——后端总结(1)扰动模型(2)Bundle Adjustment推导及稀疏性分析Step 1:Bundle Adjustment推导Step 2:稀疏性分析Step3:矩阵求解(3)Pose Graph推导及分析视觉SLAM总结——后端总结什么叫温故而知新,最近一直在复习SLAM相关的基础知识,每重新复习到一个点总感觉能有新的收获,今天周末正好没有...原创 2019-05-28 20:56:57 · 3485 阅读 · 0 评论 -
视觉SLAM总结——ORB SLAM2中关键知识点总结
ORB SLAM2中关键知识点总结ORB SLAM2中关键知识点总结1. ORB SLAM2的总体框架是怎样的?2. ORB SLAM2是怎样完成初始化的?3. ORB SLAM2是如何进行Tracking的?4. ORB SLAM2是如何选取关键帧的?5. ORB SLAM2中有那些(非线性/后端)优化相关的操作?ORB SLAM2中关键知识点总结去年基于ORB SLAM2做了一些工作,当时...原创 2019-06-04 21:25:49 · 12270 阅读 · 16 评论 -
视觉SLAM总结——SVO中关键知识点总结
SVO中关键知识点总结SVO中关键知识点总结1. SVO的优缺点是什么?SVO中关键知识点总结SVO是我接触的第一个视觉SLAM框架(按照高博的说法,这个是VO,算不上SLAM),当时和几个小伙伴一起读了源码相互交流下,但是当时没有及时总结,又忘得差不多了,这段时间正在复习,就借此机会一起总结下,复习的时候参看了几位SLAM大佬的笔记,觉得数学这个东西挖深了搞明白了真的很有意思,搞得我甚至有点...原创 2019-06-07 10:08:33 · 4576 阅读 · 0 评论 -
视觉SLAM总结——LSD SLAM中关键知识点总结
视觉SLAM总结——LSD SLAM中关键知识点总结视觉SLAM总结——LSD SLAM中关键知识点总结1. LSD SLAM的创新点/关键点是什么?2. LSD SLAM的整体框架是怎样的?3. LSD SLAM是怎样完成初始化的?4. LSD SLAM中的跟踪算法有什么特别的地方?视觉SLAM总结——LSD SLAM中关键知识点总结这篇LSD SLAM的总结是为了保证我的知识框架的完整性写...原创 2019-06-09 19:37:31 · 6213 阅读 · 1 评论 -
概率机器人总结——粒子滤波先实践再推导
概率机器人总结——粒子滤波从推导到实践概率机器人总结——粒子滤波先实践再推导推导之前,先来一波实践伪代码分析真代码解析推导过程1. 贝叶斯滤波2. 蒙特卡罗采样3. 重要性采样4. Sequential Importance Sampling (SIS) Filter5. 重采样6. Sampling Importance Resampling (SIR) Filter概率机器人总结——粒子滤波...原创 2019-05-18 18:09:37 · 2096 阅读 · 1 评论 -
概率机器人总结——(扩展)卡尔曼滤波先实践再推导
概率机器人总结——卡尔曼滤波先实践再推导概率机器人总结——(扩展)卡尔曼滤波先实践再推导卡尔曼、扩展卡尔曼、粒子滤波到底什么关系?扩展卡尔曼滤波的实践卡尔曼滤波的推导概率机器人总结——(扩展)卡尔曼滤波先实践再推导为什么要把扩展两个字加个括号呢,因为本文的实践过程是以扩展卡尔曼为例,但是推导过程主要是参考博客卡尔曼滤波 – 从推导到应用(一),相较于《概率机器人》上的推导过程更容易理解,而《概...原创 2019-05-22 21:01:31 · 2167 阅读 · 1 评论 -
概率机器人总结——占用栅格地图先实践再推导
概率机器人总结——占用栅格地图先实践再推导概率机器人总结——占用栅格地图构建先实践再推导实践过程伪代码分析真代码分析推导过程静态二值贝叶斯滤波概率机器人总结——占用栅格地图构建先实践再推导当我将概率机器人看到这里的时候,越发觉将数学理论转到实际应用是一件非常有意思的事情,像我的话很早之前就用过gmapping和amcl这些ros自带的功能包了,但是知其然不知其所以然,看起来很炫酷的操作却不明白...原创 2019-05-25 20:38:14 · 3801 阅读 · 0 评论 -
多视图几何总结——单应矩阵和基础矩阵的兼容关系
多视图几何总结——单应矩阵和基础矩阵关系多视图几何总结——单应矩阵和基础矩阵关系(1)单应矩阵和基础矩阵的兼容性(2)基础矩阵 —> 单应矩阵(3)单应矩阵 —> 基础矩阵多视图几何总结——单应矩阵和基础矩阵关系这应该是多视图几何里面最后一篇总结了吧,在书中用一整章的篇幅介绍了平面单应(单应矩阵)和对极几何(基础矩阵)之间的关系,相对是比较复杂的,好几次绕晕我了…如下图图中xx...原创 2019-05-31 17:55:30 · 1126 阅读 · 0 评论 -
多视图几何总结——三角形法
多视图几何总结——三角形法多视图几何总结——三角形法线性三角形法(1)齐次方法(2)非齐次方法几何法(1)非线性优化法(2)最优解法多视图几何总结——三角形法在《视觉SLAM十四讲》中三角测量那一节中简单介绍了下如何通过两帧中匹配的点获得空间点深度,这对单目相机的成像是非常重要的,其证明如下,设x1x_1x1,x2x_2x2分别为两帧中匹配好的特征点的归一化坐标,然后满足:s1x1=s2R...原创 2019-05-30 20:29:57 · 4062 阅读 · 0 评论 -
多视图几何总结——摄像机模型
多视图几何总结——摄像机模型多视图几何总结——摄像机模型有限摄像机矩阵——推导有限摄像机矩阵——计算(1)最小配置解(2)超定解(DLT)(3)几何误差仿射无限摄像机多视图几何总结——摄像机模型摄像机模型相对来说比较基础,针孔模型对于搞CV或者SLAM的人来说,是入门必须掌握的知识点,这里为了保证总结的完整性,同时也让自己再巩固下,抽了点时间进行一个简单的总结。多视图几何中对于相机模型的介绍...原创 2019-05-24 17:48:30 · 1623 阅读 · 0 评论 -
多视图几何总结——基础矩阵、本质矩阵和单应矩阵的自由度分析
MVG总结——基础矩阵、本质矩阵和单应矩阵的自由度分析MVG总结——基础矩阵、本质矩阵和单应矩阵的自由度分析总结基础矩阵自由度本质矩阵自由度单应矩阵自由度MVG总结——基础矩阵、本质矩阵和单应矩阵的自由度分析总结首先给出结论,基础矩阵(Fundmental Matrix)具有7个自由度,本质矩阵(Essential Matrix)具有5个自由度,单应矩阵(Homography Matrix)...原创 2019-05-05 22:21:19 · 11479 阅读 · 9 评论 -
多视图几何总结——从本质矩阵恢复摄像机矩阵
多视图几何总结——等距变换、相似变换、仿射变换和射影变换多视图几何总结——从本质矩阵恢复摄像机矩阵(1)本质矩阵性质(2)从本质矩阵恢复摄像机矩阵多视图几何总结——从本质矩阵恢复摄像机矩阵本质矩阵是归一化坐标下基本矩阵的特殊形式,具有五个自由度,我们通过八点法或者五点法可以求出本质矩阵,那么我们如何从中恢复出我们实际想要的RRR和ttt呢?我们得从性质入手。(1)本质矩阵性质多视图几何上定...原创 2019-05-20 21:32:37 · 1798 阅读 · 0 评论 -
多视图几何总结——基础矩阵、本质矩阵和单应矩阵的求解过程
MVG总结——基础矩阵、本质矩阵和单应矩阵的求解过程MVG总结——基础矩阵、本质矩阵和单应矩阵的求解过程(1)说明——其实求解过程大同小异(2)基础矩阵求解过程(3)本质矩阵求解过程(4)单应矩阵求解过程MVG总结——基础矩阵、本质矩阵和单应矩阵的求解过程在《视觉SLAM十四讲》中,仅仅给出了基础矩阵、本质矩阵和单应矩阵的推导过程,并没有详细给出其求解过程,再看过《计算机视觉中的多视图几何》之...原创 2019-05-13 23:04:41 · 6938 阅读 · 1 评论 -
多视图几何总结——等距变换、相似变换、仿射变换和射影变换
多视图几何总结——等距变换、相似变换、仿射变换和射影变换多视图几何总结——等距变换、相似变换、仿射变换和射影变换等距变换相似变化仿射变换射影变换多视图几何总结——等距变换、相似变换、仿射变换和射影变换多视图几何再2.4节中介绍好几种变换,有时候容易绕懵,这里花点时间简单总结下首先只管感受下这几种变换其中图a是相似变换,其效果是圆仍然是圆,正方形仍然是正方形;图b是仿射变换,其效果是圆变成...原创 2019-05-18 21:13:42 · 4853 阅读 · 4 评论 -
VIO在走廊弱纹理环境下的优化——VINS-Mono的点线紧耦合优化
VIO在走廊弱纹理环境下的优化VIO在走廊弱纹理环境下的优化0. 前言1. 思路概述1.1 Super Pixel SLAM1.2 Edge SLAM1.3 PL SLAM2. 算法实施2.1 Edge SLAM方案的实施(简述)2.2 PL SLAM方案的实施2.2.1 线特征的提取和跟踪2.2.2 线特征的构建和管理2.2.3 线特征的非线性优化2.2.4 线特征的边缘化操作3. 实验结果...原创 2019-09-25 20:30:32 · 9802 阅读 · 37 评论 -
视觉SLAM总结——视觉SLAM面试题汇总
视觉SLAM面试题汇总视觉SLAM面试题汇总1. SIFT和SUFT的区别2. 相似变换、仿射变换、射影变换的区别3. Homography、Essential和Fundamental Matrix的区别4. 视差与深度的关系5. 描述PnP算法6. 闭环检测常用方法7. 给一个二值图,求最大连通域8. 梯度下降法、牛顿法、高斯-牛顿法的区别9. 推导一下卡尔曼滤波、描述下粒子滤波10. 如何求解...原创 2019-09-25 10:16:03 · 16070 阅读 · 10 评论