笔记:李群与李代数求导

最近一段时间在推$Jacobian$,会用到一些关于李代数求导的知识。参考高博《视觉slam十四讲》一书,在此总结一些常用的关于李群与李代数相关的知识点。

前言

在SLAM中位姿是未知的,而我们需要解决什么样的相机位姿最符合当前观测数据这样的问题。一种典型的方式是把它构建成一个优化问题,求解最优的$R$,$t$,使得误差最小化。
旋转矩阵自身是带有约束的(正交且行列式为 1)。它们作为优化变量时,会引入额外的约束,使优化变得困难。通过李群——李代数间的转换关系,我们希望把位姿估计变成无约束的优化问题,简化求解方式。群(Group)是一种集合加上一种运算的代数结构,李群是指具有连续(光滑)性质的群,李群在相机姿态估计时具有重要意义,接下来主要讨论特殊正交群$SO(n)$与特殊欧式群$SE(n)$。

特殊正交群与特殊欧式群

在李群中,我们使用矩阵来表达一个旋转和平移,这存在冗余的自由度。三维空间的旋转只有三自由度,旋转+平移有六自由度。因此,我们希望寻找一个没有冗余自由度(但是相应的存在奇异性)的表示,也就是李代数$\mathfrak{so}(3)$和$\mathfrak{se}(3)$。且无论是旋转还是变换矩阵,它们都是对加法不封闭的,但是对乘法是封闭的。

李代数的引出

对于任意旋转矩阵$R$,它必定满足:

考虑它随时间发生变化,即从$\mathbf{R}$变为$\mathbf{R(t)}$,它仍然满足如下如下等式:

对两侧同时对时间求导数得:

则有:

可见$\mathbf{\dot{R}} (t) \mathbf{R} {(t)^T}$是一个反对称矩阵,将其记作$\mathbf{A}$,于是$\mathbf{A}^T=-\mathbf{A}$,所以它主对角线元素必为,而非对角线元素则只有三个自由度。我们一定可以找到一个这样的向量$\mathbf{a}=[a_1, a_2, a_3]^T$使得:

其中$^{\wedge}$符号表示由向量转换为矩阵,反之我们也可以用$^{\vee}$符号定义由矩阵转换为向量的方式:

现在,由于$\mathbf{\dot{R}} (t) \mathbf{R} {(t)^T}$是一个反对称矩阵,所以我们一定可以找到一个三维向量$\mathbf{\phi} (t) \in \mathbb{R}^3$与之对应。于是我们有:

左右各右乘$\mathbf{R}(t)$,由于其正交性,有:

可以看到,每对旋转矩阵求一次导数,只需左乘一个矩阵$\mathbf{\phi} (t)^{\wedge}$即可。由于$\mathbf{\phi} (t)^{\wedge}$反映了的导数性质,故称它在的正切空间(tangent space)上。同时在$t_0$附近,设$\mathbf{\phi}$保持为常数$\mathbf{\phi}(t_0)=\mathbf{\phi}_0$,我们有:

又因为初始值$\mathbf{ R } (0) = \mathbf{I} $对上式进行求解可得:

上式描述$\mathbf{R}$在局部的导数关系。

李代数 $\mathfrak{so}(3)$

上文提及的$\mathbf{\phi}$是一种李代数,$SO(3)$对应的李代数是定义在$\mathbb{R}^3$上的向量,我们记作$\mathbf{\phi}$,它 对应与一个反对称矩阵:

由于它与反对称矩阵关系很紧密,在不引起歧义的情况下,就说的元素是3维向量或者3维反对称矩阵,不加区别:

李代数 $\mathfrak{se}(3)$

$SE(3)$对应的李代数为$\mathfrak{se}(3)$,$\mathfrak{se}(3)$定义在$\mathbb{R}^{6}$空间,其具体形式如下:

$\mathfrak{se}(3)$是一个这样的六维向量,前三维表示平移,记作$\mathbf{\rho}$;后三维表示旋转,记作$\mathbf{\phi}$(有时候这两个参数会反过来,可也可以的)。

指数映射

$\mathfrak{so}(3)$以及$\mathfrak{se}(3)$的指数映射分别对应于$SO(3)$以及$SE(3)$,它们之间的转换关系可以由下图表示:

李代数求导

对旋转矩阵李代数求导

对$\mathbf{R}$进行一次扰动$\Delta \mathbf{R}$,假设左扰动$\Delta \mathbf{R}$对应的李代数为$ {\boldsymbol \varphi}$,对$ {\boldsymbol \varphi}$求导,得到:

变换转矩阵李代数求导

假设空间点${\boldsymbol p}$经过一次变换${\boldsymbol T}$(对应的李代数为${\boldsymbol \xi}$)后变为 ${\boldsymbol Tp}$ 。当给${\boldsymbol T}$左乘一个扰动$\Delta {\boldsymbol T} = \exp (\delta {\boldsymbol \xi}^{\land})$,设扰动项的李代数为$\delta {\boldsymbol \xi} = [\delta {\boldsymbol \rho}, \delta {\boldsymbol \phi}]^{T}$,有:

上式中运算符号$\bigodot$的含义:将一个齐次坐标的空间点变换成一个$4 \times 6$的矩阵。

补充

$SE(3)$左扰

$SE(3)$右扰