优化问题定义以及求解 通用定义 解决问题的开始一定是定义清楚问题.这里引用g2o的定义. \[ \begin{aligned} \mathbf{F}(\mathbf{x})&=\sum_{k\in \mathcal{C}} \underbrace{\mathbf{e}_k(\mathbf{x}_k,\mathbf{z}_k)^\top \Omega_k\mathbf{e}_k(\mathbf{x}_k,\mathbf{z}_k)}_{\mathbf{F}_k} \\ \mathbf{x}^* &a…
视觉SLAM中的数学基础 第三篇 李群与李代数 前言 在SLAM中,除了表达3D旋转与位移之外,我们还要对它们进行估计,因为SLAM整个过程就是在不断地估计机器人的位姿与地图.为了做这件事,需要对变换矩阵进行插值.求导.迭代等操作.例如,在经典ICP问题中,给定了两组3D点,我们要计算它们之间的变换矩阵.假设第一组的3D点为$\mathbf{P}=\{ \mathbf{p}_i | i = [1,2, \ldots, N] \}$,第二组3D点为$\mathbf{Q}=\{ \mathbf{q}…
视觉SLAM中的数学基础 第二篇 四元数 什么是四元数 相比欧拉角,四元数(Quaternion)则是一种紧凑.易于迭代.又不会出现奇异值的表示方法.它在程序中广为使用,例如ROS和几个著名的SLAM公开数据集.g2o等程序都使用四元数记录机器人的姿态.因此,理解四元数的含义与用法,对学习SLAM来说是必须的.本节我们就来讲讲四元数. 首先,请读者不要对四元数有什么神秘的感觉.四元数仅是3D姿态的一种表达方式,我们用一个单位四元数表达原本用旋转矩阵表示的三维旋转.这样做一个直接的好处是省空间.一…
本篇博客为系列博客第二篇,主要介绍非线性最小二乘相关内容,线性最小二乘介绍请参见SLAM中的优化理论(一)-- 线性最小二乘.本篇博客期望通过下降法和信任区域法引出高斯牛顿和LM两种常用的非线性优化方法.博客中主要内容为: 非线性最小二乘介绍: 下降法相关理论(Desent Method); 信任区域理论(Trust Region Methods); 非线性最小二乘求解方法(高斯牛顿.LM) 由于个人水平有限,文中难免有解释不清晰的地方,因此希望大家结合着[1].[2]和[3]进行理解.如果在阅…
视觉SLAM中,通常是指使用相机来解决定位和建图问题. SLAM中使用的相机往往更加简单,不携带昂贵的镜头,以一定的速率拍摄周围的环境,形成一个连续的视频流. 相机分类: 单目相机:只是用一个摄像头进行SLAM的做法成为单目SLAM. 单目相机的数据就是照片,照片就是拍照时的场景在相机的成像平面上留下的一个投影,它以二维的形式反映了三维的世界,在这个过程中丢掉了一个维度即深度(距离).我们无法通过单张照片计算场景中的物体与我们之间的距离.(照片:近小远大原理) 如果想要通过单目相机拍摄的照片恢复…
第十六篇(书中 6.10~7.3节 内容) 昨天搞定了6.9节,今天就从6.10节开始. 其实这个蛮简单的. 这是程序员模式. 这是设计师模式. 至此,6.10节 完毕. 开始 6.11节. 有点没营养..算了 至此,6.11节 完毕. 开始 6.12节. 1.基本都没问题. 2.做过了. 3.拉伸时,保持位置比例不变. 4.做过了. 至此,6.12节 完毕. 开始 7.1节. 好吧,其实也已经做过了.在 第九篇. 至此,7.1节 完毕. 开始 7.2节. 重点: 至此,7.2节 完毕. 开始…
第六篇(书中 3.6~3.9节 内容) 在本篇写之前,还是要为昨天写的日记道歉才行,差点就误人子弟了. 没想到在程序员界最低级的错误 “单词拼写错误” 还是会经常犯. childrenCreated 我就不能复制书中所写的么...非要自己打...作孽呀. 好,开始看书中下一段内容: 以上就是3.6节的所有书中内容,那么来总结一下重点: 1.认识位图控件Image 是的,就一个重点,因为书中之后的知识点,其实在前面已经都知道了.无非就是以下三个学过的知识点: 1.创建EXML文件 2.拖入控件.设…
前言 理解李群与李代数,是理解许多SLAM中关键问题的基础.本讲我们继续介绍李群李代数的相关知识,重点放在李群李代数的微积分上,这对解决姿态估计问题具有重要意义. 回顾 为了描述三维空间里的运动,我们使用3$\times $3的旋转矩阵$\mathbf{R}$来描述一个刚体的旋转,并且,用4$\times$4的变换矩阵来描述六自由度的旋转+平移.这两种矩阵在传统的欧氏空间$\mathbb{R}^{3 \times 3}$和$\mathbb{R}^{4 \times 4}$中,不存在加法运算,只有…
最近想写一篇系列博客比较系统的解释一下 SLAM 中运用到的优化理论相关内容,包括线性最小二乘.非线性最小二乘.最小二乘工具的使用.最大似然与最小二 乘的关系以及矩阵的稀疏性等内容.一方面是督促自己对这部分知识进行总结,另一方面也希望能够对其他人有所帮助.由于内容比较多希望能够坚持写完. 本篇博客主要讲解线性最小二乘问题,主要包括以下内容: 最小二乘问题的定义 正规方程求解 乔姆斯基分解法求解 QR分解法求解 奇异值分解法求解 齐次方程的最小二乘 一. 问题的定义 最小二乘问题通常可以表述为,通…
一.研究背景 视觉SLAM需要获取世界坐标系中点的深度. 世界坐标系到像素坐标系的转换为(深度即Z): 深度的获取一共分两种方式: a)主动式 RGB-D相机按照原理又分为结构光测距.ToF相机 ToF相机原理 b)被动 被动式无法精确得到点的深度值,因此存在深度的估计问题,按照主流相机的种类可以分为双目相机估计以及单目相机估计. 接下来详细介绍双目系统以及单目SLAM系统的深度估计问题 二.双目系统 双目相机模型如下图所示: (图源<视觉SLAM十四讲>) 要计算深度z,需要已知世界坐标系中…