视觉SLAM十四讲解读-(v2.p84)李代数求导

视觉SLAM十四讲解读-(v2.p84)李代数求导

1. 问题背景和目标

在考虑 SO(3)SO(3)SO(3) 上的情况时,对空间点 p\boldsymbol{p}p 进行旋转得到 RpR\boldsymbol{p}Rp,目标是计算旋转之后点的坐标相对于旋转矩阵 RRR 的导数 ∂(Rp)∂R\frac{\partial(R\boldsymbol{p})}{\partial R}∂R∂(Rp)。由于 SO(3)SO(3)SO(3) 没有加法,不能按导数定义直接计算,所以通过将 RRR 对应的李代数记为 ϕ\phiϕ,转而计算 ∂(exp⁡(ϕ∧)p)∂ϕ\frac{\partial(\exp(\phi^{\wedge})\boldsymbol{p})}{\partial \phi}∂ϕ∂(exp(ϕ∧)p)。

2. 根据导数定义展开

按照导数的定义:
∂(exp⁡(ϕ∧)p)∂ϕ=lim⁡δϕ→0exp⁡((ϕ+δϕ)∧)p−exp⁡(ϕ∧)pδϕ\frac{\partial(\exp(\phi^{\wedge})\boldsymbol{p})}{\partial \phi}=\lim_{\delta\phi \to 0}\frac{\exp((\phi + \delta\phi)^{\wedge})\boldsymbol{p}-\exp(\phi^{\wedge})\boldsymbol{p}}{\delta\phi}∂ϕ∂(exp(ϕ∧)p)=limδϕ→0δϕexp((ϕ+δϕ)∧)p−exp(ϕ∧)p

这一步是导数定义的基本应用,分子是函数在 ϕ+δϕ\phi+\delta\phiϕ+δϕ 和 ϕ\phiϕ 处的函数值之差,分母是自变量的增量 δϕ\delta\phiδϕ,通过取极限 δϕ→0\delta\phi\to0δϕ→0 来得到导数。

3. 利用李代数指数映射的性质

根据李代数指数映射的性质 exp⁡((ϕ+δϕ)∧)=exp⁡((Jlδϕ)∧)exp⁡(ϕ∧)\exp((\phi+\delta\phi)^{\wedge})=\exp((J_l\delta\phi)^{\wedge})\exp(\phi^{\wedge})exp((ϕ+δϕ)∧)=exp((Jlδϕ)∧)exp(ϕ∧)(这里 JlJ_lJl 是左雅可比矩阵),则:
lim⁡δϕ→0exp⁡((ϕ+δϕ)∧)exp⁡(ϕ∧)p−exp⁡(ϕ∧)pδϕ=lim⁡δϕ→0exp⁡((Jlδϕ)∧)exp⁡(ϕ∧)p−exp⁡(ϕ∧)pδϕ\lim_{\delta\phi \to 0}\frac{\exp((\phi + \delta\phi)^{\wedge})\exp(\phi^{\wedge})\boldsymbol{p}-\exp(\phi^{\wedge})\boldsymbol{p}}{\delta\phi}=\lim_{\delta\phi \to 0}\frac{\exp((J_l\delta\phi)^{\wedge})\exp(\phi^{\wedge})\boldsymbol{p}-\exp(\phi^{\wedge})\boldsymbol{p}}{\delta\phi}limδϕ→0δϕexp((ϕ+δϕ)∧)exp(ϕ∧)p−exp(ϕ∧)p=limδϕ→0δϕexp((Jlδϕ)∧)exp(ϕ∧)p−exp(ϕ∧)p

此步骤利用了上述指数映射的性质,将 exp⁡((ϕ+δϕ)∧)\exp((\phi+\delta\phi)^{\wedge})exp((ϕ+δϕ)∧) 进行了替换,以便后续化简。

4. 利用近似和单位矩阵性质

当 δϕ\delta\phiδϕ 很小时,exp⁡((Jlδϕ)∧)≈I+(Jlδϕ)∧\exp((J_l\delta\phi)^{\wedge})\approx\boldsymbol{I}+(J_l\delta\phi)^{\wedge}exp((Jlδϕ)∧)≈I+(Jlδϕ)∧(这是指数映射在小量情况下的近似展开),则:
lim⁡δϕ→0(I+(Jlδϕ)∧)exp⁡(ϕ∧)p−exp⁡(ϕ∧)pδϕ\lim_{\delta\phi \to 0}\frac{(\boldsymbol{I}+(J_l\delta\phi)^{\wedge})\exp(\phi^{\wedge})\boldsymbol{p}-\exp(\phi^{\wedge})\boldsymbol{p}}{\delta\phi}limδϕ→0δϕ(I+(Jlδϕ)∧)exp(ϕ∧)p−exp(ϕ∧)p
=lim⁡δϕ→0(Jlδϕ)∧exp⁡(ϕ∧)pδϕ=\lim_{\delta\phi \to 0}\frac{(J_l\delta\phi)^{\wedge}\exp(\phi^{\wedge})\boldsymbol{p}}{\delta\phi}=limδϕ→0δϕ(Jlδϕ)∧exp(ϕ∧)p

