#

李群与李代数


李群与李代数

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

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

SO(3)={RR3×3RRT=I,det(R)=1}.SE(3)={T=[Rt0T1]R4×4RSO(3),tR3}.\begin{gathered} S O(3)=\left\{\boldsymbol{R} \in \mathbb{R}^{3 \times 3} \mid \boldsymbol{R} \boldsymbol{R}^{T}=\boldsymbol{I}, \operatorname{det}(\boldsymbol{R})=1\right\} . \\ S E(3)=\left\{T=\left[\begin{array}{cc} \boldsymbol{R} & t \\ \mathbf{0}^{T} & 1 \end{array}\right] \in \mathbb{R}^{4 \times 4} \mid \boldsymbol{R} \in S O(3), t \in \mathbb{R}^{3}\right\} . \end{gathered}

image.png

李群是指具有连续光滑性质的群。每个李群都有对应的李代数

李代数

a=A=[0a3a2a30a1a2a10],A=aa^{\wedge}=A=\left[\begin{array}{ccc} 0 & -a_{3} & a_{2} \\ a_{3} & 0 & -a_{1} \\ -a_{2} & a_{1} & 0 \end{array}\right], \quad A^{\vee}=a

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

R(t)R(t)T=IR ( t ) R ( t ) ^ { T } = I

求导得到:

R˙(t)R(t)T=(R˙(t)R(t)T)T\dot{R} ( t ) R ( t ) ^ { T } = - ( \dot{R} ( t ) R ( t ) ^ { T } ) ^ { T }

我们设:R˙(t)R(t)T=ϕ(t)\dot{R} ( t ) R ( t ) ^ { T } = \phi ( t ) ^ { \wedge }

R˙(t)=ϕ(t)R(t)=[0ϕ3ϕ2ϕ30ϕ1ϕ2ϕ10]R(t).\dot{R}(t)=\phi(t)^{\wedge} R(t)=\left[\begin{array}{ccc} 0 & -\phi_{3} & \phi_{2} \\ \phi_{3} & 0 & -\phi_{1} \\ -\phi_{2} & \phi_{1} & 0 \end{array}\right] R(t) .

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

R(t)R(t0)+R˙(t0)(tt0)=I+ϕ(t0)(tt0)\left. \begin{array} { l } { R ( t ) \approx R ( t _ { 0 } ) + \dot{R} ( t _ { 0 } ) ( t - t _ { 0 } ) } \\ { = I + \phi ( t _ { 0 } ) ^ { \wedge } (t - t _ {0 }) } \end{array} \right.

解微分方程得:

R(t)=exp(ϕ0t)R ( t ) = e x p ( \phi _ { 0 } ^ { \prime } t )

image.png

so(3)={ϕR3,Φ=ϕR3×3}s o ( 3 ) = \{ \phi \in \mathbb{R} ^ { 3 } , \varPhi = \phi ^ { \wedge } \in \mathbb{R} ^ { 3 \times 3 } \}

李括号:

[ϕ1,ϕ2]=(Φ1Φ2Φ2Φ1)V[ \phi _ { 1 } , \phi _ { 2 } ] = ( \varPhi _ { 1 } \varPhi _ { 2 } - \varPhi_ { 2 } \varPhi_ { 1 } ) ^ { V }

se(3)={ξ=[ρϕ]R6,ρR3,ϕso(3),ξ=[ϕρ0T0]R4×4}\mathfrak{s e}(3)=\left\{\xi=\left[\begin{array}{c} \rho \\ \phi \end{array}\right] \in \mathbb{R}^{6}, \rho \in \mathbb{R}^{3}, \phi \in \mathfrak{s o}(3), \xi^{\wedge}=\left[\begin{array}{cc} \phi^{\wedge} & \rho \\ 0^{T} & 0 \end{array}\right] \in \mathbb{R}^{4 \times 4}\right\}

李括号为:

