视觉SLAM14讲笔记-第4讲-李群与李代数

李代数的引出:

在优化问题中去解一个旋转矩阵,可能会有一些阻碍,因为它对加法导数不是很友好(旋转矩阵加上一个微小偏移量可能就不是一个旋转矩阵),因为旋转矩阵本身还有一些约束条件,那样再求导的过程中可能会破坏要优化的矩阵是旋转矩阵的本质条件,所以这里引入了一个乘法导数,即本章提到的左扰动或右扰动。

参考文献:https://www.cnblogs.com/dzyBK/p上/13961868.html

上一章我们知道旋转矩阵 构成了特殊正交群 S O ( 3 ) SO(3) SO(3),变换矩阵构成了特殊欧式群 S E ( 3 ) SE(3) SE(3)。

的引出:

这里我们简单叙述不做深入讨论。群是一种集合加上一种运算的代数结构。而李群是一种群,李群是指具有连续(光滑)性质的群,例如特殊正交群 S O ( 3 ) SO(3) SO(3)和特殊欧式群 S E ( 3 ) SE(3) SE(3),每个李群都有对应的李代数。

李代数 的引出:

这里我们简单叙述不做深入讨论。李代数反应了李群的导数(局部)性质,在李群的正切空间上。而李群通过对数映射到李代数,李代数通过指数映射到李群。

经过推导,旋转矩阵对应的李代数就是旋转向量(3维)。变换矩阵对应的李代数是6维向量,平移在前,旋转在后。

使用李代数的一大动机是进行优化,而在优化过程中导数是非常必要的信息。

Baker-Campbell-Hausdorff公式 的引出
l n ( e x p ( ϕ 1 ∧ ) e x p ( ϕ 2 ∧ ) ) ≈ { J l ( ϕ 2 ) − 1 ϕ 1 + ϕ 2 , if ϕ 1 is small J r ( ϕ 1 ) − 1 ϕ 2 + ϕ 1 , if ϕ 2 is small ln(exp(\phi_1^{\wedge})exp(\phi_2^{\wedge})) \approx \begin{cases} J_l(\phi_2)^{-1}\phi_1+\phi_2, & \text{if \\phi_1 is small} \\[2ex] J_r(\phi_1)^{-1}\phi_2+\phi_1, & \text{if \\phi_2 is small} \end{cases} ln(exp(ϕ1∧)exp(ϕ2∧))≈⎩ ⎨ ⎧Jl(ϕ2)−1ϕ1+ϕ2,Jr(ϕ1)−1ϕ2+ϕ1,if ϕ1 is smallif ϕ2 is small

BCH公式可以告诉我们当李代数发生了小量变化,旋转矩阵对应的变化,有利于计算出李代数导数,然而这个公式并不是万能的,用BCH线性近似来对李代数求导仍然有比较复杂的 J r J_r Jr,

所以下面我们使用扰动模型来对李代数求导,推导如下:
∂ ( R p ) ∂ φ = lim ⁡ φ → 0 e x p ( φ ∧ ) e x p ( ϕ ∧ ) p − e x p ( ϕ ∧ ) p φ ≈ lim ⁡ φ → 0 ( 1 + φ ∧ ) e x p ( ϕ ∧ ) p − e x p ( ϕ ∧ ) p φ = lim ⁡ φ → 0 φ ∧ R p φ = lim ⁡ φ → 0 − ( R p ) ∧ φ φ = − ( R p ) ∧ \dfrac{\partial(Rp)}{\partial\varphi} = \lim_{\varphi \to 0} \frac{exp(\varphi^{\wedge})exp(\phi^{\wedge})p-exp(\phi^{\wedge})p}{\varphi} \\ \approx \lim_{\varphi \to 0} \frac{(1+\varphi^{\wedge})exp(\phi^{\wedge})p-exp(\phi^{\wedge})p}{\varphi} \\ = \lim_{\varphi \to 0} \frac{\varphi^{\wedge}Rp}{\varphi} = \lim_{\varphi \to 0} \frac{-(Rp)^{\wedge}\varphi}{\varphi}=-(Rp)^{\wedge} ∂φ∂(Rp)=φ→0limφexp(φ∧)exp(ϕ∧)p−exp(ϕ∧)p≈φ→0limφ(1+φ∧)exp(ϕ∧)p−exp(ϕ∧)p=φ→0limφφ∧Rp=φ→0limφ−(Rp)∧φ=−(Rp)∧

第2行使用到 e x e^x ex的泰勒展开公式。

第3行使用到了公式 a ∧ b = − b ∧ a a^{\wedge}b=-b^{\wedge}a a∧b=−b∧a

同理, S E ( 3 ) SE(3) SE(3)上也有对应的扰动求导公式,这里不展开叙述了。

相似变换群 与李代数(单目视觉)

由于单目的尺度不确定性,如果在单目SLAM中使用SE(3)表示位姿,那么由于尺度不确定性与尺度漂移,整个SLAM过程中的尺度会发生变化,这在 S E ( 3 ) SE(3) SE(3)中未能体现出来。因此,在单目情况下一般会显示地把尺度因子表达出来。用数学语言来说,对于位于空间的点p,在相机坐标系下要经过一个相似变换,而非欧式变换。

与SO(3)与SE(3)相似,相似变换亦对矩阵乘法构成群,称为相似变换群Sim(3)。

Sim(3)也有对应的李代数sim(3),他是一个7维向量 ζ \zeta ζ,它的前6维与se(3)相同,最后多了一项 σ \sigma σ。

写到最后,这一章偏理论,实际在写代码的时候我们会用ceses、g2o等库很方便直接计算出优化后的位姿。所以并不需要自己手动给出李代数的导数。有的话后续再分解。

相关推荐
想成为PhD的小提琴手1 小时前
论文阅读13——基于大语言模型和视觉模态融合的可解释端到端自动驾驶框架:DriveLLM-V的设计与应用
论文阅读·语言模型·自动驾驶
lqqjuly9 小时前
Lidar调试记录Ⅳ之Ubuntu22.04+ROS2+Livox_SDK2环境下编译Livox ROS Driver 2
人工智能·机器人·自动驾驶
BestOrNothing_201510 小时前
运动学模型推导 + 离散化 + 工程化版本(适用于前方单舵轮 AGV / 自动驾驶 / MPC)
自动驾驶·mpc·模型预测控制·运动学模型·转向小车
数据与后端架构提升之路17 小时前
小鹏VLA 2.0的“神秘涌现”:从痛苦到突破,自动驾驶与机器人如何突然“开窍”?
人工智能·机器人·自动驾驶
拓端研究室20 小时前
专题:2025构建全自动驾驶汽车生态系统:中国智能驾驶行业全景研究报告|附80+份报告PDF、数据仪表盘汇总下载
pdf·自动驾驶·汽车
地平线开发者1 天前
不同传感器前中后融合方案简介
算法·自动驾驶
地平线开发者1 天前
征程 6X 常见 kernel panic 问题
算法·自动驾驶
BestOrNothing_20152 天前
MPC模型预测控制原理全解析:从状态预测、矩阵推导到QP求解与滚动优化(含完整手推过程)
自动驾驶·mpc·控制算法·轨迹跟踪·qp二次规划
创客匠人老蒋2 天前
从自动驾驶到智能辅导:人工智能如何重塑商业与生活
人工智能·自动驾驶·生活
Macbethad3 天前
基于世界模型的自动驾驶控制算法
人工智能·机器学习·自动驾驶