news 2026/8/8 9:17:57

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
视觉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((ϕ+δϕ))pexp(ϕ)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(ϕ)pexp(ϕ)p=limδϕ0δϕexp((Jlδϕ))exp(ϕ)pexp(ϕ)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(ϕ)pexp(ϕ)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}aab=ba,则(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(ϕ)pJlδϕ,所以:
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,也就是旋转之后点的坐标相对于旋转李代数的导数表达式。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 19:10:11

vscode 连接失败

客户端改ip了,vscode连接不是了,报错信息:Add correct host key in C:\\Users\\Administrator/.ssh/known_hosts to get rid of this message. > Offending ED25519 key in C:\\Users\\Administrator/.ssh/known_hosts:34 > Host key f…

作者头像 李华
网站建设 2026/8/7 22:09:47

【Linux系统】初探虚拟地址空间

一、内存空间布局很久之前,我们浅浅谈过内存的空间布局:在这里插入图片描述其中,初始化数据和未初始化数据指的是全局或静态变量。程序的局部变量开辟在栈区,malloc/new等申请的空间是在堆区。堆区和栈区,是相对而生长…

作者头像 李华
网站建设 2026/8/7 15:56:16

vue和springboot框架开发的小程序儿童疫苗接种预约医疗提醒系统_5dq9226p

文章目录具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 同行可拿货,招校园代理 vuespringboot_5dq9226p 框架开发的小程序儿童疫苗接种…

作者头像 李华
网站建设 2026/8/7 22:09:22

C++小程序编写系列(2)

一、核心目标掌握 if-else(条件判断)和 while(循环),实现支持加减乘除的连续计算器。二、上一篇练习精简答案(双向温度转换)#include >#include ip>using namespace std;int main() {doub…

作者头像 李华