转载请说明出处:http://blog.csdn.net/zhubaohua_bupt/article/details/74973347算法
在VSLAM优化部分,咱们屡次谈到,构建一个关于待优化位姿的偏差函数函数
(直接法:灰度偏差 ;特征点法:重投影偏差),优化
当待优化的位姿使这个偏差函数最小时(当SLAM运动不是太剧烈时,偏差函数知足单峰性),认为此时位姿最精确。spa
若是这个偏差函数是线性,并且已知解析式的,很容易经过求导,令导数=0,求极值解决问题。.net
然而,偏差函数是关于待优化位姿的一个非线性多元函数,怎么求使这个偏差函数最小的位姿呢?blog
实际上,这是一个非线性无约束最优化问题,在目前主流的VSLAM(好比ORB,SVO,LSD)里,get
采用的优化算法主要有两种:原理
一种是高斯牛顿(Gauss Newton)算法,另外一种是列文伯格-马夸尔特(Levenberg-Marquardt)算法,简称LM算法。im
下面咱们详细探讨一下,高斯牛顿和LM算法的原理以及在VSLAM中的应用。margin
首先,最小二乘是要解决什么问题?
![]()
1.2 非线性最小二乘问题
![]()
迭代过程以下图所示:
1.2.1 高斯牛顿法
![]()
1.2.2 LM算法
http://blog.csdn.net/zhubaohua_bupt/article/details/74011005