精华内容
下载资源
问答
  • Jacobian

    千次阅读 2017-03-21 17:18:58
    1. Jacobian 在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几何中, 代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群, 曲线可以嵌入其中. 它们...

    1. Jacobian

    在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几何中, 代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群, 曲线可以嵌入其中. 它们全部都以数学家卡尔·雅可比(Carl Jacob, 1804年10月4日-1851年2月18日)命名;英文雅可比量”Jacobian”可以发音为[ja ˈko bi ən]或者[ʤə ˈko bi ən].

    雅可比矩阵

    雅可比矩阵的重要性在于它体现了一个可微方程与给出点的最优线性逼近. 因此, 雅可比矩阵类似于多元函数的导数.

    假设F

    RnRm

    是一个从欧式n维空间转换到欧式m维空间的函数. 这个函数由m个实函数组成: y1(x1,…,xn), …, ym(x1,…,xn). 这些函数的偏导数(如果存在)可以组成一个m行n列的矩阵, 这就是所谓的雅可比矩阵:

     

    ⎡⎣⎢⎢⎢⎢∂y1∂x1⋮∂ymx1⋯⋱⋯∂y1∂xn⋮∂ymxn⎤⎦⎥⎥⎥⎥

    此矩阵表示为: JF(x1,…,xn)

    , 或者∂(y1,…,ym)∂(x1,…,xn)

    .

    这个矩阵的第i行是由梯度函数的转置yi(i=1,…,m)表示的.

    如果p

    Rn中的一点,Fp点可微分, 那么在这一点的导数由JF(p)给出(这是求该点导数最简便的方法). 在此情况下, 由F(p)描述的线性算子即接近点pF的最优线性逼近,x逼近于p

    :

    F(x)≈F(p)+JF(p)⋅(xp)

    雅可比行列式

    如果m = n, 那么F

    是从n维空间到n维空间的函数, 且它的雅可比矩阵是一个方块矩阵. 于是我们可以取它的行列式, 称为雅可比行列式.

    在某个给定点的雅可比行列式提供了 在接近该点时的表现的重要信息. 例如, 如果连续可微函数F

    p点的雅可比行列式不是零, 那么它在该点附近具有反函数. 这称为反函数定理. 更进一步, 如果p点的雅可比行列式是正数, 则Fp点的取向不变;如果是负数, 则F的取向相反. 而从雅可比行列式的绝对值, 就可以知道函数Fp

    点的缩放因子;这就是为什么它出现在换元积分法中.

    对于取向问题可以这么理解, 例如一个物体在平面上匀速运动, 如果施加一个正方向的力F

    , 即取向相同, 则加速运动, 类比于速度的导数加速度为正;如果施加一个反方向的力F

    , 即取向相反, 则减速运动, 类比于速度的导数加速度为负.

    2. 海森Hessian矩阵

    在数学中, 海森矩阵(Hessian matrix或Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵, 此函数如下:

     

    f(x1,x2…,xn)

    如果f

    的所有二阶导数都存在, 那么f

    的海森矩阵即:

     

    H(f)ij(x)=DiDjf(x)

    其中x=(x1,x2…,xn)

    , 即H(f)

    为:

     

    ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∂2fx21∂2fx2∂x1⋮∂2fxnx1∂2fx1∂x2∂2fx22⋮∂2fxnx2⋯⋯⋱⋯∂2fx1∂xn∂2fx2∂xn⋮∂2fx2n⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

    (也有人把海森定义为以上矩阵的行列式)海森矩阵被应用于牛顿法解决的大规模优化问题.

    海森矩阵在牛顿法中的应用

    一般来说, 牛顿法主要应用在两个方面, 1, 求方程的根; 2, 最优化.

    1), 求解方程

    并不是所有的方程都有求根公式, 或者求根公式很复杂, 导致求解困难. 利用牛顿法, 可以迭代求解.

    原理是利用泰勒公式, 在x0

    处展开, 且展开到一阶, 即f(x)=f(x0)+(xx0)f′(x0)

    求解方程f(x)=0

    , 即f(x0)+(xx0)f′(x0)=0, 求解x=x1=x0–f(x0)/f′(x0), 因为这是利用泰勒公式的一阶展开, f(x)=f(x0)+(xx0)f′(x0)处并不是完全相等, 而是近似相等, 这里求得的x1并不能让f(x)=0, 只能说f(x1)的值比f(x0)更接近f(x)=0, 于是乎, 迭代求解的想法就很自然了, 可以进而推出xn+1=xnf(xn)/f′(xn), 通过迭代, 这个式子必然在f(x∗)=0

    的时候收敛. 整个过程如下图:

    2), 最优化

    在最优化的问题中, 线性最优化至少可以使用单纯形法(或称不动点算法)求解, 但对于非线性优化问题, 牛顿法提供了一种求解的办法. 假设任务是优化一个目标函数f

    , 求函数f的极大极小问题, 可以转化为求解函数f的导数f′=0的问题, 这样求可以把优化问题看成方程求解问题(f′=0

    ). 剩下的问题就和第一部分提到的牛顿法求解很相似了.

    这次为了求解f′=0

    的根, 把f(x)

    的泰勒展开, 展开到2阶形式:

     

    f(xx)=f(x)+f′(xx+12f′′(xx2

    这个式子是成立的, 当且仅当 Δx

    无限趋近于0时, f(xx)=f(x), 约去这两项, 并对余项式f′(xx+12f”(xx2=0对Δx求导(注:f′(x),f”(x)

    均为常数项. 此时上式等价与:

     

    f′(x)+f′′(xx=0

    求解:

     

    Δx=−f′(xn)f′′(xn)

    得出迭代公式:

     

    xn+1=xnf′(xn)f′′(xn),n=0,1,...

    一般认为牛顿法可以利用到曲线本身的信息, 比梯度下降法更容易收敛(迭代更少次数), 如下图是一个最小化一个目标方程的例子, 红色曲线是利用牛顿法迭代求解, 绿色曲线是利用梯度下降法求解.

    在上面讨论的是2维情况, 高维情况的牛顿迭代公式是:

     

    xn+1=xn−[Hf(xn)]–1∇f(xn),n≥0

    其中H是hessian矩阵, 定义见上. 

    高维情况依然可以用牛顿迭代求解, 但是问题是Hessian矩阵引入的复杂性, 使得牛顿迭代求解的难度大大增加, 但是已经有了解决这个问题的办法就是Quasi-Newton method, 不再直接计算hessian矩阵, 而是每一步的时候使用梯度向量更新hessian矩阵的近似.

    展开全文
  • Jacobian矩阵的理解

    万次阅读 多人点赞 2019-03-31 12:02:28
    学习RNN时看到Jacobian矩阵时我的内心是崩溃的,啥是Jacobian矩阵,怎么活生生就蹦出来一个Jacobian矩阵,说好的bp算法只用求导呢,然后就开始扒Jacobian矩阵的知识,顺便补点数学知识(对不起线代老师啊....

    Jacobian矩阵的理解

    前言

    学习RNN时看到Jacobian矩阵时我的内心是崩溃的,啥是Jacobian矩阵,怎么活生生就蹦出来一个Jacobian矩阵,说好的bp算法只用求导呢,然后就开始扒Jacobian矩阵的知识,顺便补点数学知识(对不起线代老师啊.泪目)

    数学知识强补

    这里数学知识的引用来自:向量/矩阵求导强行补救
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    看到第8条就够了,想看更多的原文链接已经贴在上面了

    Jacobian矩阵的进一步理解

    接着贴?:【数学】对向量的求导和Jacobian矩阵的几何意义与Hessian矩阵
    这篇博文对雅各比矩阵进行了比较详细的解释和补充,但是可能还是有些地方不够详尽,我就根据自己的理解配合博文进行进一步解释

    在这里插入图片描述

    1.首先解释一下这里的符号 Rn-R指的是n元向一元的映射关系。同理,Rn-Rm就是指的n元(x)向m元(y)的映射关系。
    2.所谓的换元变换(坐标变换)指的就是一个空间的基数向另一个空间的基数的映射。说白的就是线性变换

    所以,说到底,雅各比矩阵就是方程组的求导所构成的一个矩阵

    接下来进一步理解 在这里插入图片描述

    第一行是直线近似代替曲线
    这里说的就是一个线性方程组:
    θ1,θ2——x
    θ1,θ2——y
    接着分别求x,y的梯度:
    x,y的梯度求解
    将上述方程组向量化:
    在这里插入图片描述
    然后我们就发现了Jacobian矩阵啊。这里的x相当于前面讲解的y1,y相当于y2,(就是说相当于向量(x,y)对向量(θ1,θ2)求导)。
    这里也就能理解为什么说导数就是线性空间直线的线性变换,或者是导数就是在切空间到切空间之间的线性映射。说白了可以看作是从θ1和θ2微分到x,y微分的映射,映射关系就是向量(x,y)对向量(θ1,θ2)的导数,而这个倒数就是我们说的雅各比矩阵。
    所以,到这里雅各比矩阵的理解就清晰许多了~~(吃完饭接着更)~~
    ——————————————————分割线————————————————————————
    时隔两年,淦!!兄弟们我回来了。我也忘了下面要更啥的,应该是海森Hessian矩阵。既然这么多兄弟再看,所以就把这个坑补上吧(我也自己刚复习了一边上面自己讲的)

    海森Hessian矩阵
    理解玩雅各比矩阵以后hessian矩阵就好说了,无非是再求导而已:
    在这里插入图片描述
    我们可以把Jacobian矩阵看作是一个普通的函数,那么,再对这个函数就一阶导,同理就可以

    在这里插入图片描述

    得到
    在这里插入图片描述
    原谅我打公式实在太难收了,所以直接截图了。大家有问题可以私信联系我

    展开全文
  • 使用 jacobian 的机器人 2arm2D
  • BA Jacobian 矩阵推导

    2019-03-01 10:39:48
    SALM 中BA 算法的 雅可比(Jacobian)矩阵推导 适用于所有SLAM新手,了解雅可比矩阵的原理作用。
  • Jacobian矩阵

    2017-11-13 14:53:14
    Jacobian矩阵 1. Jacobian 在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几何中, 代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群, 曲线可以...

    Jacobian矩阵

    1. Jacobian

    在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几何中, 代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群, 曲线可以嵌入其中. 它们全部都以数学家卡尔·雅可比(Carl Jacob, 1804年10月4日-1851年2月18日)命名;英文雅可比量”Jacobian”可以发音为[ja ˈko bi ən]或者[ʤə ˈko bi ən].

    雅可比矩阵

    雅可比矩阵的重要性在于它体现了一个可微方程与给出点的最优线性逼近. 因此, 雅可比矩阵类似于多元函数的导数.

    雅可比矩阵定义:  雅可比矩阵定义为向量对向量的微分矩阵

    假设\(F\): \({R_n} \to {R_m}\)是一个从欧式n维空间转换到欧式m维空间的函数. 这个函数由m个实函数组成: y1(x1,…,xn), …, ym(x1,…,xn). 这些函数的偏导数(如果存在)可以组成一个m行n列的矩阵, 这就是所谓的雅可比矩阵:

    此矩阵表示为:

     ,或者 

    这个矩阵的第i行是由梯度函数的转置yi(i=1,…,m)表示的.
     如果p是Rn中的一点,Fp点可微分,那么在这一点的导数由JF(p)给出(这是求该点导数最简便的方法)。在此情况下,JF(p)描述的线性算子即接近点pF的最优线性逼近,x逼近于p

    例子

    球坐标系到直角坐标系的转化由F函数给出:R × [0,π] × [0,2π] → R3

    此坐标变换的雅可比矩阵是

    R4的f函数:

    其雅可比矩阵为:


    此例子说明雅可比矩阵不一定为方矩阵。

    在动力系统中

    考虑形为x' = F(x)的动力系统F : Rn → Rn。如果F(x0) = 0,那么x0是一个驻点。系统接近驻点时的表现通常可以从JF(x0)的特征值来决定。

     

    雅可比行列式

    如果m = n, 那么\(F\)是从n维空间到n维空间的函数, 且它的雅可比矩阵是一个方块矩阵. 于是我们可以取它的行列式, 称为雅可比行列式.

    在某个给定点的雅可比行列式提供了 在接近该点时的表现的重要信息. 例如, 如果连续可微函数\(F\)在\({\bf{p}}\)点的雅可比行列式不是零, 那么它在该点附近具有反函数. 这称为反函数定理. 更进一步, 如果\({\bf{p}}\)点的雅可比行列式是正数, 则\(F\)在\({\bf{p}}\)点的取向不变;如果是负数, 则\(F\)的取向相反. 而从雅可比行列式的绝对值, 就可以知道函数\(F\)在\({\bf{p}}\)点的缩放因子;这就是为什么它出现在换元积分法中.

    对于取向问题可以这么理解, 例如一个物体在平面上匀速运动, 如果施加一个正方向的力\(F\), 即取向相同, 则加速运动, 类比于速度的导数加速度为正;如果施加一个反方向的力\(F\), 即取向相反, 则减速运动, 类比于速度的导数加速度为负.

    梯度

    在向量微积分中,标量场的梯度是一个向量场。标量场中某一点上的梯度指向标量场增长最快的方向,梯度的长度是这个最大的变化率。更严格的说,从欧氏空间Rn到R的函数的梯度是在Rn某一点最佳的线性近似。在这个意义上,梯度是雅戈比矩阵的一个特殊情况。

    在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率。

    梯度一词有时用于斜度,也就是一个曲面沿着给定方向的倾斜程度。可以通过取向量梯度和所研究的方向的点积来得到斜度。梯度的数值有时也被称为梯度。

    在二元函数的情形,设函数z=f(x,y)在平面区域D内具有一阶连续偏导数,则对于每一点P(x,y)∈D,都可以定出一个向量

    (δf/x)*i+(δf/y)*j 

    这向量称为函数z=f(x,y)在点P(x,y)的梯度,记作gradf(x,y)

    类似的对三元函数也可以定义一个:(δf/x)*i+(δf/y)*j+(δf/z)*k 记为grad[f(x,y,z)]

    梯度本意是一个向量(矢量),当某一函数在某点处沿着该方向的方向导数取得该点处的最大值,即函数在该点处沿方向变化最快,变化率最大(为该梯度的模)。

    高等数学下册书上有梯度可供参考

    有n维欧式空间的文档在本机的文档里

    偏导数 

    在数学中,一个多变量的函数的偏导数,就是它关于其中一个变量的导数而保持其他变量恒定(相对于全导数,在其中所有变量都允许变化)。偏导数在向量分析和微分几何中是很有用的。

    适用领域范围
        向量分析 
    适用领域范围
        微分几何 
    意    义
        表示固定面上一点的切线斜率

    引入

    一元函数中,我们已经知道 导数就是函数的变化率。对于 二元函数我们同样要研究它的“变化率”。然而,由于 自变量多了一个,情况就要复杂的多。
    在xOy平面内,当动点由P(x0,y0)沿不同方向变化时,函数f(x,y)的变化快慢一般说来是不同的,因此就需要研究f(x,y)在(x0,y0)点处沿不同方向的变化率。
    在这里我们只学习函数f(x,y)沿着 平行于x轴平行于y轴两个特殊方位变动时,f(x,y)的变化率。
    偏导数的表示符号为:∂。
    偏导数反映的是函数沿 坐标轴正方向的变化率。

    定义

    x方向的偏导
    设有二元函数z=f(x,y),点(x0,y0)是其 定义域D内一点.把y固定在y0而让x在x0有增量△x,相应地 
     偏导数
    函数z=f(x,y)有增量(称为对x的偏增量)△z=f(x0+△x,y0)-f(x0,y0)。
    如果△z与△x之比当△x→0时的 极限存在,那么此 极限值称为函数z=f(x,y)在(x0,y0)处对x的偏导数(partial derivative)。记作f'x(x0,y0)。

    求法

    编辑
    当函数z=f(x,y)在(x0,y0)的两个偏导数f'x(x0,y0)与f'y(x0,y0)都存在时, 
     相关书籍
    我们称f(x,y)在(x0,y0)处可导。如果函数f(x,y)在域D的每一点均可导,那么称函数f(x,y)在域D可导。
    此时,对应于域D的每一点(x,y),必有一个对x(对y)的偏导数,因而在域D确定了一个新的二元函数,
    称为f(x,y)对x(对y)的偏导函数。简称偏导数。

    何意义

    编辑
    表示固定面上一点的 切线 斜率 
     相关书籍
    偏导数f'x(x0,y0)表示固定面上一点对x轴的切线斜率;偏导数f'y(x0,y0)表示固定面上一点对y轴的切线斜率。
    高阶偏导数:如果二元函数z=f(x,y)的偏导数f'x(x,y)与f'y(x,y)仍然可导,那么这两个偏导函数的偏导数称为z=f(x,y)的二阶偏导数。
    二元函数的二阶偏导数有四个:f"xx,f"xy,f"yx,f"yy.
    注意:f"xy与f"yx的区别在于:前者是先对x求偏导,然后将所得的偏导函数再对y求偏导;后者是先对y求偏导再对x求偏导.当f"xy与f"yx都连续时, 求导的结果与先后次序无关。

     

     http://blog.163.com/renguangqian@126/blog/static/16240140020142311285550/

    展开全文
  • jacobianlim 发现 jacobian 是一个更精确的限制过程。 jacobianext 使用 Romberg 外推法来确定雅可比。 所有函数都尊重边界,但只有 jacobiansimple 允许精确地在边界上进行评估。 所有都可用于查找简单的导数...
  • Jacobian与切空间

    2021-08-20 14:23:11
    Jacobian与切空间0.引言1.Jaocibian与切空间2.旋转矩阵中的切空间3.MLPnP中的切空间 0.引言 知识的融会贯通,只是一个小的知识点,记录一下。 1.Jaocibian与切空间 众所周知,Jaocibian矩阵本质上就是导数。初中时...

    0.引言

    知识的融会贯通,只是一个小的知识点,记录一下。

    1.Jaocibian与切空间

    众所周知,Jaocibian矩阵本质上就是导数。初中时学习的一元二次方程 a x 2 + b x + c = 0 ax^2+bx+c=0 ax2+bx+c=0求导,当 x x x确定时可以得到 x x x处的切线方程,切线就是一维的切空间。切空间是在某一点所有的切向量组成的线性空间。

    由于线性化本质就是微分, d f / d x df/dx df/dx表示了雅克比矩阵是 f f f x x x的导数,是函数变化的斜率,因此也可类比一元函数的概念理解雅克比矩阵的线性化作用。而与此同时,对于向量空间而言,微分就是以微元为基底,得到的切空间,雅克比矩阵也是一个切空间的坐标变换矩阵。

    J = [ ∂ f ∂ x 1 ⋯ ∂ f ∂ x n ] = [ ∂ f 1 ∂ x 1 ⋯ ∂ f 1 ∂ x n ⋮ ⋱ ⋮ ∂ f m ∂ x 1 ⋯ ∂ f m ∂ x n ] \mathbf{J}=\left[\begin{array}{lll} \frac{\partial \mathbf{f}}{\partial x_{1}} & \cdots & \frac{\partial \mathbf{f}}{\partial x_{n}} \end{array}\right]=\left[\begin{array}{ccc} \frac{\partial f_{1}}{\partial x_{1}} & \cdots & \frac{\partial f_{1}}{\partial x_{n}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_{m}}{\partial x_{1}} & \cdots & \frac{\partial f_{m}}{\partial x_{n}} \end{array}\right] J=[x1fxnf]=x1f1x1fmxnf1xnfm

    和一元二次方程类似,当 x x x确定时,就可以找到具体的切线方程;当具体的点确定时,就可以通过Jacobian得到具体的切空间。

    2.旋转矩阵中的切空间

    在使用旋转矩阵表达三维世界中刚体的运动方式时,我们需要对其进行估计和优化。例如在优化位姿 T T T时,就需要构建一个残差方程,也就是估计值与观测值之间的误差,而此时需要求解残差方程 e e e对变化矩阵 T T T的求导,变成了矩阵求导问题,而且对于变换矩阵是并不封闭的,所谓的不封闭就是两个变换矩阵相加得到的并不是变换矩阵,而不像是实数1加上实数2得到的3仍然是一个实数。

    除此之外,由上面的变换矩阵的定义我们知道,旋转矩阵本身是带有约束的矩阵,也就是旋转矩阵为一个行列式为1的正交矩阵,额外的约束会增加优化的困难,为了简化求解的方式,引入了李群。

    简单的说群就是一种集合加上一种运算的代数结构。虽然旋转矩阵对于加法是不封闭的,但是对于乘法是封闭的,两个旋转矩阵相乘代表做了两次旋转。

    对于旋转矩阵和变换矩阵的群定义如下:
    S O ( 3 ) = { R ∈ R 3 × 3 ∣ R R T = I , det ⁡ ( R ) = 1 } S O(3)=\left\{R \in \mathbb{R}^{3 \times 3} \mid R R^{T}=I, \operatorname{det}(R)=1\right\} SO(3)={RR3×3RRT=I,det(R)=1} S E ( 3 ) = { T = [ R t 0 T 1 ] ∈ R 4 × 4 ∣ R ∈ S O ( 3 ) , T ∈ R 3 } S E(3)=\left\{T=\left[\begin{array}{cc} R & t \\ 0^{T} & 1 \end{array}\right] \in \mathbb{R}^{4 \times 4} \mid R \in S O(3), T \in \mathbb{R}^{3}\right\} SE(3)={T=[R0Tt1]R4×4RSO(3),TR3}
    所谓的李群是指具有连续(光滑)性质的群, S o ( 3 ) So(3) So(3) S E ( 3 ) SE(3) SE(3)在实数空间上都是连续的,所以他们都是李群。到此为止李群的引入解决了变换矩阵额外约束的问题,

    接下来解决矩阵的求导问题。首先对于任意矩阵 R R R,假设 R R R是某个刚体的旋转,它会随着时间连续变换即为时间的函数 R ( t ) R(t) R(t),因此:
    R ( t ) R ( t ) T = I R(t) R(t)^{T}=I R(t)R(t)T=I
    对时间 t t t进行求导,其中 R ^ ( t ) \hat{R}(t) R^(t) 代表函数 R ( t ) R(t) R(t)的导数:

    R ( t ) R ( t ) T + R ( t ) R ( t ) T = 0 R(t) R(t)^{T}+R(t) R(t)^{T}=0 R(t)R(t)T+R(t)R(t)T=0 R ( ^ t ) R ( t ) T = − R ( t ) R ( t ) T = − ( R ( t ) ^ R ( t ) T ) T R \hat{(} t) R(t)^{T}=-R(t) R(t)^{T}=-\left(R \hat{(t)} R(t)^{T}\right)^{T} R(^t)R(t)T=R(t)R(t)T=(R(t)^R(t)T)T显然, R ( ^ t ) R ( t ) T R \hat{(} t) R(t)^{T} R(^t)R(t)T是一个反对称函数。其特征是主对角线上的元素是0,关于主对角线对称的元素互为相反数。因此对于任意反对称矩阵,总能找到一个唯一与之对应的向量。

    a ∧ = A = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] a^{\wedge}=A=\left[\begin{array}{ccc} 0 & -a_{3} & a_{2} \\ a_{3} & 0 & -a_{1} \\ -a_{2} & a_{1} & 0 \end{array}\right] a=A=0a3a2a30a1a2a10因此对于反对称矩阵 R ( t ^ ) R ( t ) T R \hat{(t}) R(t)^{T} R(t^)R(t)T,同样也可以找到一个三维向量 ϕ ( t ) ∈ R 3 \phi(t) \in \mathbb{R}^{3} ϕ(t)R3 ,即:
    R ( t ) R ( t ) T = ϕ ( t ) ∧ R(t) R(t)^{T}=\phi(t)^{\wedge} R(t)R(t)T=ϕ(t)
    等式两边右乘 R ( t ) R(t) R(t),且 R R R为正交矩阵,所以得到:

    R ( t ^ ) = ϕ ( t ) ∧ R ( t ) = [ 0 − ϕ 3 ϕ 2 ϕ 3 0 − ϕ 1 − ϕ 2 ϕ 1 0 ] R ( t ) R \hat{(t})=\phi(t)^{\wedge} R(t)=\left[\begin{array}{ccc} 0 & -\phi_{3} & \phi_{2} \\ \phi_{3} & 0 & -\phi_{1} \\ -\phi_{2} & \phi_{1} & 0 \end{array}\right] R(t) R(t^)=ϕ(t)R(t)=0ϕ3ϕ2ϕ30ϕ1ϕ2ϕ10R(t)
    至此我们就得到了矩阵的导数,每次对旋转矩阵求导只需要左乘 ϕ ( t ) \phi(t) ϕ(t)即可。李代数描述了旋转矩阵 R R R局部的导数关系,也叫正切空间。

    • 通过 ϕ ( t ) \phi(t) ϕ(t)可以映射到正切空间,这里的 ϕ ( t ) ∧ R ( t ) \phi(t)^{\wedge} R(t) ϕ(t)R(t)扮演的就是Jacobian的角色,当数值给定时,就能确定具体的正切空间,即是 R ( t ^ ) R(\hat{t}) R(t^).

    下面给出旋转矩阵和变换矩阵的群所对应的李代数:

    s o ( 3 ) = { ϕ ∈ R 3 , Φ = ϕ ∧ ∈ R 3 × 3 } s o(3)=\left\{\phi \in \mathbb{R}^{3}, \Phi=\phi^{\wedge} \in \mathbb{R}^{3 \times 3}\right\} so(3)={ϕR3,Φ=ϕR3×3} s e ( 3 ) = { ξ = [ ρ ϕ ] ∈ R 6 , ρ ∈ R 3 , ϕ ∈ s o ( 3 ) , ξ ∧ = [ ϕ ∧ ρ 0 T 0 ] ∈ R 4 × 4 } s e(3)=\left\{\xi=\left[\begin{array}{l} \rho \\ \phi \end{array}\right] \in \mathbb{R}^{6}, \rho \in \mathbb{R}^{3}, \phi \in s o(3), \xi^{\wedge}=\left[\begin{array}{cc} \phi^{\wedge} & \rho \\ 0^{T} & 0 \end{array}\right] \in \mathbb{R}^{4 \times 4}\right\} se(3)={ξ=[ρϕ]R6,ρR3,ϕso(3),ξ=[ϕ0Tρ0]R4×4}

    • 引入李群的目的是解决旋转矩阵本身的约束问题,简化后面的优化过程。
    • 引入李代数是为了解决旋转矩阵的求导问题,当然李群和李代数之间也存在指数映射和对数映射的相互转换。

    3.MLPnP中的切空间

    MLPnP中,方位向量转置的零空间:
    J v r ( v ) = null ⁡ ( v T ) = [ r s ] = [ r 1 s 1 r 2 s 2 r 3 s 3 ] \mathbf{J}_{\mathbf{v}_{\mathbf{r}}}(\mathbf{v})=\operatorname{null}\left(\mathbf{v}^{\mathbf{T}}\right)=\left[\begin{array}{ll} \mathbf{r} & \mathbf{s} \end{array}\right]=\left[\begin{array}{cc} r_{1} & s_{1} \\ r_{2} & s_{2} \\ r_{3} & s_{3} \end{array}\right] Jvr(v)=null(vT)=[rs]=r1r2r3s1s2s3

    从零空间的定义,方位向量在零空间的投影为0,即是方位向量与零空间是垂直的,怎么能说零空间是它的切空间呢?

    在这里插入图片描述
    论文中提到, J v r \mathbf{J}_{\mathbf{v}_{r}} Jvr表示了从正切空间到原始向量的变换的雅可比矩阵 , J v r T \mathbf{J}_{\mathbf{v}_{r}}^{T} JvrT表示从原始齐次向量 v v v到其简化后的等价向量 v r v_r vr的变换:

    v r = [ d r d s ] = J v r T ( v ) v = 0 \mathbf{v}_{r}=\left[\begin{array}{l}d r \\ d s\end{array}\right]=\mathbf{J}_{\mathbf{v}_{r}}^{T}(\mathbf{v}) \mathbf{v}=\mathbf{0} vr=[drds]=JvrT(v)v=0

    在这里插入图片描述

    个人理解这里的空间就是零空间,不是切空间, J v r \mathbf{J}_{\mathbf{v}_{r}} Jvr也不是通常意义的Jacobian矩阵,只是一个变换矩阵。 J v r T ( v ) \mathbf{J}_{\mathbf{v}_{r}}^{T}(\mathbf{v}) JvrT(v)表示将方位向量 v v v变换到零空间,再乘以 v v v即为0.

    [ d r d s ] = [ r T s T ] λ i − 1 ( R p i + t ) = 0 \left[\begin{array}{l} d r \\ d s \end{array}\right]=\left[\begin{array}{c} \mathbf{r}^{T} \\ \mathbf{s}^{T} \end{array}\right] \lambda_{i}^{-1}\left(R p_{i}+t\right) = 0 [drds]=[rTsT]λi1(Rpi+t)=0
    其中, [ r T s T ] \left[\begin{array}{l} \mathbf{r}^{T} \\ \mathbf{s}^{T} \end{array}\right] [rTsT]则为从2D像素坐标系经过相机内参求得方位向量再求得的零空间, λ i − 1 ( R p i + t ) \lambda_{i}^{-1}\left(R p_{i}+t\right) λi1(Rpi+t)则为世界坐标系到相机系的变换,理论上两者相乘应为0,但是由于 R R R t t t有误差,因此不为0,则构建出了目标函数。

    展开全文
  • BA Jacobian矩阵推导.pdf

    2019-09-06 11:50:05
    改文件的内容是对机器人领域常用的jacobian矩阵的一个详细的推导的过程
  • First-Estimates Jacobian

    2021-09-08 17:28:55
    EKF-SLAM中不一致性问题 ...为了修正这个问题,提出了First Estimate Jacobian。Inconsistency的原因是,Hk/ΦkH_k /\Phi_kHk​/Φk​计算时采用了不同的线性化状态点。那么,用相同的状态点进行线性化计算Hk/ΦkH_k /\
  • 深度学习数值计算基础之Jacobian矩阵与Hessian矩阵
  • 运动动力学代码库 具有所有功能的代码库旋转矩阵,四元数,Newton-Euler,JacobianJacobian逆等。 适用于6DOF ABB臂的Simulink模型
  • Jacobian, Hessian

    2016-12-24 23:45:19
    Jacobian, Hessian, KL Divergence
  • First Estimate Jacobian (FEJ) 如何理解SLAM中的First Estimate Jacobian First Estimate Jacobian是Visual Inertial中的一个很重要的概念,今天,由泡泡机器人的王京和张腾为大家带来他们的一点思考。欢迎大家在...
  • Jacobian矩阵和Hessian矩阵 转载自:http://jacoxu.com/jacobian%E7%9F%A9%E9%98%B5%E5%92%8Chessian%E7%9F%A9%E9%98%B5/ 目录 Jacobian矩阵和Hessian矩阵 1. Jacobian矩阵 (1)雅可比矩阵 (2)雅可比行列...
  • Matlab - jacobian函数

    万次阅读 多人点赞 2015-09-28 10:20:20
    名称:Jacobian matrix 雅可比矩阵 用法:jacobian(f,v) 描述:jacobian(f,v) computes the Jacobian matrix of with respect to v.
  • test_jacobian.cpp

    万次阅读 2019-12-02 09:48:34
    pr2_jacobian_tests.launch <launch> <arg name="kinect" default="true"/> <!-- send pr2 urdf to param server --> <group if="$(arg kinect)"> <param name="rob...
  • HA Jacobian笔记本( )( ) 1.1 RBC笔记本 暖身。 使用我们的工具熟悉序列空间中的模型求解。 如果您没有Python,请先阅读html版本。 如果这样做,建议您下载代码并直接在计算机上运行Jupyter笔记本。 1.2。 ...
  • 6轴机器人jacobian矩阵

    千次阅读 2018-02-21 22:05:53
    jacobian矩阵 计算出的结果是4*6的矩阵 机器人关节参数和角度值 看之前的文章 程序验证用到matlab 显示的结果与matlab机器人工具箱的结果差大概0.1左右 /*计算机器人jacobian矩阵 *机器人关节参数在文件 param...
  • Matlab Jacobian matrices

    千次阅读 2015-03-19 02:27:45
    jacobian matrices: https://www.youtube.com/watch?v=Bw5yEqwMjQU code for matlab: % matlab script to demonstrate Newton iteration in higher dimensions % the system of nonlinear equation
  • <div><p>did all the work and gave me the magic to get the center and plot the scaled Jacobian [aka det(J)], this was very helpful for me in finding where I had poor mesh quality. <p><code>mesh-...
  • 雅可比矩阵和行列式(Jacobian

    万次阅读 多人点赞 2019-02-15 12:23:26
    1,Jacobian matrix and determinant 在向量微积分学中,雅可比矩阵是向量对应的函数(就是多变量函数,多个变量可以理解为一个向量,因此多变量函数就是向量函数)的一阶偏微分以一定方式排列形成的矩阵。 如果这个...
  • 通过对采用空间算子代数求解的自动铺丝机器人的Jacobian矩阵和采用微分法和矢量叉积方法得出的Jacobian矩阵进行对比t,发现用空间算子代数理论求出的机器人的Jacobian矩阵形式简捷和具有明确的物理意义,并且对于...
  • 数值分析Jacobian迭代

    2020-11-01 21:58:01
    function [X,Number_of_iteration]=Jacobian_iteration(A,B,P,delta,max1) % Input - A is an N x N nonsingular matrix % - B is an N x 1 matrix % - P is an N x 1 matrix: the initial guess % - delta is the ...
  • 梯度向量和Jacobian的关系与计算公式
  • Nevertheless, the performances of reconstructed imaging are badly influenced by different Jacobian magnitudes of absorption coefficient and reduced scattering coefficient. With the introudction of a ...
  • Jacobian和Hessian矩阵

    2018-05-24 21:11:31
    一、Jacobian矩阵 包含偏导数矩阵被称为Jacobian矩阵。f的Jacobian矩阵定义为:。二、Hessian矩阵 Hessian是二阶导数矩阵,定义为:,Hessian矩阵是对称的。 将进行二阶泰勒级数展开: 二阶导数小于0,代表一阶...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,612
精华内容 2,244
关键字:

jacobian