知识星球《SLAM从零开始学习》课时1——课时8 读书笔记

文章目录

    • 课时一: 总体谋划
    • 课时二: 学习SLAM到底需要学哪些?
    • 课时三 : SLAM的使用场景
    • 课时四:C++新特性
    • 课时五:使用齐次坐标
    • 课时六: 三维空间刚体的旋转
    • 课时七:为啥需要李群与李代数?
      • 背景:SO(n) 与 SE(n)
      • 背景:群和李群
      • 李群和李代数
    • 课时八:相机成像模型
      • 针孔相机成像原理
      • 相机畸变

课时一: 总体谋划

如果我们想要了解一个领域,最好的方法就是先看该领域比较著名的综述论文,先从宏观上把握该领域的整体面貌。
1、请列举几篇最近几年SLAM领域经典的综述论文。
2、阅读综述,并列举至少三个SLAM的具体应用场景。

课时二: 学习SLAM到底需要学哪些?

重点提炼:

  • 编程相关:
    • 熟悉Clion集成开发环境的使用
  • 编译工具:
    • cmake,统一使用cmake编译,好处很多,比如代码可以很方便的跨平台使用等。使用起来也很方便。有个小册子《CMake practice》照着学一下
  • 第三方函数库:
    • 使用到的第三方库主要包括:OpenCV(计算机视觉),OpenGL(计算机图形学),Eigen(几何变换),Sophus(李代数),Ceres(非线性优化),G2o(图优化)等
  • 数学知识
    • 矩阵的性质。比如矩阵乘法、求逆、矩阵分解(SVD,QR,Cholesky)、反对称矩阵等。
    • 李群李代数。这个可能很多人以前没接触过,也是挺重要的,不过高翔的十四讲里也讲的比较详细了,仔细推一下公式。
    • 非线性优化问题。比如梯度下降、牛顿法、高斯-牛顿法、LM算法、bundle adjustment等。
    • 此外,还有泰勒展开,求(偏)导,积分等。
  • 计算机视觉的知识
  • 开源代码
  • 数据集

课时三 : SLAM的使用场景

使用场景:定位和建图
链接

课时四:C++新特性

可以听侯捷老师讲课,地址
重点关注lambda表达式的使用

课时五:使用齐次坐标

什么是齐次坐标:简单的说:齐次坐标就是在原有坐标上加上一个维度:
齐次坐标的优势:齐次坐标的使用能够大大简化在三维空间中的点线面表达方式和旋转平移等操作

知识星球《SLAM从零开始学习》课时1——课时8 读书笔记_第1张图片

课时六: 三维空间刚体的旋转

三维空间中刚体的旋转总共有4种表示方法,本文依次介绍:
知识星球《SLAM从零开始学习》课时1——课时8 读书笔记_第2张图片
知识星球《SLAM从零开始学习》课时1——课时8 读书笔记_第3张图片

课时七:为啥需要李群与李代数?

背景:SO(n) 与 SE(n)

旋转矩阵R有一些特别的性质。事实上,它是一个行列式为1 的正交矩阵。反之,行列式为1 的正交矩阵也是一个旋转矩阵。SO(n) 是特殊正交群(Special Orthogonal Group)的意思,这个集合由n 维空间的旋转矩阵R组成,SO(3) 就是三维空间的旋转了。SE(n) 是变换矩阵T ,它具有比较特别的结构:左上角为旋转矩阵,右侧为平移向量,左下角为0 向量,右下角为1。这种矩阵又称为特殊欧氏群(Special Euclidean Group)
在这里插入图片描述
在这里插入图片描述
我们先来看看变换矩阵T,我们知道T所在的SE(3)空间,对加法计算并不封闭,也就是说任意两个变换矩阵T相加后并不是一个变换矩阵,这主要是因为旋转矩阵R对加法是不封闭造成的,它是有约束的。
李代数就是解决这个不封闭问题的。我们把大写SE(3)空间的T映射为一种叫做李代数的东西,映射后的李代数我们叫做小se(3)好了。它是由向量组成的,我们知道向量是对加法封闭的。这样我们就可以通过对李代数求导来间接的对变换矩阵求导了。

背景:群和李群

群(group)就是一种集合加上一种运算的代数结构。群有几个运算性质,高翔说是“凤姐咬你”,封闭性,结合律,幺元,还有逆
李群的定义是指连续光滑的群,比如我们前面说的旋转矩阵群SO(3),你想象你拿个杯子就可以在空间中以某个支点连续的旋转它,所以SO(3)它就是李群。如果你一般旋转一边移动它,也是连续的或者说光滑的运动,所以变换矩阵群SE(3)也是李群

李群和李代数

结论:李代数对应李群的正切空间,它描述了李群局部的导数
推论一:旋转矩阵的微分是一个反对称(也叫斜对称)矩阵左乘它本身
知识星球《SLAM从零开始学习》课时1——课时8 读书笔记_第4张图片
知识星球《SLAM从零开始学习》课时1——课时8 读书笔记_第5张图片
推论二:指数映射
知识星球《SLAM从零开始学习》课时1——课时8 读书笔记_第6张图片

你只要记得用旋转矩阵表示的话就是李群空间,也是我们熟悉的表示方法。而用向量的反对称矩阵表示的话就是李代数空间,这两个空间建立了联系。

exp()指的是以e为底的指数函数

课时八:相机成像模型

针孔相机成像原理

比如下面这个图,最右上方的那个点在三维空间中,如果以世界坐标系为原点,它的坐标就是Xw,如果以相机坐标系为原点,它的坐标就是Xc,我们可以通过旋转R和平移t来把世界坐标系转换到和相机坐标系重合知识星球《SLAM从零开始学习》课时1——课时8 读书笔记_第7张图片
这个R,t,0,1就是之前我们讲过的变换矩阵T
知识星球《SLAM从零开始学习》课时1——课时8 读书笔记_第8张图片
总结一下整个过程:
1、首先,世界坐标系下有一个三维点Pw
2、若世界坐标系到相机坐标系下的变换为旋转矩阵 R 和平移向量t 组成的变换矩阵 T,那么Pw在相机坐标系下的坐标为 Pc = RPw + t = TPw
3、此时的Pc三个分量分别是X, Y, Z,我们需要把它投影到归一化平面Z=1上,这样我们得到了相机坐标系下Pc的归一化坐标 Pc’ = (X/Z, Y/Z, 1)
4、用内参矩阵乘以归一化坐标就得到了像素坐标 Puv = K*Pc’

相机畸变

畸变产生的原因是:透镜不能完全满足针孔模型假设
径向畸变和切向畸变————
径向畸变:包括桶形畸变和枕形畸变;畸变程度都是从中心开始,用一个半径画圆的话,半径越大,圆周上的畸变程度也越大。这个就是由于相机透镜的形状导致的,且越向透镜边缘移动径向畸变越严重
切向畸变:目前基本已经避免了知识星球《SLAM从零开始学习》课时1——课时8 读书笔记_第9张图片

你可能感兴趣的:(SLAM学习,SLAM,机器人,知识付费,计算机技术的读书笔记10篇,计算机技术的读书笔记10篇,clion,c++)