1.1 Gauss-Newton;LM;Dog-leg;Conjugate Gradient(CG,共轭梯度法)与Preconditional Conjugate Gradiem method(PCG,预优共轭梯度法)
1.2 GN,LM,Dog-leg三种优化方法的分析与对比见链接1 链接2. CG与PCG方法的原理与实现见链接.
1.3 开源VIO算法中VINS用到了Dog-leg. 项目EIBA确认用了PCG,ICE-BA也用了.
2.1 一阶与二阶的定义:
从 cost function开始说,构建error function 之后,就有了cost function. 我们对cost function进行泰勒展开
其中泰勒展开的阶次则对应着一阶和二阶。
2.2 一阶是最速下降方法,有可能收敛慢,不一定准;二阶比较准,不容易奇异Hessien,较慢。GN方法是近似的二阶。
一阶,二阶,GN,LM方法的分析与速度对比见链接.
2.3 优化问题几大要素
- costfunction的构建。
- 初值的选取(一般代数法结果作为初值,然后数值迭代)
- 迭代方向的确定
- 步长的确定(牛顿法是木有的,GN的步长默认为1)
2.4 深度学习优化方法总结见链接.
3.1 线搜索与置信域的解释与说明。
3.2 讨论结论来看,大家一般都可能用直接现成的库,其实内部核心只是配置相关参数而已。
虽然也有很多Demo在做,譬如无监督的端到端的unDeepVO.但是泛化能力一直是一个很难解决的问题,现在得到的反馈都是在数据集上确实能有很好的效果,但将模型运用到自己数据集上并不能得到很好的效果。而且端到端的问题是说有可能是一个黑盒,没有很好的办法去debug。
5.1 BA (Bundle Adjustment)又叫捆集调整,摄影测量学又叫光束法平差,测绘学又叫空三(空中三角测量)。
5.2 多传感器譬如IMU的引入能够减小累计误差,而且IMU与Vision是相辅相成的。Vins-fusion中IMU与视觉是紧耦合的,vio与GPS等等是松耦合的。
5.3 GPS以及回环都是可以减小全局误差的,另外讨论中提到了回环问题,其实也算是Pose Graph问题,它形象上讲是将误差匀一匀,但不一定是均分,使得整体误差最小,因为每个节点对总体误差的贡献程度不一样。