SE(3) 上的李代数求导(推导过程)

SE(3) 上的李代数求导(推导过程)

变量基本形式

p p p 是一个三维向量 ,其齐次形式为
p = [ p 1 ] (0) p = \begin{bmatrix} p \\ 1 \end{bmatrix} \tag{0} p=[p1](0)

T T T 是一个变换矩阵,其形式
T = [ R t 0 T 1 ] (1) T = \begin{bmatrix} R & t \\ 0^T & 1 \end{bmatrix} \tag{1} T=[R0Tt1](1)
ξ \xi ξ 是一六维向量 ,其形式为
ξ = [ ρ ϕ ] \xi = \begin{bmatrix} \rho \\ \phi \end{bmatrix} ξ=[ρϕ]
ξ ∧ \xi^\wedge ξ 是 向量 ξ \xi ξ 的反对称矩阵,其形式
ξ ∧ = [ ϕ ∧ ρ 0 T 0 ] (3) \xi^\wedge = \begin{bmatrix} \phi^\wedge & \rho \\ 0^T & 0 \end{bmatrix} \tag{3} ξ=[ϕ0Tρ0](3)
exp ⁡ ( ξ ∧ ) \exp (\xi^\wedge) exp(ξ) 是李代数 ξ \xi ξ 的指数映射,其形式为
exp ⁡ ( ξ ∧ ) [ exp ⁡ ( ϕ ∧ ) J ρ 0 T 1 ] (4) \exp(\xi^\wedge) \begin{bmatrix} \exp(\phi^\wedge) & J\rho \\ 0^T & 1 \end{bmatrix} \tag{4} exp(ξ)[exp(ϕ)0TJρ1](4)

前提假设

假设某空间点 p p p 经过一次变换 T T T (对应的李代数为 ξ \xi ξ ) 得到 T p = exp ⁡ ( ξ ∧ ) p Tp = \exp (\xi^\wedge)p Tp=exp(ξ)p .

现在给 T T T 左乘一个扰动 Δ T = exp ⁡ ( δ ξ ∧ ) \Delta T = \exp(\delta \xi^\wedge) ΔT=exp(δξ) ,设扰动项的李代数为 δ ξ = [ δ ρ   ϕ ] \delta\xi=\begin{bmatrix}\delta\rho \\\ \phi\end{bmatrix} δξ=[δρ ϕ]

公式推导

∂   ( T p ) ∂   δ ξ = lim ⁡ δ ξ → 0 exp ⁡ ( δ ξ ∧ ) exp ⁡ ( ξ ∧ ) p − exp ⁡ ( ξ ∧ ) p δ ξ (5-1) \frac{\partial \ (Tp)}{\partial \ \delta\xi} = \lim_{\delta\xi\rightarrow 0}\frac{\exp(\delta \xi^\wedge)\exp( \xi^\wedge)p-\exp(\xi^\wedge)p}{\delta \xi}\tag{5-1}  δξ (Tp)=δξ0limδξexp(δξ)exp(ξ)pexp(ξ)p(5-1)

( 5 − 1 ) (5-1) (51) :根据导数的定义以及SE(3)的扰动定义(可以将这里的扰动理解为挪动一点点位置,等价于数学上的 + Δ x +\Delta x +Δx) ,具体形式参考《SLAM十四讲》公式,即下图

lim ⁡ δ ξ → 0 exp ⁡ ( δ ξ ∧ ) exp ⁡ ( ξ ∧ ) p − exp ⁡ ( ξ ∧ ) p δ ξ   = lim ⁡ δ ξ → 0 ( I + δ ξ ∧ ) exp ⁡ ( ξ ∧ ) p − exp ⁡ ( ξ ∧ ) p δ ξ (5-2) \lim_{\delta\xi\rightarrow 0}\frac{\exp(\delta \xi^\wedge)\exp( \xi^\wedge)p-\exp(\xi^\wedge)p}{\delta \xi} \\\ =\lim_{\delta\xi\rightarrow 0}\frac{(I + \delta \xi^\wedge)\exp( \xi^\wedge)p-\exp(\xi^\wedge)p}{\delta \xi} \tag{5-2} δξ0limδξexp(δξ)exp(ξ)pexp(ξ)p =δξ0limδξ(I+δξ)exp(ξ)pexp(ξ)p(5-2)
( 5 − 2 ) (5-2) (52) :对 exp ⁡ ( δ ξ ∧ ) \exp(\delta \xi^\wedge) exp(δξ) 应用一阶泰勒展开即可,参考 e x ≈ 1 + x + o ( x 2 ) e^x \approx 1 + x + o(x^2) ex1+x+o(x2)
lim ⁡ δ ξ → 0 ( I + δ ξ ∧ ) exp ⁡ ( ξ ∧ ) p − exp ⁡ ( ξ ∧ ) p δ ξ = lim ⁡ δ ξ → 0 δ ξ ∧ exp ⁡ ( ξ ∧ ) p δ ξ (5-3) \lim_{\delta\xi\rightarrow 0}\frac{(I + \delta \xi^\wedge)\exp( \xi^\wedge)p-\exp(\xi^\wedge)p}{\delta \xi}=\\ \lim_{\delta\xi\rightarrow 0}\frac{\delta \xi^\wedge\exp( \xi^\wedge)p}{\delta \xi} \tag{5-3} δξ0limδξ(I+δξ)exp(ξ)pexp(ξ)p=δξ0limδξδξexp(ξ)p(5-3)
( 5 − 3 ) (5-3) (53) :略(不解释)
lim ⁡ δ ξ → 0 δ ξ ∧ exp ⁡ ( ξ ∧ ) p δ ξ   = lim ⁡ δ ξ → 0 [ δ ϕ ∧ δ ρ 0 T 0 ] [ R p + t 1 ] δ ξ = lim ⁡ δ ξ → 0 [ δ ϕ ∧ ( R p + t ) + δ ρ 0 ] δ ξ (5-4) \lim_{\delta\xi\rightarrow 0}\frac{\delta \xi^\wedge\exp( \xi^\wedge)p}{\delta \xi}\\\ = \lim_{\delta\xi\rightarrow 0}\frac{ \begin{bmatrix} \delta\phi^\wedge & \delta\rho \\ 0^T & 0 \end{bmatrix} \begin{bmatrix} Rp+t \\ 1 \end{bmatrix} }{\delta \xi} \\ = \lim_{\delta\xi\rightarrow 0}\frac{ \begin{bmatrix} \delta\phi^\wedge(Rp+t)+\delta\rho\\ 0 \end{bmatrix} }{\delta \xi} \tag{5-4} δξ0limδξδξexp(ξ)p =δξ0limδξ[δϕ0Tδρ0][Rp+t1]=δξ0limδξ[δϕ(Rp+t)+δρ0](5-4)
( 5 − 4 ) (5-4) (54) :结合前提假设中的 T p = exp ⁡ ( ξ ∧ ) p Tp = \exp (\xi^\wedge)p Tp=exp(ξ)p ,应用矩阵乘法即可得到
[ R p + t 1 ] \begin{bmatrix} Rp+t \\ 1 \end{bmatrix} [Rp+t1]