[ξ1,ξ2]=(ξ1ξ2ξ2ξ1)\left[\xi_{1}, \xi_{2}\right]=\left(\xi_{1}^{\wedge} \xi_{2}^{\wedge}-\xi_{2}^{\wedge} \xi_{1}^{\wedge}\right)^{\vee}

根据性质:

{aa=aaTIaaa=a\begin{cases} \left. a^{\land}a^{\land}=aa^T-\boldsymbol{I} \right.\\ a^{\land}a^{\land}a^{\land}=-a^{\land}\\ \end{cases}

得到:

exp(ϕ)=exp(θa)=n=01n!(θa)n=I+θa+12!θ2aa+13!θ3aaa+14!θ4(a)4+=aaTaa+θa+12!θ2aa13!θ3a14!θ4(a)2+=aaT+(θ13!θ3+15!θ5)a(112!θ2+14!θ4)aa=aa+I+sinθacosθaa=(1cosθ)aa+I+sinθa=cosθI+(1cosθ)aaT+sinθa.\begin{aligned} \exp \left(\phi^{\wedge}\right) &=\exp \left(\theta \boldsymbol{a}^{\wedge}\right)=\sum_{n=0}^{\infty} \frac{1}{n !}\left(\theta \boldsymbol{a}^{\wedge}\right)^{n} \\ &=\boldsymbol{I}+\theta \boldsymbol{a}^{\wedge}+\frac{1}{2 !} \theta^{2} \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\frac{1}{3 !} \theta^{3} \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\frac{1}{4 !} \theta^{4}\left(\boldsymbol{a}^{\wedge}\right)^{4}+\ldots \\ &=\boldsymbol{a} \boldsymbol{a}^{T}-\boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\theta \boldsymbol{a}^{\wedge}+\frac{1}{2 !} \theta^{2} \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}-\frac{1}{3 !} \theta^{3} \boldsymbol{a}^{\wedge}-\frac{1}{4 !} \theta^{4}\left(\boldsymbol{a}^{\wedge}\right)^{2}+\ldots \\ &=\boldsymbol{a} \boldsymbol{a}^{T}+\left(\theta-\frac{1}{3 !} \theta^{3}+\frac{1}{5 !} \theta^{5}-\ldots\right) \boldsymbol{a}^{\wedge}-\left(1-\frac{1}{2 !} \theta^{2}+\frac{1}{4 !} \theta^{4}-\ldots\right) \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge} \\ &=\boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\boldsymbol{I}+\sin \theta \boldsymbol{a}^{\wedge}-\cos \theta \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge} \\ &=(1-\cos \theta) \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\boldsymbol{I}+\sin \theta \boldsymbol{a}^{\wedge} \\ &=\cos \theta \boldsymbol{I}+(1-\cos \theta) \boldsymbol{a} \boldsymbol{a}^{T}+\sin \theta \boldsymbol{a}^{\wedge} . \end{aligned}

so(3)\mathfrak{s} \mathfrak{o}(3) 实际上就是由所谓的旋转向量组成的空间,而指数映射即罗德里格斯公式。
通过它们,我们把so(3)\mathfrak{s} \mathfrak{o}(3) 中任意一个向量对应到了一个位于$ SO(3) 中的旋转矩阵。反之,如果定义对数映射,我们也能把中的**旋转矩阵**。反之,如果定义对数映射, 我们也能把 SO(3) 中的元素对应到中的元素对应到\mathfrak{s} \mathfrak{o}(3)$ 中:

ϕ=ln(R)=(n=0(1)nn+1(RI)n+1)\phi=\ln (\boldsymbol{R})^{\vee}=\left(\sum_{n=0}^{\infty} \frac{(-1)^{n}}{n+1}(\boldsymbol{R}-\boldsymbol{I})^{n+1}\right)^{\vee}

旋转矩阵的导数可以由旋转向量指定,指导着 如何在旋转矩阵中进行微积分运算。

se(3)\mathfrak{s} \mathfrak{e}(3) 上的指数映射形式如下:

