轉載請說明出處: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