BA知识总结
1.什么是标准的BA?
在刘博士的讲解下,我个人总结的大白话是:把相机位姿的优化和特征点的优化都表示为重投影的误差,求解误差和最小时的相机位姿以及特征点坐标。
2.什么是线性最小二乘?
已知直线y=Ax+b,取其二范数
打开二范数(不要问我为什么这么展开,找规律就行)
这里要强调的是展开后的三项分别为x的二次项,一次项和常数项,因为要求最小值,需要对x求导让导数为0,求得x*
3.什么是非线性最小二乘?
函数的形式不一定是直线,可以是任何形式。
老虑到y的形式,我们采用迭代的方式逐渐逼近x的值,此处我们做一个假设,假设一个很小的δx=x1-x,即δx为第一次初始化x1与想x*的差值
现在想仿照线性最小二乘的形式,将非线性函数用近似的直线形式表示为
其中J为Jacobian矩阵
非线性函数也用类似直线的形式表示后,展开二范数
对δx求导,解出δx1值,取x2=x1+δx1,继续求新的δx,经过多次迭代求得x*
再求x*的过程中,有四个比较重要的概念
①Jacobian矩阵
②Hessian矩阵
③normal equation
知道了通过迭代逼近的方法求解,那么到底应该如何求δx呢?
举个例子,假设一共有3个相机,4个特征点,并且规定每一个点对于任何一个相机都是可使的,说白了就是任何一个相机都可以看到4个特征点,对于这个normal equation
其中Jacobian由三个相机和四个特征点组成
由于四个点对每个相机都是可见的,因此,每一个相机所看到的特征点都要有一组初始化的重投影结果,这样的话,初始化的相机与特征点的对应状态12组重投影结果,所以ε的维度是3*4=12