视觉SLAM十四讲学习笔记-第四讲-李群与李代数基础和定义、指数和对数映射

基础:

在SLAM中的旋转,除了表示之外,我们还要对它们进行估计和优化。因为在SLAM中位姿是未知的,而我们需要解决什么样的相机位姿最符合当前观测数据这样的问题。一种典型的方式是把它构建成一个优化问题,求解最优的R, t,使得误差最小化。旋转矩阵自身是带有约束的(正交且行列式为1)。它们作为优化变量时,会引入额外的约束,使优化变得困难。通过李群——李代数间的转换关系,我们希望把位姿估计变成无约束的优化问题,简化求解方式。

三维旋转矩阵构成了特殊正交群 SO(3),而变换矩阵构成了特殊欧氏群 SE(3)。

旋转矩阵和变换矩阵对加法是不封闭的。换句话说,对于任意两个旋转矩阵 R1, R2,按照矩阵加法的定义,它们的和不再是一个旋转矩阵,对于变换矩阵亦是如此。

这两种矩阵并没有良好定义的加法,相对的,它们只有一种较好的运算:乘法。SO(3) 和SE(3)关于乘法是封闭的: R1R2 ∈ SO(3), T1T2 ∈ SE(3).

乘法对应着旋转或变换的复合——两个旋转矩阵相乘表示做了两次旋转。这种只有一个运算的集合叫做群。

群(Group)是一种集合加上一种运算的代数结构。我们把集合记作A,运算记作 · ,

那么群可以记作 G = (A, ·)。群要求这个运算满足以下几个条件:

1. 封闭性: ∀a1, a2 ∈ A, a1 · a2 ∈ A.

2. 结合律: ∀a1, a2, a3 ∈ A, (a1 · a2) · a3 = a1 · (a2 · a3).

3. 幺元: ∃a0 ∈ A, s.t. ∀a ∈ A, a0 · a = a · a0 = a.

4. 逆: ∀a ∈ A, ∃a−1 ∈ A, s.t. a · a−1 = a0.

可以记作“封结幺逆”,谐音凤姐咬你。

旋转矩阵集合和矩阵乘法构成群,同样变换矩阵和矩阵乘法也构成群。其他常见的群包括整数的加法 (Z, +),去掉0后的有理数的乘法(幺元为 1)(Q\0, ·) 等等。矩阵中常见的群有:

一般线性群 GL(n) 指 n × n 的可逆矩阵,它们对矩阵乘法成群。

特殊正交群 SO(n) 也就是所谓的旋转矩阵群,其中 SO(2) 和 SO(3) 最为常见。

特殊欧氏群 SE(n) 也就是前面提到的 n 维欧氏变换,如 SE(2) 和 SE(3)。

群结构保证了在群上的运算具有良好的性质,而群论则是研究群的各种结构和性质的理论,可以参考任意一本近世代数教材。

李群是指具有连续(光滑)性质的群。像整数群Z那样离散的群没有连续性质,所以不是李群。而SO(n)和SE(n),它们在实数空间上是连续的。直观地想象一个刚体能够连续地在空间中运动,所以它们都是李群。SO(3)和SE(3)对于相机姿态估计尤其重要。

李代数

考虑任意旋转矩阵 R,满足:

假设R是某个相机的旋转,它会随时间连续地变化,即为时间的函数:R(t)。有:

等式两边对时间求导,得到:

整理得:

可以看出:

是一个反对称矩阵。

而叉积引入了∧符号,将一个向量变成了反对称矩阵。同理,对于任意反对称矩阵,我们亦能找到一个与之对应的向量。把这个运算用符号∨表示。如下:

由于

是一个反对称矩阵,我们可以找到一个三维向量 ϕ(t) ∈ R3 与之对应:

等式两边右乘 R(t),由于R为正交阵,有:

每对旋转矩阵求一次导数,只需左乘一个 ϕ(t)∧矩阵(反对称矩阵)即可。

考虑 t0 = 0 时刻,设此时旋转矩阵为 R(0) = I。按照导数定义,可以把R(t) 在 t = 0 附近进行一阶泰勒展开:

ϕ反映了R的导数性质,故称它在SO(3)原点附近的正切空间(Tangent Space)上。

同时在 t0 附近,设ϕ(t0) = ϕ0,有

求解关于R的微分方程,有初始值 R(0) = I,得:

说明在 t = 0 附近,旋转矩阵可以由 exp (ϕ0∧t)计算出来,即旋转矩阵 R 与另一个反对称矩阵 ϕ0∧t 通过指数关系发生了联系。

有两个问题:

1. 给定某时刻的R,我们就能求得一个ϕ,它描述了R在局部的导数关系。ϕ正是对应到 SO(3) 上的李代数so(3);

