《人工智能》SLAM
文章平均质量分 92
SLAM相关
Yngz_Miao
这个作者很懒,什么都没留下…
展开
-
【SLAM】最最最简单的直线拟合情形下的多种求解方法
本文我们讨论一个最最最简单情况下的拟合的情形,并尝试使用不同的方法来进行求解。假如有一组数x1x2x3...xn,对应的值为y1y2y3...yn,并且y和x之间近似满足ykxb的关系。求解出最佳的k的值。为了方便后续的代码编写,这边就将xi和yi。原创 2024-07-22 21:13:22 · 1189 阅读 · 0 评论 -
【SLAM】IMU预积分的理解、手把手推导(4/4)
在优化过程中,残差计算和残差对状态量的雅可比矩阵是迭代的核心内容。本章对IMU预积分优化过程中,残差和对应的雅可比矩阵的计算进行推导。同时对整个IMU预积分过程进行总结。在实际应用中,通常以 Ri\mathbf{R}_{i}Ri、pi\mathbf{p}_{i}pi、vi\mathbf{v}_{i}vi、Rj\mathbf{R}_{j}Rj、pj\mathbf{p}_{j}pj、vj\mathbf{v}_{j}vj 等为导航求解的目标,同时由于IMU的零偏也是不可忽视的,因此,全部的导航状态是原创 2023-09-26 21:41:12 · 4594 阅读 · 1 评论 -
【SLAM】IMU预积分的理解、手把手推导(3/4)
上一篇文章对IMU预积分噪声进行分离,并对其递推形式进行推导,最终引出了其信息矩阵的递推形式。本文对零偏改变时IMU预积分的速算进行推导。这是IMU预积分节省计算量的关键。前面的计算和推导,都是在假设积分区间内陀螺和加计的零偏恒定的基础上推导的。当零偏发生变化时,若仍按照前述公式,PVQ增量测量值需要整个重新计算一遍,这将非常的耗费算力。为了解决这个问题,提出了利用线性化来进行零偏变化时的一阶近似更新方法。具体来说,我们把PVQ增量观测值看成 big\mathbf{b}_{i}^{g}big、bia\ma原创 2023-09-19 20:04:37 · 5966 阅读 · 0 评论 -
【SLAM】IMU预积分的理解、手把手推导(2/4)
本章开始将会开始对IMU预积分进行详细的推导。本次的推导采用李群李代数的形式来表示旋转,对应的是ORB-SLAM3的方案。比如VINS,采用的四元数方案,可能从推导过程上看有一些不同。先说一下李群李代数的定义吧:其中,R 为李群SO(3),ϕ 为对应的李代数so(3),两者之间相差一个指数对数的关系。如果是Exp 括号里面是李代数向量,如果是exp 括号里面是李代数向量对应的反对称原创 2023-09-15 01:54:07 · 6771 阅读 · 0 评论 -
【SLAM】IMU预积分的理解、手把手推导(1/4)
在工程实践中我们常常使用视觉与IMU融合的解决方案,即视觉惯性里程计(VIO)来估计运动,而不是简单地使用视觉里程计(VO)。当使用到IMU时,预积分就是绕不开的一个话题。IMU,中文名叫惯性测量单元,英文名:Inertial measurement unit。它可以测量两个东西,加速度aaa是沿三个轴ax、ay、az方向的线加速度,而角速度w就是这三个方向的角速度wx、wy、wz。IMU的频率比较高,一般都在100HZ以上。在IMU内部,除了通常的白噪声,还有个特别的量零偏bias。原创 2023-09-11 20:06:38 · 10946 阅读 · 0 评论 -
【SLAM】Sophus库的超详细解析
在视觉SLAM中,李群李代数是描述位姿比较常用的一种表达形式。但是,在Eigen中并不提供对它的支持,一个较好的李群和李代数的库是Sophus库,它很好的支持了SO3、so3、SE3、se3。Sophus简介 本文所对照的源码版本是2023.9.7日期,因此和网上其他的一些教程版本有些出入,但是总体相差不大。总体来说,原创 2023-09-08 20:33:41 · 9079 阅读 · 0 评论 -
【SLAM】G2O优化库超详细解析
通用图优化。为何叫通用呢?G2O的核里带有各种各样的求解器,而它的顶点、边的类型则多种多样。通过自定义顶点和边,事实上,只要一个优化问题能够表达成图,那么就可以用G2O去求解它。常见的,比如bundle adjustment、ICP、数据拟合,都可以用G2O来做。所谓图优化,是把优化问题表现成图的一种方式,这里的图是图论意义上的图。一个图由若干个顶点,以及连着这些顶点的边组成。在这里,我们用顶点表示优化变量,而用边表示残差项。原创 2023-09-05 20:44:34 · 10618 阅读 · 6 评论 -
【SLAM】光流 - LK光流 - 金字塔分层LK光流
在SLAM的视觉里程计中,比较常用的就是和。而直接法中,光流则是其中的重点内容,比如LSD-SLAM中就使用到了光流的方法。本文将会就光流的理论原理、公式推导进行详细的剖析,以帮助读者深刻地理解。光流是关于视域中的物体运动检测中的概念,它用来描述相对于观察者的运动所造成的观测目标、表面或边缘。简单来讲,光流描述了场景中物体运动在视觉中的变化。光流的概念,由Gibson在1950年提出,其通过相邻帧之间像素点的对应关系计算像素点的瞬时速度,从而描述物体信息。为了应用光流计算物体运动法,相邻帧需要满足两个假设:原创 2023-08-25 17:15:55 · 10087 阅读 · 0 评论 -
【SLAM】Ceres优化库官方实例详细解析(SLAM相关问题)
在ceres-solver官方教程中提供了三个SLAM相关的优化问题,分别为:bundle_adjuster、pose_graph_2d、pose_graph_3d。本文就这三个问题进行拆解和分析。在阅读本文之前,你需要确保已经知晓了Ceres的基础用法,这部分可以参考文章:【SLAM】Ceres优化库超详细解析。(BA、光束平差)问题是视觉SLAM中最基础最常用的优化方法和思路。给定一组测量的图像特征位置和对应关系,光束平差的目标是优化3D空间点和相机参数来最小化重投影误差。这个优化问题通常是被定义为一个原创 2023-07-13 21:17:29 · 14011 阅读 · 1 评论 -
【SLAM】Ceres优化库超详细解析
Ceres是由Google开发的开源C++通用非线性优化库,与g2o并列为目前视觉SLAM中应用最广泛的优化算法库。对于任何一个优化问题,我们首先需要对问题进行建模,之后采用合适的优化方法,进行求解。在求解的过程中,往往需要进行梯度下降求取最优,这里涉及了导数计算。所以在代码中使用Ceres进行优化时,需要包含基本内容:建模、优化、求导方法。Ceres库简介Ceres库主要用于求解无约束或者有界约束的最小二乘问题。其数学形式如下:原创 2023-07-10 19:59:00 · 23001 阅读 · 4 评论