依据式 ( 3 ) (3) (3) 即可得到
[ δ ϕ ∧ δ ρ 0 T 0 ] \begin{bmatrix} \delta\phi^\wedge & \delta\rho \\ 0^T & 0 \end{bmatrix} [δϕ0Tδρ0] ,将两矩阵相乘即可
lim ⁡ δ ξ → 0 [ δ ϕ ∧ ( R p + t ) + δ ρ 0 ] δ ξ = lim ⁡ δ ξ → 0 [ δ ρ − ( R p + t ) ∧ δ ϕ 0 ] δ ξ (5-5) \lim_{\delta\xi\rightarrow 0}\frac{ \begin{bmatrix} \delta\phi^\wedge(Rp+t)+\delta\rho\\ 0 \end{bmatrix} }{\delta \xi} \\ = \lim_{\delta\xi\rightarrow 0}\frac{ \begin{bmatrix} \delta\rho - (Rp+t)^\wedge\delta\phi\\ 0 \end{bmatrix} }{\delta \xi} \tag{5-5} δξ0limδξ[δϕ(Rp+t)+δρ0]=δξ0limδξ[δρ(Rp+t)δϕ0](5-5)
( 5 − 5 ) (5-5) (55) :将 符号 ∧ \wedge 看作 向量的 × \times × 积符号 ,将 × \times × 积符号前后交换位置后需要进行变号,也即
A × B = − B × A A\times B=-B \times A A×B=B×A

用定义法求解向量对向量求导

参考机器学习中的矩阵向量求导(二) 矩阵向量求导之定义法

先来一个简单的例子: y = A x y=Ax y=Ax,其中 A A A n × m n×m n×m的矩阵。 x , y x,y x,y分别为 m , n m,n m,n维向量。需要求导 ∂ A x ∂ x \frac{∂Ax}{∂x} xAx , 根据定义,结果应该是一个 n × m n×m n×m 的矩阵.

先求矩阵的第 i i i 行和向量的内积对向量的第 j j j 分量求导,用定义法求解过程如下:
∂ A i x ∂ x j = ∂ A i j x j ∂ x j = A i j \frac{∂A_ix}{∂x_j}=\frac{∂A_{ij}x_j}{∂x_j}=A_{ij} xjAix=xjAijxj=Aij
可见矩阵 A A A 的第 i i i 行和向量的内积对向量的第 j j j 分量求导的结果就是矩阵 A A A ( i , j ) (i,j) (i,j)位置的值。
lim ⁡ δ ξ → 0 [ δ ρ − ( R p + t ) ∧ δ ϕ 0 ] δ ξ = lim ⁡ δ ξ → 0 [ δ ρ − ( R p + t ) ∧ δ ϕ 0 ] δ [ ρ ϕ ] = [ I − ( R p + t ) ∧ 0 T 0 ] (5-6) \lim_{\delta\xi\rightarrow 0}\frac{ \begin{bmatrix} \delta\rho - (Rp+t)^\wedge\delta\phi\\ 0 \end{bmatrix} }{\delta \xi}\\ = \lim_{\delta\xi\rightarrow 0}\frac{ \begin{bmatrix} \delta\rho - (Rp+t)^\wedge\delta\phi\\ 0 \end{bmatrix} }{\delta\begin{bmatrix} \rho \\ \phi \end{bmatrix}}\\ = \begin{bmatrix} I & -(Rp+t)^\wedge \\ 0^T & 0 \end{bmatrix} \tag{5-6} δξ0limδξ[δρ(Rp+t)δϕ0]=δξ0limδ[ρϕ][δρ(Rp+t)δϕ0]=[I0T(Rp+t)0](5-6)
( 5 − 6 ) (5-6) (56) 根据上面提到的用 定义法求解向量对向量求导 即可得到结果。

[参考]:

  1. 机器学习中的矩阵向量求导(二) 矩阵向量求导之定义法
  2. 《SLAM十四讲》

End…

你可能感兴趣的:(SLAM基础知识学习,线性代数,矩阵,几何学)