0


视觉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等库很方便直接计算出优化后的位姿。所以并不需要自己手动给出李代数的导数。有的话后续再分解。

标签: 自动驾驶

本文转载自: https://blog.csdn.net/windxf/article/details/132557469
版权归原作者 可峰科技 所有, 如有侵权,请联系我们删除。

“视觉SLAM14讲笔记-第4讲-李群与李代数”的评论:

还没有评论