这里先将 exp⁡((Jlδϕ)∧)\exp((J_l\delta\phi)^{\wedge})exp((Jlδϕ)∧) 用近似式替换,然后对分子进行化简,Iexp⁡(ϕ∧)p\boldsymbol{I}\exp(\phi^{\wedge})\boldsymbol{p}Iexp(ϕ∧)p 与 −exp⁡(ϕ∧)p-\exp(\phi^{\wedge})\boldsymbol{p}−exp(ϕ∧)p 相消,剩下 (Jlδϕ)∧exp⁡(ϕ∧)p(J_l\delta\phi)^{\wedge}\exp(\phi^{\wedge})\boldsymbol{p}(Jlδϕ)∧exp(ϕ∧)p。

5. 利用反对称矩阵性质

根据反对称矩阵性质 a∧b=−b∧aa^{\wedge}b=-b^{\wedge}aa∧b=−b∧a,则 (Jlδϕ)∧exp⁡(ϕ∧)p=−exp⁡(ϕ∧)p∧Jlδϕ(J_l\delta\phi)^{\wedge}\exp(\phi^{\wedge})\boldsymbol{p}= - \exp(\phi^{\wedge})\boldsymbol{p}^{\wedge}J_l\delta\phi(Jlδϕ)∧exp(ϕ∧)p=−exp(ϕ∧)p∧Jlδϕ,所以:
lim⁡δϕ→0(Jlδϕ)∧exp⁡(ϕ∧)pδϕ=lim⁡δϕ→0−(exp⁡(ϕ∧)p)∧Jlδϕδϕ=−(Rp)∧Jl\lim_{\delta\phi \to 0}\frac{(J_l\delta\phi)^{\wedge}\exp(\phi^{\wedge})\boldsymbol{p}}{\delta\phi}=\lim_{\delta\phi \to 0}\frac{-(\exp(\phi^{\wedge})\boldsymbol{p})^{\wedge}J_l\delta\phi}{\delta\phi}=-(R\boldsymbol{p})^{\wedge}J_llimδϕ→0δϕ(Jlδϕ)∧exp(ϕ∧)p=limδϕ→0δϕ−(exp(ϕ∧)p)∧Jlδϕ=−(Rp)∧Jl

这一步先利用反对称矩阵性质对分子进行变形,然后分子分母中的 δϕ\delta\phiδϕ 在取极限时,δϕδϕ=1\frac{\delta\phi}{\delta\phi}=1δϕδϕ=1,最终得到结果 −(Rp)∧Jl-(R\boldsymbol{p})^{\wedge}J_l−(Rp)∧Jl,其中 R=exp⁡(ϕ∧)R = \exp(\phi^{\wedge})R=exp(ϕ∧)。

综上,通过以上详细推导步骤,得到了 ∂(exp⁡(ϕ∧)p)∂ϕ=−(Rp)∧Jl\frac{\partial(\exp(\phi^{\wedge})\boldsymbol{p})}{\partial \phi}=-(R\boldsymbol{p})^{\wedge}J_l∂ϕ∂(exp(ϕ∧)p)=−(Rp)∧Jl,也就是旋转之后点的坐标相对于旋转李代数的导数表达式。

相关推荐
Charlie_lll4 分钟前
力扣解题-移动零
后端·算法·leetcode
chaser&upper5 分钟前
矩阵革命:在 AtomGit 解码 CANN ops-nn 如何构建 AIGC 的“线性基石”
程序人生·算法
weixin_4997715514 分钟前
C++中的组合模式
开发语言·c++·算法
iAkuya1 小时前
(leetcode)力扣100 62N皇后问题 (普通回溯(使用set存储),位运算回溯)
算法·leetcode·职场和发展
近津薪荼1 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
xiaoye-duck1 小时前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法
c++·算法·stl
松☆1 小时前
CANN与大模型推理:在边缘端高效运行7B参数语言模型的实践指南
人工智能·算法·语言模型
java干货1 小时前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
皮皮哎哟1 小时前
数据结构:嵌入式常用排序与查找算法精讲
数据结构·算法·排序算法·二分查找·快速排序
程序员清洒1 小时前
CANN模型剪枝:从敏感度感知到硬件稀疏加速的全链路压缩实战
算法·机器学习·剪枝