当前位置: 首页 > news >正文

【跟我一起读《视觉惯性SLAM理论与源码解析》】第五章第六章 对极几何图优化库的使用

  1. 极平面,极点,极线的概念
  2. 对极几何,对极约束的概念,通过叉积以及点积的性质推导单应矩阵以及基础矩阵
  3. 光束平差法BA是LSAM中常用的非线性优化方法
  4. 一个图由若干个顶点以及这些顶点连接的边构成,顶点通常是待优化的变量例如位姿,空间中的地图点(路标点),边一般是顶点之间约束产生的误差比如说重投影误差,实现图优化的目的就是通过调整顶点来使得边总体误差最小,这个时候我们认为顶点是最准确的
  5. 在SLAM领域中常用的图优化库有两个一个是g2o一个是ceres.
  6. g2o线性求解曲线参数的具体步骤:第一步,创建一个线性求解器,使用不同的线性求解法例如cholesky,scparse,pcg,dense cholesky,eigen;第二步创建块求解器,分为固定变量的求解器以及可变尺寸的求解器,并用上面的线性求解器初始化;第三步,创建总求解器,从GN,LM,Dogleg中选择一个再用块求解器初始化;这几个算法继承同一个类OptimizationWithHessian,OptimizationWithHessian又继承于OptimizaitonAlgorithm;第四步,创建稀疏优化器,并用自己定义的求解器作为求解方法;第五步,定义图的顶点和边,并添加到优化其中,这部分比较复杂;第六步,设置优化参数,开始执行优化。
  7. 自定义Vertex顶点的构建,首先设定被优化顶点的初始值为0,其次更新顶点函数(加法,乘法等等),最后存盘和读盘留空。如何构建以位姿作为顶点或者以3D点作为顶点?什么时候更新函数用加法,什么时候用乘法?
  8. 如何向图中增加顶点,首先新建顶点,设定估计值,设置顶点编号ID,设定是否需要边缘化,将顶点添加到优化器中
  9. 自定义边的构建:首先读写函数,其次写误差函数=测量值-估计值,最后计算增量函数:误差对于优化变量的偏导数。
  10. p73 勘误,这里应该是上述矩阵和函数EdgeProjectXYZ2UV::linearizeOplus()函数实现一致
  11. 如何向图中增加边:一元边实例中首先设置边ID,其次设置连接的顶点,设置观测的数值,设置信息矩阵,将边添加到优化器。
  12. p74 勘误,展示了PnP投影的添加二元边的例子,其中顶部代码信息矩阵没有表达出来
  13. 位姿以及三维点的ID信息不能互换。

总的来说这一部分补充了十四讲里面对于图优化的阐述,是比较不错的学习资料

http://www.lryc.cn/news/17886.html

相关文章:

  • 从没想过开源 API 工具的 Mock 功能,这么好用
  • 智慧教室--智能管控系统
  • React的useLayoutEffect和useEffect执行时机有什么不同
  • C语言中#include<...>和#include“...“的区别
  • ubuntu本地访问nas
  • 第一章:网络参考模型
  • extends in typescript
  • 如何找回回收站删除的文件
  • Git系列——Git部署及应用
  • Java多线程(二)--线程相关内容
  • CF1692E Binary Deque 题解
  • rust方法和关联函数
  • 深度学习如何训练出好的模型
  • 智慧教室系统--重点设备监控系统
  • Linux中断处理
  • python中安装gurobi和pycharm没有语法提示问题解决
  • 滤波算法:经典卡尔曼滤波
  • flask框架(下)
  • Airbyte架构
  • anchor box只是先验知识,bounding box是一种过程,ground truth才是标准答案,
  • 带你轻松实现通讯录(C语言版)
  • 渗透测试之交换式网络嗅探实验
  • rust 安装
  • 机器学习和深度学习综述
  • SQL零基础入门学习(八)
  • 若依系统如何集成qq邮件发送【超详细,建议收藏】
  • 前端-CSS-zxst
  • 合宙Air105|fonts库|mcu.ticks()|LuatOS-SOC接口|官方demo|学习(19):fonts库
  • 成都欢蓬电商:抖音直播卖药灰度测试通告
  • 1.1计算机和编成语言