一文详解非线性优化算法:保姆级教程-基础理论

本文深入探讨非线性优化在SLAM中的重要性,介绍了高斯牛顿法和列文伯格-马夸尔特法。通过实例讲解Ceres和g2o这两个非线性优化库,为SLAM初学者提供理论与实践的结合。文章还包含了这两个库的安装指南和简单函数优化示例。
摘要由CSDN通过智能技术生成

不论是刚入门SLAM的小白,还是导航相关专业的同学,都对“非线性优化”这个词不陌生,如果你说你没听过这个词,那“因子图”一词总该略有耳闻吧,如果还是不知道,那就只能拿SLAM14讲敲你了。

自我进入SLAM领域以来,就再也没有逃出非线性优化的魔掌了,业界神书SLAM十四讲上还单独分出来一章对非线性优化进行了基础且详细的讲解,不过上了这么多年学的我们,早已经看透了这一切,书上写着“1+1=2”,实际操作中就开始解N个参数的方程组了。[一脸苦笑.gif]。如果你想耍滑头溜过非线性优化的大门,也可以,但你们会重逢的,在第七章重逢,第八章重逢,第九章重逢……在第十四章重逢。是的,非线性优化占据了SLAM的大半壁江山,于是,便有了这个专题——《非线性优化系列讲解》。

这个专题主要分为两大部分:Ceres和g2o,这两个是用于非线性优化的C++库,很常用,每个部分我都会由浅入深,结合代码逐行讲解,并在后续录制讲解视频供大家深度掌握,敬请关注。

非线性优化之G2O:基础理论知识

在这部分主要进行SLAM14讲中的基础知识讲解,若已熟读过的同学可以绕道下一步,在后续部分推导用到的公式我都会再次给出,并标记。

★问题一:什么是非线性最小二乘?

先举个简单的例子,在大家考试过程中,会有一个理想目标分数和实际分数以及满分,每次考试后,我们会得到实际分数,然后对实际分数和目标分数之间的差值进行评估,再对相应的学科进行难关攻克,以争取在下次考试中得到更好的成绩。

这便构成了最简单的最小二乘问题。可以想到,要使得有最小值,即找到函数极值点,而极值点往往在导数为零的点,对于易求解的,使用求导的方式,但在SLAM中,往往导数不易求解,无法找到极值点。

因此,选择使用一种很原始的方法,迭代试验法:

★问题二:高斯牛顿法求解非线性最小二乘

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值