2. 给定某个向量 ϕ 时,矩阵指数 exp(ϕ∧) 如何计算?反之,给定R时,有无相反的运算来计算 ϕ?这正是李群与李代数间的指数/对数映射,即李代数(ϕ)到李群(R)是指数关系,而李群(R)到李代数(ϕ)是对数关系。

定义

每个李群都有与之对应的李代数。李代数描述了李群的局部性质。李代数由一个集合V,一个数域 F 和一个二元运算 [, ] 组成,满足以下几条性质:

1.封闭性

2.双线性

3.自反性(指自己与自己的运算为零)

4.雅可比等价

其中二元运算被称为李括号。相比于群中的较为简单的二元运算,李括号表达了两个元素的差异。它不要求结合律,而要求元素和自己做李括号之后为零的性质。三维向量R3上定义的叉积×是一种李括号,因此 g=(R3, R, ×) 构成了一个李代数。

李代数so(3)

ϕ是一种李代数。SO(3)对应的李代数是定义在R3上的向量,我们记作ϕ。每个ϕ都可以生成一个反对称矩阵:

在此定义下,两个向量 ϕ1, ϕ2 的李括号为: [ϕ1, ϕ2] = (Φ1Φ2 − Φ2Φ1) ∨

向量ϕ与反对称矩阵是一一对应的,所以就说so(3) 的元素是三维向量或者三维反对称矩阵,不加区别。

李代数是一个由三维向量组成的集合,每个向量对应到一个反对称矩阵,可以用于表达旋转矩阵的导数。 它与 SO(3) 的关系由指数映射给定:

李代数se(3)

与so(3)相似,se(3)位于R6空间中。

把每个se(3)元素记作ξ,它是一个六维向量。前三维为平移,记作ρ;后三维为旋转,记作ϕ,实质上是so(3)元素。同时拓展了∧符号的含义,在se(3)中,同样使用∧符号,将一个六维向量转换成四维矩阵,但这里不再表示反对称。

即仍使用∧和∨符号来指代“从向量到矩阵”和“从矩阵到向量”的关系,以保持和so(3)的一致性。可以简单地把se(3)理解成“由一个平移加上一个so(3)元素构成的向量”。

指数与对数映射

SO(3)上的指数映射

exp(ϕ∧)如何计算?它是一个矩阵的指数,在李群和李代数中,称为指数映射(Exponential Map)。

任意矩阵的指数映射可以写成一个泰勒展开,但是只有在收敛的情况下才会有结果,其结果仍是一个矩阵。

同样地,对so(3)中任意一元素ϕ,也定义它的指数映射:

由于ϕ是三维向量,我定义它的模长和它的方向,分别记作θ和a,于是有 ϕ = θa。这里a是一个长度为1的方向向量。首先,对于a∧,有以下两条性质:

这提供了处理 a∧高阶项的方法。利用这两个性质,可以得到一个式子:

这和罗德里格斯公式如出一辄。

这表明,so(3)实际上就是由旋转向量组成的空间,而指数映射即罗德里格斯公式。通过这,我们把so(3)中任意一个向量对应到了一个位于SO(3)中的旋转矩阵。反之,如果定义对数映射,我们也能把SO(3)中的元素对应到so(3)中。但没必要泰勒展开去计算对数映射,可以根据旋转矩阵计算对应的李代数,利用迹的性质分别求解转角和转轴(分别对应模长θ和方向a)。

指数映射是一个满射,并不是单射。这意味着每个SO(3)中的元素,都可以找到一个so(3)元素与之对应;但是可能存在多个so(3)中的元素,对应到同一个SO(3)。即旋转矩阵可以找到一个旋转向量对应,而多个旋转向量(旋转角有周期性)可以对应同一个旋转矩阵。比如对于旋转角θ,多转360度和没有转是一样的。如果我们把旋转角度固定在±π之间,那么李群和李代数元素是一一对应的。

SO(3)与so(3)的结论和前面讲的旋转向量与旋转矩阵很相似,而指数映射即是罗德里格斯公式。旋转矩阵的导数可以由旋转向量指定,指导着如何在旋转矩阵中进行微积分运算。

SE(3)上的指数映射

se(3) 上的指数映射形式如下:

照着so(3)上的做法推导,把exp进行泰勒展开推导此式,得

该式与罗德里格斯有些相似。平移部分经过指数映射之后,发生了一次以J为系数矩阵的线性变换。