exp(ξ)=[n=01n!(ϕ)nn=01(n+1)!(ϕ)nρ0T][RJρ0T1]=T.\begin{aligned} \exp \left(\boldsymbol{\xi}^{\wedge}\right) &=\left[\begin{array}{ccc} \sum_{n=0}^{\infty} \frac{1}{n !}\left(\boldsymbol{\phi}^{\wedge}\right)^{n} & \sum_{n=0}^{\infty} \frac{1}{(n+1) !}\left(\boldsymbol{\phi}^{\wedge}\right)^{n} \boldsymbol{\rho} \\ & \mathbf{0}^{T} \end{array}\right] \\ & \triangleq\left[\begin{array}{cc} \boldsymbol{R} & \boldsymbol{J} \boldsymbol{\rho} \\ \mathbf{0}^{T} & 1 \end{array}\right]=\boldsymbol{T} . \end{aligned}

我们设ϕ=θa\phi = \theta \boldsymbol{a}

J=sinθθI+(1sinθθ)aaT+1cosθθa\boldsymbol{J}=\frac{\sin \theta}{\theta} \boldsymbol{I}+\left(1-\frac{\sin \theta}{\theta}\right) \boldsymbol{a} \boldsymbol{a}^{T}+\frac{1-\cos \theta}{\theta} \boldsymbol{a}^{\wedge}

image.png

李代数求导与扰动模型

BCH公式与近似形式

两个李代数指数映射乘积的完整形式,由 Baker-Campbell-Hausdorff 公式(BCH公式)给出。由于它完整的形式较复杂,我们给出它展开式的前几项:

ln(exp(A)exp(B))=A+B+12[A,B]+112[A,[A,B]]112[B,[A,B]]+\ln ( \exp ( A ) \exp ( B ) ) = A + B + \frac { 1 } { 2 } [ A , B ] + \frac { 1 } { 12 } [ A , [ A , B ] ] - \frac { 1 } { 12 } [ B , [ A , B ] ] + \cdots

ϕ1\phi_1ϕ2\phi_2为小量时,小量二次以上的项都可以被忽略掉。此时,BCH 拥有线性近似表达:

