一、前言
该篇博客主要讲解→雅可比矩阵定义、推导、以及其应用,并且有相应的示例解读
雅可比在函数行列式方面有一篇著名的论文:《论行列式的形成与性质》(1841)。文中求出了函数行列式的导数公式;还利用函数行列式作工具证明了,函数之间相关或无关的条件是雅克比行列式等于零或不等于零。他又给出了雅可比行列式的乘积定理。
在该论文中针对元函数的相关性,提出了所谓的雅可比行列式,如果这个行列式不为 0 ,则这些函数是独立的。因此,他提出的也叫函数行列式。虽然他没有单独提出雅克比矩阵,但是等到后来有了矩阵的概念,人们还是将其称为雅可比矩阵。雅可比行列式是坐标变换理论的基础之一,在数学分析隐函数理论中发挥着重要作用。雅克比矩阵定义如下所示:



那么这个矩阵是如何来的,又有什么作用呢?不要着急,下面就来一一分析。


二、基本理论
1、初步了解



这些函数的偏导数(如果存在)可以组成一个m mm 行 n nn 列的矩阵,这个矩阵就是所谓的雅可比矩阵,如下所示:



上述公式可以与泰勒展开进行拟比,下面进行一个深层次的理解。
2、深度解析
若在 n维欧式空间中的一个向量映射成 m维欧式空间中的另一个向量的对应法则为 F,F由 m个实函数组成,即:



那么雅可比矩阵是一个m×n 矩阵:





即可的(Δy 与Δx 都是n维空间的向量):



其中



将上述向量写成基于正交的单位向量的形式:



行列式的绝对值表示微元的体积,左侧行列式一定为正,体积不可能为负,右侧行列式加绝对值



将公共因数提出



即,此微元的体积为:



三、应用示例→牛顿迭代法
1、一元数量函数




切线方程为:



该方法的迭代过程如下图所示,实际操作中对初始值是有一定要求的,简而言之需要初始值在实际根附近。


2、多元数量函数




3、多元向量值函数



计算F(x)=0 的根,稍微一想,你会发现这个其实是在求解一个方程组的解,这里的方程一般来说是非线性的,当然也可以包括特例,线性方程组。如果是线性方程组,一般能一步到位,但如果是非线性的,往往不能一步到位,那就用迭代法一步一步逼近。假设xk在根附近,该点处函数泰勒一级展开(或者说函数的仿射变换)为:



如果n=m,此时牛顿法的迭代公式为,



这里所谓的迭代式求根方法的主要思路就是从当前的近似解如何得到更近似的解。牛顿法就是利用函数局部的仿射逼近来一步一步逼近根。当然,具体实施中还需要处理初始值等一些细节问题。


四、应用示例→Bundle Adjustment
1、Gauss-Newton 非线性优化方法

对于一个函数f(x),要求其最小值以及最小值对应的x_,如果优化问题不方便直接求解,那么通常采用 ‘‘迭代’’ 思想进行求解。即:从一个初始值出发,不断更新当前的优化量,使目标函数值降低,直到优化量的增量足够小或者目标函数值达到要求。其中,使用这种迭代思想的 “Gauss-Newton法” 应用十分广泛。接下来,对高斯牛顿法的基本思想进行简单阐述和数学推导:



其中J(x) 是f(x)关于 x的一阶偏导,也就是前面讲解的雅克比矩阵。根据迭代思想可知→在是为了找到 f(x) 的下降方向Δx 使得函数值逐步达到最小值,因此可以构建一个关于Δx 的非线性化最小二乘问题:




_*2、Bundle Adjustment__


对于SLAM,待优化的量包括:位姿和空间点3D位置。如果采用 ‘‘线性’’ 求解,通常先求解位姿,再根据位姿来求解空间点的3D位置;如果采用“非线性法”,比如Gauss-Newton法,通常是将位姿和空间点位置构成统一的状态空间,进行联合优化。


注意: 世界系→相机系→像素系的转换过程一定要注意矩阵的维度,会涉及很多坐标的齐次化处理,如果公式中有维度的问题,就是没有将坐标齐次化处理展示,为避免造成误导,特此说明。通过李群李代数(后续补充相关章节)的学习,可知:





在基于特征法的SLAM中,通过ORB匹配或者光流跟踪,可以得到两帧间的像素匹配对。Bundle Adjustment 的思想就是通过特征匹配可以得到两帧间的像素匹配对的观测值;同时利用估计位姿将前帧像素点投影到后帧上得到像素点的估计值。如前面的图像所示,红点p2是通过光流(或其它方式)得到p1在当前帧上匹配对,也就是p1的观测值;黑色p2是通过估计位姿得到的估计值。因为估计位姿极有可能不准确,所以黑色p2和红色p2会有一定的差距,即观测值 != 估计值。那么就需要不断调整估计位姿 ξ∧使得观测值和估计值的差距无线接近0。用数学语言描述为:



3、重投影误差模型的雅克比矩阵




所以:



由李群李代数的扰动模型可知:



但是只取前三行



最终可得:



如果需要将位姿和3D空间位置坐标进行联合优化,则还需要求解:



至此,雅克比矩阵推导完毕。另外如果 se(3) 的定义方式是旋转在前,平移在后时,只要把这个(45)式矩阵的前三列与后三列对调即可。

五、结语
雅可比矩阵是一条比较好的能够将多个内容串起来的线索。简单来看,它能将矩阵、仿射变换、行列式、特征值特征向量、导数、泰勒展开、微分方程组、方程求根、最优化甚至流形及其上的度量张量等等内容有机地牵扯起来。总而言之,雅可比矩阵的应用十分广,后续有时间再为大家更新一些应用示例