视觉SLAM十四讲解读-(v2.p85)SE(3)上的李代数求导
在这里插入图片描述

1. 问题背景和目标

SE(3)SE(3)SE(3) 上考虑扰动模型,不再介绍直接李代数上的求导。假设空间点 p\boldsymbol{p}p 经过变换 TTT(对应李代数为 ξ\xiξ)得到 TpT\boldsymbol{p}Tp,对 TTT 左乘一个扰动 ΔT=exp⁡(δξ∧)\Delta T=\exp(\delta\xi^{\wedge})ΔT=exp(δξ),设扰动项的李代数为 δξ=[δρ,δϕ]T\delta\xi = [\delta\boldsymbol{\rho}, \delta\boldsymbol{\phi}]^Tδξ=[δρ,δϕ]T,目标是计算 ∂(Tp)∂δξ\frac{\partial(T\boldsymbol{p})}{\partial \delta\xi}δξ(Tp)

2. 根据导数定义展开

按照导数的定义:
∂(Tp)∂δξ=lim⁡δξ→0exp⁡(δξ∧)exp⁡(ξ∧)p−exp⁡(ξ∧)pδξ\frac{\partial(T\boldsymbol{p})}{\partial \delta\xi}=\lim_{\delta\xi \to 0}\frac{\exp(\delta\xi^{\wedge})\exp(\xi^{\wedge})\boldsymbol{p}-\exp(\xi^{\wedge})\boldsymbol{p}}{\delta\xi}δξ(Tp)=limδξ0δξexp(δξ)exp(ξ)pexp(ξ)p
这一步遵循导数定义,分子是函数在有扰动(δξ\delta\xiδξ 不为 0)和无扰动(δξ=0\delta\xi = 0δξ=0)时的函数值之差,分母是扰动李代数的增量 δξ\delta\xiδξ,通过取极限 δξ→0\delta\xi\to0δξ0 来得到导数。

3. 利用近似展开

δξ\delta\xiδξ 很小时,exp⁡(δξ∧)≈I+δξ∧\exp(\delta\xi^{\wedge})\approx\boldsymbol{I}+\delta\xi^{\wedge}exp(δξ)I+δξ,则:
lim⁡δξ→0exp⁡(δξ∧)exp⁡(ξ∧)p−exp⁡(ξ∧)pδξ=lim⁡δξ→0(I+δξ∧)exp⁡(ξ∧)p−exp⁡(ξ∧)pδξ\lim_{\delta\xi \to 0}\frac{\exp(\delta\xi^{\wedge})\exp(\xi^{\wedge})\boldsymbol{p}-\exp(\xi^{\wedge})\boldsymbol{p}}{\delta\xi}=\lim_{\delta\xi \to 0}\frac{(\boldsymbol{I}+\delta\xi^{\wedge})\exp(\xi^{\wedge})\boldsymbol{p}-\exp(\xi^{\wedge})\boldsymbol{p}}{\delta\xi}limδξ0δξexp(δξ)exp(ξ)pexp(ξ)p=limδξ0δξ(I+δξ)exp(ξ)pexp(ξ)p
这里将 exp⁡(δξ∧)\exp(\delta\xi^{\wedge})exp(δξ) 用近似式替换,为后续化简做准备。

4. 化简分子

对分子进行化简:
(I+δξ∧)exp⁡(ξ∧)p−exp⁡(ξ∧)p=δξ∧exp⁡(ξ∧)p(\boldsymbol{I}+\delta\xi^{\wedge})\exp(\xi^{\wedge})\boldsymbol{p}-\exp(\xi^{\wedge})\boldsymbol{p}=\delta\xi^{\wedge}\exp(\xi^{\wedge})\boldsymbol{p}(I+δξ)exp(ξ)pexp(ξ)p=δξexp(ξ)p
所以原式变为:
lim⁡δξ→0δξ∧exp⁡(ξ∧)pδξ\lim_{\delta\xi \to 0}\frac{\delta\xi^{\wedge}\exp(\xi^{\wedge})\boldsymbol{p}}{\delta\xi}limδξ0δξδξexp(ξ)p
这一步通过简单的代数运算,消去了分子中的 Iexp⁡(ξ∧)p\boldsymbol{I}\exp(\xi^{\wedge})\boldsymbol{p}Iexp(ξ)p−exp⁡(ξ∧)p-\exp(\xi^{\wedge})\boldsymbol{p}exp(ξ)p,得到剩余部分。

5. 展开 δξ∧\delta\xi^{\wedge}δξ 和进一步化简

