这一部分是我自己加的, 对于理解非线性优化以及那些常用的优化算法有很大的帮助,所以有时间也可以看看,互相交流;

我们都已经知道SLAM中的问题求解其实就是要求出一个位姿,使得噪声项的平方,即误差最小化。 因此, 对于所有的运动和任意的观测, 都可以定义数据与估计值之间的误差:

运动方程的误差:                                              

观测方程的误差:                                              

对这两项误差做平方并求和,也就的到了一个经典的最小二乘问题。

直观地讲,由于噪声的存在, 当我们把估计的轨迹与地图带入SLAM的运动,观测方程中时,他们并不会完美地成立。这时怎么办呢?我们对状态的估计值进行微调,使得整体的误差下降了一些,当然这个下降也是有限度的, 他一般会达到一个最小值。

上面这段话,其实也就阐明了整个最小二乘求解的关键,也就是求解一个增量值,x基于该增量的变化,使得误差方程达到一个极小值。以下面的非线性最小而成为例,

如果f(x)是一个简单的函数, 那么我们就可以用解析式求解, 令目标函数导数为0, 求x的最优解即可;即

解了这个方程,就得到了令导数为0的极值,它可能是极大,极小或者鞍值,将他们带入到函数中,算一下结果,比较一下就可以; 但是如果这个函数不方便求解呢?我们就可以用迭代的方法,从一个初始值出发,不断地更新当前的优化变量,使得目标函数的值下降, 具体步骤可以列写如下:

  1. 给定某个初始值
  2. 对于第k次迭代,寻找一个增量,使得 达到极小值
  3. 足够小,则停止;
  4. 否则,令, 则返回2步;

上面这四个步骤就是得一个求解导函数为零的问题变成了一个不断寻找梯度并下降的过程。

【小白冲冲冲!!!】补2:SLAM中最小二乘问题的引入及求解相关推荐

  1. 舒尔补在SLAM中的应用

    舒尔补在SLAM中的应用 1.舒尔补的定义 2.舒尔补的由来 3.舒尔补在多元高斯分布中的应用 3.1 多元变量的高斯分布 3.2 边缘概率和条件概率的协方差矩阵 3.3 边缘概率和条件概率的信息矩阵 ...

  2. SLAM中相机位姿求解(李群李代数)

    前言 slam中一个关键问题之一就是求解相机的位姿,人们找了很多以相机位姿为变量的误差函数,比如光度误差,重投影误差,3D几何误差等等,希望使得误差最小,进而求得比较准确的相机位姿.举一个重投影例子: ...

  3. SLAM中的卡尔曼滤波:究竟滤了谁?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在SLAM系统中,后端优化部分有两大流派. 一派是基于马尔科夫性假 ...

  4. 重磅直播|慕尼黑工业大学博士详解室内SLAM中的几何约束

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 大家好,本公众号现已开启线上视频公开课,主讲人通过B站直播间,对3D视觉领域相关知识点进行讲解,并在微 ...

  5. 视觉SLAM总结——LSD SLAM中关键知识点总结

    视觉SLAM总结--LSD SLAM中关键知识点总结 视觉SLAM总结--LSD SLAM中关键知识点总结 1. LSD SLAM的创新点/关键点是什么? 2. LSD SLAM的整体框架是怎样的? ...

  6. SLAM中的marginalization 和 Schur complement

    在视觉SLAM的很多论文中,会大量或者偶尔出现marginalization这个词(翻译为边缘化),有的论文是特地要用它,比如sliding window slam [2], okvis [3], d ...

  7. SLAM中常用的相机模型及标定工具

    最近一段时间准备作多传感器的SLAM研究,第一步是要解决传感器间的联合标定.所要开展实验的机器人平台配置了相机.单线雷达和IMU,自然而然地,首先是要先确定各个传感器的内参数,然后再确定传感器之间的外 ...

  8. 视觉SLAM中PNP求解

    PNP(Perspective-n-points)是SLAM中估计位姿的重要方法.已知条件为路标点在相机1中的相机坐标以及投影到相机2中的像素坐标,据此去估计相机1.相机2间的位姿.主要解法包括DLT ...

  9. 知方可补不足~SQL2008中的发布与订阅模式~续

    上一回介绍了如何在sql2008中建立一个数据库的发布者,今天来说一下如何建立一个订阅者,其实订阅者也是一个数据库,而这个数据库是和发布者的数据结构相同的库,它们之间通过SQL代理进行数据上的同步. ...

最新文章

  1. php+mysql文件上传,使用PHP将文件上传到MySql DB
  2. 博客园出现了奇怪的cookie问题
  3. 作为项目的直接上级通过问题和风险来帮助项目
  4. WLAN产品形态之分层架构
  5. 使用Hadoop所需要的一些Linux基础
  6. 基于 C++ POCO 库封装的异步多线程的 CHttpClient 类
  7. linux 脚本追加最后命令,linux中sed命令批量修改
  8. [转载]完全理解关键字this
  9. Internet Explorer无法下载
  10. 泛泰A870K去掉相机快门声音的方法
  11. 大数据挖掘-使用频率top20中药材(收藏)
  12. QQ群关键字提醒设置
  13. 电脑页面怎么没有计算机,如何找回电脑里消失的IE浏览器图标?
  14. 微信小程序之js 字符串转换成数字的三种方法, 取float型小数点后两位数的方法
  15. ES6-用Proxy和Reflect操作对象
  16. maple java,讲解:MACM 401、Maple worksheet、Java,Python、Java,c++SQL|
  17. SAP 提前期偏置量(lead-time offset)
  18. PyCharm关闭拼写检查(Typo提示)
  19. 智能内容安全平台的运营维护与分享
  20. BZOJ3631 [JLOI2014]松鼠的新家

热门文章

  1. bzoj 3173: [Tjoi2013]最长上升子序列(离线二分+树状数组)
  2. javascript之生成一个指定范围内的随机数
  3. python绘制一棵樱花树
  4. Mask-RCNN训练train_shapes.ipynb
  5. markdown与latex:向量形式给字母加粗 \pmb{}
  6. 第七课 Linux裸机开发+SourceInsight3.5使用+notepad++使用
  7. 购物车项目 复杂版本.待简化
  8. MonkeyScript使用教程
  9. volatile 线程内存模型
  10. .NET WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作)...