视觉slam
水木流年追梦
清华大学计算机研究生,专研算法工程
展开
-
通俗易懂!视觉slam第十一部分——线性系统和卡尔曼滤波
首先来看滤波器模型。当我们假设了马尔可夫性,从数学角度会发生哪些变化呢?首先,当前时刻状态只和上一个时刻有关,上部分等式右侧第一部分可进一步简化:这里,由于 k 时刻状态与 k − 1 之前的无关,所以就简化成只与和有关的形式,与 k 时刻的运动方程对应。第二部分可简化为:这是考虑到 k 时刻的输入量 与 k − 1 时刻的状态无关,所以我们把 拿掉。可以看到,这一项实际是 k ...原创 2020-02-22 08:50:34 · 927 阅读 · 0 评论 -
通俗易懂!视觉slam第十部分——贝叶斯估计
SLAM 过程可以由运动方程和观测方程来描述。那么,假设在 t = 0 到t = N 的时间内,我们有 到那么多个位姿,并且有 那么多个路标。按照之前的写法,运动和观测方程为:每个方程都受噪声影响,所以要把这里的位姿 x 和路标 y 看成服从某种概率分布的随机变量,而不是单独的一个数。因此,我们关心的问题就变成了:当我拥有某些运动数据 u 和观测数据 z 时,如何来确定状态量 x,y 的...原创 2020-02-21 21:12:55 · 895 阅读 · 0 评论 -
通俗易懂!视觉slam第九部分——光流(Optical Flow)
光流是一种描述像素随着时间,在图像之间运动的方法,如图所示。随着时间的经过,同一个像素会在图像中运动,而我们希望追踪它的运动过程。计算部分像素运动的称为稀疏光流,计算所有像素的称为稠密光流。稀疏光流以 Lucas-Kanade 光流为代表,并可以在 SLAM 中用于跟踪特征点位置。主要介绍 Lucas-Kanade 光流,亦称 LK光流。Lucas-Kanade 光流在 LK 光流...原创 2020-02-21 14:58:43 · 2092 阅读 · 0 评论 -
通俗易懂!视觉slam第八部分——李群,李代数
在 SLAM 中,除了表示之外,我们还要对它们进行估计和优化。因为在 SLAM 中位姿是未知的,而我们需要解决什么样的相机位姿最符合当前观测数据这样的问题。一种典型的方式是把它构建成一个优化问题,求解最优的 R,t,使得误差最小化。如前所言,旋转矩阵自身是带有约束的(正交且行列式为 1)。它们作为优化变量时,会引入额外的约束,使优化变得困难。通过李群——李代数间的转换关系,我们希望把位姿估计变成无...原创 2020-02-20 21:21:11 · 710 阅读 · 0 评论 -
通俗易懂!视觉slam第七部分——四元数
旋转矩阵用九个量描述三自由度的旋转,具有冗余性;欧拉角和旋转向量是紧凑的,但具有奇异性。事实上,我们找不到不带奇异性的三维向量描述方式 [19]。这有点类似于,当我们想用两个坐标表示地球表面时(如经度和纬度),必定存在奇异性(纬度为 ±90 ◦ 时经度无意义)。三维旋转是一个三维流形,想要无奇异性地表达它,用三个量是不够的。在表达三维空间旋转时,也有一种类似于复数的代数:四元数(Quatern...原创 2020-02-20 15:46:03 · 1045 阅读 · 0 评论 -
通俗易懂!视觉slam第五部分——slam数学表示二
假设我们进行了两次变换:, 和 , ,满足:但是从 a 到 c 的变换为:这样的形式在变换多次之后会过于复杂。因此,我们要引入齐次坐标和变换矩阵重写:这是一个数学技巧:我们把一个三维向量的末尾添加 1,变成了四维向量,称为齐次坐标。对于这个四维向量,我们可以把旋转和平移写在一个矩阵里面,使得整个关系变成了线性关系。该式中,矩阵 T 称为变换矩阵(Transform Matr...原创 2020-02-20 13:06:24 · 404 阅读 · 0 评论 -
通俗易懂!视觉slam第四部分——slam刚体三维空间运动
日常生活的空间是三维的,因此我们生来就习惯于三维空间的运动。三维空间由三个轴组成,所以一个空间点的位置可以由三个坐标指定。不过,我们现在要考虑刚体,它不光有位置,还有自身的姿态。相机也可以看成三维空间的刚体,于是位置是指相机在空间中的哪个地方,而姿态则是指相机的朝向。结合起来,我们可以说,“相机正处于空间(0,0,0) 点处,朝向正前方” 这样的话。但是这种自然语言很繁琐,我们更喜欢用数学语言来...原创 2020-02-20 11:09:28 · 480 阅读 · 0 评论 -
通俗易懂!视觉slam第三部分——slam数学表示
用数学语言来描述 SLAM 过程。我们会用到一些变量和公式。小车正携带着某种传感器在未知环境里运动,怎么用数学语言描述这件事呢?首先,由于相机通常是在某些时刻采集数据的,所以我们也只关心这些时刻的位置和地图。这就把一段连续时间的运动变成了离散时刻 t = 1,...,K 当中发生的事情。在这些时刻,用 x 表示小车自身的位置。于是各时刻的位置就记为 ,它们构成了小车的轨迹。地图方面,我们设地...原创 2020-02-20 10:49:37 · 679 阅读 · 0 评论 -
通俗易懂!视觉slam第二部分——salm过程简介
视觉里程计视觉里程计关心相邻图像之间的相机运动,为了定量地估计相机运动,必须在了解相机与空间点的几何关系之后进行。VO 能够通过相邻帧间的图像估计相机运动,并恢复场景的空间结构。叫它为“里程计”是因为它和实际的里程计一样,只计算相邻时刻的运动,而和再往前的过去的信息没有关联。假定已有了一个视觉里程计,估计了两张图像间的相机运动。那么,只要把相邻时刻的运动“串”起来,就构成了机器人的运动轨迹...原创 2020-02-20 09:48:03 · 1020 阅读 · 0 评论 -
通俗易懂!视觉slam第一部分——slam简介与相机介绍
首先是定义:SLAM 是 Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与地图构建”。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动 。如果这里的传感器主要为相机,那就称为“视觉 SLAM”。这里的相机有很多种:分为单目(Monocular)、双目(Stereo)和深度相机(R...原创 2020-02-20 08:57:14 · 1804 阅读 · 0 评论 -
视觉slam第一讲——
slam课程学习:原创 2020-02-17 15:00:00 · 352 阅读 · 0 评论