δξ=[δρ,δϕ]T\delta\xi = [\delta\boldsymbol{\rho}, \delta\boldsymbol{\phi}]^Tδξ=[δρ,δϕ]T,则 δξ∧=[δϕ∧δρ0T0]\delta\xi^{\wedge}=\begin{bmatrix}\delta\boldsymbol{\phi}^{\wedge}&\delta\boldsymbol{\rho}\\0^T&0\end{bmatrix}δξ=[δϕ0Tδρ0],设 R=exp⁡(ϕ∧)R = \exp(\boldsymbol{\phi}^{\wedge})R=exp(ϕ)t\boldsymbol{t}t 是平移向量(T=[Rt0T1]T=\begin{bmatrix}R&\boldsymbol{t}\\0^T&1\end{bmatrix}T=[R0Tt1]),exp⁡(ξ∧)p=[Rp+t1]\exp(\xi^{\wedge})\boldsymbol{p}=\begin{bmatrix}R\boldsymbol{p}+\boldsymbol{t}\\1\end{bmatrix}exp(ξ)p=[Rp+t1]
δξ∧exp⁡(ξ∧)p=[δϕ∧δρ0T0][Rp+t1]=[δϕ∧(Rp+t)+δρ0]\delta\xi^{\wedge}\exp(\xi^{\wedge})\boldsymbol{p}=\begin{bmatrix}\delta\boldsymbol{\phi}^{\wedge}&\delta\boldsymbol{\rho}\\0^T&0\end{bmatrix}\begin{bmatrix}R\boldsymbol{p}+\boldsymbol{t}\\1\end{bmatrix}=\begin{bmatrix}\delta\boldsymbol{\phi}^{\wedge}(R\boldsymbol{p}+\boldsymbol{t})+\delta\boldsymbol{\rho}\\0\end{bmatrix}δξexp(ξ)p=[δϕ0Tδρ0][Rp+t1]=[δϕ(Rp+t)+δρ0]
则:
lim⁡δξ→0δξ∧exp⁡(ξ∧)pδξ=lim⁡δξ→0[δϕ∧(Rp+t)+δρ0]δξ\lim_{\delta\xi \to 0}\frac{\delta\xi^{\wedge}\exp(\xi^{\wedge})\boldsymbol{p}}{\delta\xi}=\lim_{\delta\xi \to 0}\frac{\begin{bmatrix}\delta\boldsymbol{\phi}^{\wedge}(R\boldsymbol{p}+\boldsymbol{t})+\delta\boldsymbol{\rho}\\0\end{bmatrix}}{\delta\xi}limδξ0δξδξexp(ξ)p=limδξ0δξ[δϕ(Rp+t)+δρ0]
=lim⁡δξ→0[δϕ∧(Rp+t)+δρ0][δρ,δϕ]T=\lim_{\delta\xi \to 0}\frac{\begin{bmatrix}\delta\boldsymbol{\phi}^{\wedge}(R\boldsymbol{p}+\boldsymbol{t})+\delta\boldsymbol{\rho}\\0\end{bmatrix}}{[\delta\boldsymbol{\rho}, \delta\boldsymbol{\phi}]^T}=limδξ0[δρ,δϕ]T[δϕ(Rp+t)+δρ0]

6. 利用矩阵求导规则和极限运算

根据矩阵求导规则,对于 d[ab]d[xy]=[dadxdadyTdbdxdbdyT]\frac{d\begin{bmatrix}\boldsymbol{a}\\\boldsymbol{b}\end{bmatrix}}{d\begin{bmatrix}\boldsymbol{x}\\\boldsymbol{y}\end{bmatrix}}=\begin{bmatrix}\frac{d\boldsymbol{a}}{d\boldsymbol{x}}&\frac{d\boldsymbol{a}}{d\boldsymbol{y}}^T\\\frac{d\boldsymbol{b}}{d\boldsymbol{x}}&\frac{d\boldsymbol{b}}{d\boldsymbol{y}}^T\end{bmatrix}d[xy]d[ab]=[dxdadxdbdydaTdydbT],这里 a=δϕ∧(Rp+t)+δρ\boldsymbol{a}=\delta\boldsymbol{\phi}^{\wedge}(R\boldsymbol{p}+\boldsymbol{t})+\delta\boldsymbol{\rho}a=δϕ(Rp+t)+δρb=0\boldsymbol{b} = 0b=0x=δρ\boldsymbol{x}=\delta\boldsymbol{\rho}x=δρy=δϕ\boldsymbol{y}=\delta\boldsymbol{\phi}y=δϕ
dadρ=I\frac{d\boldsymbol{a}}{d\boldsymbol{\rho}} = \boldsymbol{I}dρda=Idadϕ=[I−(Rp+t)∧]\frac{d\boldsymbol{a}}{d\boldsymbol{\phi}}=\begin{bmatrix}\boldsymbol{I}&-(R\boldsymbol{p}+\boldsymbol{t})^{\wedge}\end{bmatrix}dϕda=[I(Rp+t)](通过求导运算得到),dbdρ=0\frac{d\boldsymbol{b}}{d\boldsymbol{\rho}} = 0dρdb=0dbdϕ=0\frac{d\boldsymbol{b}}{d\boldsymbol{\phi}} = 0dϕdb=0
所以:
lim⁡δξ→0[δϕ∧(Rp+t)+δρ0][δρ,δϕ]T=[I−(Rp+t)∧0T0T]⊙=(Tp)⊙\lim_{\delta\xi \to 0}\frac{\begin{bmatrix}\delta\boldsymbol{\phi}^{\wedge}(R\boldsymbol{p}+\boldsymbol{t})+\delta\boldsymbol{\rho}\\0\end{bmatrix}}{[\delta\boldsymbol{\rho}, \delta\boldsymbol{\phi}]^T}=\begin{bmatrix}\boldsymbol{I}&-(R\boldsymbol{p}+\boldsymbol{t})^{\wedge}\\0^T&0^T\end{bmatrix}^{\odot}=(T\boldsymbol{p})^{\odot}limδξ0[δρ,δϕ]T[δϕ(Rp+t)+δρ0]=[I0T(Rp+t)0T]=(Tp)
这里最后的结果定义了一个算符 ⊙\odot,它将一个齐次坐标的空间点变换成一个 4×64\times64×6 的矩阵。

综上,通过以上详细推导步骤,得到了在 SE(3)SE(3)SE(3) 扰动模型下 ∂(Tp)∂δξ=(Tp)⊙\frac{\partial(T\boldsymbol{p})}{\partial \delta\xi}=(T\boldsymbol{p})^{\odot}δξ(Tp)=(Tp),即变换之后点的坐标相对于扰动李代数的导数表达式。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