五、视觉SLAM所需基本知识——优化方法

  优化方法主要是用来求解优化的问题,也就是给定一个目标函数,通过迭代的方法使得目标函数的值最小,此时自变量的值即为我们想要求得的值。

  优化的迭代过程实际上是选择一个下降方向和一个下降的步长,使损失函数值一直减小的过程,根据下降方向和下降步长选择的不同就产生了不同的优化方法。下降方向可以根据一阶或者二阶导数来选择,其中一阶和二阶的主要区别是迭代时使用的是雅可比矩阵还是海森矩阵,若使用雅可比则为一阶,若使用海森矩阵则为二阶。下降步长可以使用定长,也可以使用搜索的方法,这其中也包括精确线搜索和非精确线搜索。

①一阶优化方法

  一阶优化方法最具有代表性的是梯度下降法,该方法以梯度的反方向作为迭代的方向,再确定一个步长,这样一直进行迭代。

  梯度下降法的优点是计算简单、对初值不敏感,缺点是由于贪心的策略可能会出现 Z Z Z字型的下降曲线甚至不收敛,其次是只考虑一阶信息,收敛速度慢。

②二阶优化方法

  二阶方法使用了二阶导数,也就是海森矩阵,以牛顿法为例,它的步骤首先是对目标函数进行泰勒展开,保留其一阶和二阶导数信息,然后对其求导使得其导数为0,可以求得 H Δ x = − J T H\Delta x=-J^T HΔx=JT,以此来获得迭代方向和步长。

  该二阶方法的优点是收敛速度快,缺点是泰勒展开只再接近最优值处有效,因此对初值较为敏感,其次海森矩阵的逆计算比较麻烦,占用资源。

③拟二阶算法

  由于二阶算法需要求解海森矩阵的逆,计算量太大,所以希望能够通过一阶的导数信息来近似二阶导数信息,在加快收敛速度(相对一阶)的同时减少计算量(相对二阶)。

  高斯牛顿法:对目标函数进行一阶近似,带入原方程后进行展开求导,最后得到的迭代方程为: H ( x k ) Δ x k = g ( x k ) H(x_k)\Delta x_k=g(x_k) H(xk)Δxk=g(xk),其中 H ( x k ) = J ( x k ) J ( x k ) T H(x_k)=J(x_k)J(x_k)^T H(xk)=J(xk)J(xk)T,使用雅可比矩阵来近似海森矩阵,减小了计算量,由于此处的 H ( x k ) H(x_k) H(xk)只能保证为半正定矩阵,所以在计算过程中可能会出现病态的情况,导致算法不收敛。

  列文伯格-马夸尔特方法(L-M方法,阻尼牛顿法):针对高斯牛顿法的不足,做了两点改进,一个是增加了信赖区域,一个是对近似效果进行量化,根据量化结果对信赖区域进行调整,重新计算增量,直到近似效果量化结果达到阈值。算法的执行步骤如下:

image-20220907224733339

  除了上述的拟二阶算法,还有一些其余的算法,例如拟牛顿算法中的DFP、BFGS等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值