李群、李代数的定义与相互的转换关系,总结如图所示:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《视觉SLAM十四》第三章主要介绍了视觉SLAM中的关键技术——特征提取和描述子。本章首先介绍了特征点的概念和特征点的选择原则。特征点即图像中具有鲁棒性和区分度的点,可以通过对其进行检测和描述来进行特征匹配和跟踪。在进行特征提取时,作者介绍了常见的特征检测算法,如Harris角点检测、SIFT和SURF算法等,并对其进行了比较和分析。 接着,本章详细阐述了特征描述子的概念和作用。特征描述子是对特征点周围区域的图像信息进行编码,以实现特征匹配和跟踪。常见的特征描述子包括SIFT、SURF和ORB等。作者从描述子的表示形式、计算方式和匹配方法等方面进行了介绍,并对它们进行了比较和评价。同时,还提到了基于二进制描述子的方法,如BRIEF、BRISK和FREAK等。 在特征匹配方面,本章介绍了特征描述子匹配的基本原理和流程。以基于特征点的视觉SLAM为例,作者详细解释了特征点的匹配过程,包括特征点的选择、特征点描述子匹配和筛选等步骤。并介绍了如何通过验证特征点的三角化和PnP求解来估计相机的位姿。 此外,本章还介绍了一些特定场景下的特征点选择和提取策略,如动态环境下的特征点追踪和关键帧选择等。 综上所述,《视觉SLAM十四》第三章主要介绍了特征提取和描述子在视觉SLAM中的重要性和应用。通过对特征点的检测和描述,可以实现特征匹配和跟踪,为后续的相机位姿估计和建图提供基础。该章内容详细且通俗易懂,对于学习和理解视觉SLAM有着重要的指导作用。 ### 回答2: 《视觉SLAM十四-Ch3》主要介绍了视觉SLAM(同时定位与建图)技术的基本原理和实现方法。本章主要涵盖了三维几何表示和变换、相机模型和相机姿态以及特征提取与匹配等内容。 首先,本章介绍了三维几何表示和变换的概念。通过介绍欧氏空间中的点、向量和坐标变换,深入解释了相机在三维空间中的位置和朝向的表示方式。同时,引入了齐次坐标和投影矩阵的概念,为后续的相机模型和姿态估计打下了基础。 其次,本章详细解了相机模型和相机姿态的原理与应用。其中,介绍了针孔相机模型,分析了图像坐标和相机坐标之间的映射关系。通过投影矩阵的推导,给出了透视投影和仿射投影的公式,并解释了相机焦距和主点的含义。此外,还介绍了如何通过计算相机的外参矩阵来估计相机的姿态,以及如何将图像坐标转换为相机坐标。 最后,本章介绍了特征提取与匹配的技术。首先,介绍了角点和边缘点的概念,以及如何利用差分和梯度计算来检测图像中的角点和边缘点。然后,介绍了如何通过特征描述符来表示图像中的特征点,并通过特征匹配算法找到两幅图像之间的对应关系。特征提取与匹配是视觉SLAM中非常重要的步骤,对于后续的相机定位和建图至关重要。 综上所述,《视觉SLAM十四-Ch3》通过系统地介绍了视觉SLAM技术的基本概念和实现方法,包括三维几何表示和变换、相机模型和相机姿态的原理与应用,以及特征提取与匹配的技术。这些内容为读者深入理解和掌握SLAM技术提供了很好的基础。 ### 回答3: 视觉SLAM(Simultaneous Localization and Mapping)是一种通过计算机视觉技术,实现机器智能的同时实时定位和地图构建的方法。在《视觉SLAM十四》第三中,主要介绍了视觉SLAM的基本概念和关键技术。 首先,解了视觉SLAM的理论基础,包括自我运动估计和地图构建两个部分。自我运动估计是通过相邻帧之间的视觉信息,计算相机在三维空间中的运动,从而实现机器的实时定位;地图构建是通过对场景中特征点的观测和跟踪,建立起一个三维空间中的地图。这两个过程相互影响,通过不断迭代优化,实现高精度的定位和地图构建。 接着,解了基于特征的视觉SLAM算法。特征提取与描述是建立视觉SLAM系统的关键步骤,通过提取场景中的特征点,并为其生成描述子,来实现特征点的匹配和跟踪。同时,还介绍了一些常用的特征点提取和匹配算法,如FAST、SIFT等。 在SLAM框架方面,本节还介绍了基于视觉的前端和后端优化。前端主要负责实时的特征跟踪和估计相机运动,后端则是通过优化技术,对前端输出的轨迹和地图进行优化求解,从而提高系统的精度和鲁棒性。 最后,本节提到了几个视觉SLAM的应用场景,如自主导航、增强现实等。这些应用对于实时高精度的定位和地图建立都有着很高的要求,因此,视觉SLAM的技术在这些领域有着广泛的应用前景。 总的来说,《视觉SLAM十四》第三视觉SLAM的基本概念和关键技术进行了系统的介绍。理论基础、特征提取与描述、SLAM框架和应用场景等方面的内容都给出了详细的解释和案例,有助于读者更好地理解和应用视觉SLAM技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值