ln(exp(ϕ1)exp(ϕ2)){Jl(ϕ2)1ϕ1+ϕ2 if ϕ1 is small Jr(ϕ1)1ϕ2+ϕ1 if ϕ2 is small \ln \left(\exp \left(\phi_{1}^{\wedge}\right) \exp \left(\phi_{2}^{\wedge}\right)\right)^{\vee} \approx\left\{\begin{array}{cc} \boldsymbol{J}_{l}\left(\phi_{2}\right)^{-1} \phi_{1}+\phi_{2} & \text { if } \phi_{1} \text { is small } \\ \boldsymbol{J}_{r}\left(\phi_{1}\right)^{-1} \phi_{2}+\phi_{1} & \text { if } \phi_{2} \text { is small } \end{array}\right.

image.png

image.png

SO(3)SO(3)李代数上的求导

位姿估计相当于是寻找一个最优的$ T$,使得整体误差最小化:

minTJ(T)=i=1NziTpi22\min _ { T } J ( T ) = \sum _ { i = 1 } ^ { N } | | z _ { i } - T p _ { i } | |_2 ^ { 2 }

我们经常会构建与位姿有关的函数,然后讨论该函数关于位姿的导数,以调整当前的估计值。

李代数求导

(Rp)ϕ=(Rp)Jt\frac { \partial ( \boldsymbol{R} p ) } { \partial \phi } = ( - R p ) ^ { \wedge } J _ { t }

扰动模型(左乘)

(Rp)φ=limφ0exp(φ)exp(ϕ)pexp(ϕ)pφlimφ0(1+φ)exp(ϕ)pexp(ϕ)pφ=limφ0φRpφ=limφ0(Rp)φφ=(Rp)\begin{aligned} \frac{\partial(\boldsymbol{R} p)}{\partial \varphi} &=\lim _{\varphi \rightarrow 0} \frac{\exp \left(\varphi^{\wedge}\right) \exp \left(\phi^{\wedge}\right) p-\exp \left(\phi^{\wedge}\right) p}{\varphi} \\ & \approx \lim _{\varphi \rightarrow 0} \frac{\left(1+\varphi^{\wedge}\right) \exp \left(\phi^{\wedge}\right) p-\exp \left(\phi^{\wedge}\right) p}{\varphi} \\ &=\lim _{\varphi \rightarrow 0} \frac{\varphi^{\wedge} \boldsymbol{R} p}{\varphi}=\lim _{\varphi \rightarrow 0} \frac{-(\boldsymbol{R} p)^{\wedge} \varphi}{\varphi}=-(\boldsymbol{R} p)^{\wedge} \end{aligned}

SE(3)SE(3)上的李代数求导

(Tp)δξ=limδξ0exp(δξ)exp(ξ)pexp(ξ)pδξlimδξ0(I+δξ)exp(ξ)pexp(ξ)pδξ=limδξ0δξexp(ξ)pδξ=limδξ0[δϕδρ0T0][Rp+t1]δξ=limδξ0[δϕ(Rp+t)+δρ0]δξ=[I(Rp+t)0T0T](Tp).\begin{aligned} \frac{\partial(\boldsymbol{T} \boldsymbol{p})}{\partial \delta \boldsymbol{\xi}} &=\lim _{\delta \boldsymbol{\xi} \rightarrow 0} \frac{\exp \left(\delta \boldsymbol{\xi}^{\wedge}\right) \exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}-\exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\xi}} \\ & \approx \lim _{\delta \boldsymbol{\xi} \rightarrow 0} \frac{\left(\boldsymbol{I}+\delta \boldsymbol{\xi}^{\wedge}\right) \exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}-\exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\xi}} \\ &=\lim _{\delta \boldsymbol{\xi} \rightarrow 0} \frac{\delta \boldsymbol{\xi}^{\wedge} \exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\xi}} \\ &=\lim _{\delta \boldsymbol{\xi} \rightarrow 0} \frac{\left[\begin{array}{cc} \delta \boldsymbol{\phi}^{\wedge} & \delta \boldsymbol{\rho} \\ \mathbf{0}^{T} & 0 \end{array}\right]\left[\begin{array}{c} \boldsymbol{R} \boldsymbol{p}+\boldsymbol{t} \\ 1 \end{array}\right]}{\delta \boldsymbol{\xi}} \\ &=\lim _{\delta \boldsymbol{\xi} \rightarrow 0} \frac{\left[\begin{array}{cc} \delta \boldsymbol{\phi}^{\wedge}(\boldsymbol{R} \boldsymbol{p}+\boldsymbol{t})+\delta \boldsymbol{\rho} \\ 0 \end{array}\right]}{\delta \boldsymbol{\xi}}=\left[\begin{array}{cc} \boldsymbol{I} & -(\boldsymbol{R} \boldsymbol{p}+\boldsymbol{t})^{\wedge} \\ 0^{T} & \mathbf{0}^{T} \end{array}\right] \triangleq(\boldsymbol{T} \boldsymbol{p})^{\odot} . \end{aligned}


文章作者: 王胜鹏
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 王胜鹏 !
评论
 上一篇
相机模型 相机模型
相机模型 针孔模型和畸变构成了相机的内参数。 针孔相机模型 物体与像的数学模型 像与像素的数学模型 {u=αX′+cx=fxXZ+cxv=βY′+cy=fyYZ+cy\begin{cases} u=\alpha X^{'}+c
2022-01-04
下一篇 
机器学习(八) 机器学习(八)
提升方法 笔记摘要 在PAC(概率近似正确(PAC, Probably approximately correct))学习框架下,一个概念是强可学习的充分必要条件是这个概念是弱可学习的。 提升方法的两个问题 在每一轮如何改变训练数据的
2021-10-30
  目录