SLAM中的BA优化

SLAM中的BA优化,先根据相机模型和A,B图像特征匹配好的像素坐标,求出A图像上的像素坐标对应的归一化的空间点坐标,然后根据该空间点的坐标计算重投影到B图像上的像素坐标,重投影的像素坐标(估计值)与匹配好的B图像上的像素坐标(测量值),不会完全重合,BA的目的就是每一个匹配好的特征点建立方程,然后联立,形成超定方程,解出最优的位姿矩阵或空间点坐标(两者可以同时优化)。

根据相机模型求出空间点坐标

​ 相机模型–像素坐标与空间点坐标的对应关系

​ 相机使用前先进行相机标定得到相机的内参K,通过特征点匹配可以得到,特征点的像素坐标,根据上述模型就可以得到像素像素点对应的归一化后的空间坐标,即:
X/Z=X=(u−cx)/fxX/Z=X=(u-cx)/fx X/Z=X=(u−cx)/fx

Y/Z=Y=(v−cy)/fyY/Z=Y=(v-cy)/fy Y/Z=Y=(v−cy)/fy

Z=1Z=1 Z=1

​ 为什么是归一化后的空间坐标,由上面的公司可以看出,Z=1,所以是归一化后的坐标。

​ 若相机为深度相机可以得到深度信息
X=Z∗(u−cx)/fxX=Z*(u-cx)/fx X=Z∗(u−cx)/fx

Y=Z∗(v−cy)/fyY=Z*(v-cy)/fy Y=Z∗(v−cy)/fy

Z=depth/sZ=depth/s Z=depth/s

depth为与之对应的深度值,s为深度值与实际距离的转换参数。

PnP中的BA优化

PnP是求解3D点到2D点的运动方法,它描述的是在已知n个3D点的空间坐标以及他们的投影位置时,如何估计相机的位姿。特征点的3D位置可以由三角化或者RGB-D相机的深度图确定

当相机移动后,相机模型变为

T=(R|t)用李代数的形式表示,则


注意:exp(.)Pi结果为[4X1],而K为[3X3],为了保证维数相同,取exp(.)Pi的前三维,变成三维的非其次坐标

则整体的优化方程为:

​ 很方便地通过 G-N, L-M 等优化算法进行求解。不过,在使用 G-N 和 L-M 之前,我们需
要知道每个误差项关于优化变量的导数,也就是线性化:

由前面的内容可知
u=fx∗X′/Z′+cxu=fx*X'/Z'+cx u=fx∗X′/Z′+cx

v=fy∗Y′/Z′+cyv=fy*Y'/Z'+cy v=fy∗Y′/Z′+cy

然后就是求出误差对位姿的雅克比和误差对空间点的雅克比,具体求导参考《视觉SLAM14讲》P166-P167.

SLAM中的BA优化相关推荐

  1. SLAM后端:BA优化(Bundle Adjustment)

    BA是一种优化方法,最小化重投影误差优化PnP得到的R.t 应用场景:利用共视点的3D坐标与相机内参矩阵,根据PnP计算位姿R.t(有误差).利用R.t及相机的投影模型可以计算出这些特征点在第二帧图像 ...

  2. 视觉SLAM中的BA

    利用三角定位和P点在图像a中的投影ua(可检测到)计算P在空间中的位置(非真实),再利用相机数学模型获得P在b图像中的位置ub'. 不断减少 |ub' - ub |的差叫做优化(ub是P在第二幅图中的 ...

  3. EKF优化:协方差coff公式、意义、SLAM中的Code优化

    1.代码:Matlab相关系数的意义: Eigen::MatrixXf correlation_matrix = corrcoef( LocM ); 对行向量求相关系数 , 与列数无关,返回 cols ...

  4. 深蓝学院-视觉SLAM课程-第7讲作业:SLAM中g2o入门详解,直接法BA

    1. 引言 在SLAM中,BA是个重要的部分,前后端很多地方都用得到,而g2o是一个很重要的使用图优化求解优化问题的库,所以有必要熟练掌握,尽管有了些C++的底子,但是看g2o的代码还是比较吃力,所以 ...

  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中的后端:后端优化算法与建图模板

    点击上方"AI算法修炼营",选择加星标或"置顶" 标题以下,全是干货 前面的话 前面系列一中我们介绍了,VSLAM 是利用多视图几何理论,根据相机拍摄的图像信息 ...

  8. 论文精读 | slam中姿态估计的图优化方法比较

    一. 摘要 对于位置环境中的自主导航问题,同步定位与建图(Simultaneous localization and mapping, SLAM)是一个非常重要的工具框架.根据SLAM字面含义可以得知 ...

  9. SLAM中姿态估计的图优化方法比较(g2o/Ceres/GTSAM/SE-Sync)

    编辑 | 深蓝AI 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[SLAM综述]获取视觉SLAM.激光SLAM.RGBD-SLAM等多篇综述! 本 ...

最新文章

  1. ORB_SLAM2代码阅读(5)——Bundle Adjustment
  2. 梯形积分法【OpenMP实现】多个版本
  3. Excel VBA 重要参考(原始的VBA代码)
  4. Shell编程进阶 1.3data命令
  5. android 绑定类名,Android Studio为Class跟Activity等添加注解
  6. php扩展zval,PHP扩展开发(7):zval结构
  7. ASP.NET Core Web读取appsettings.json中的配置
  8. 图形界面介绍——Select键
  9. OpenCV学习cvtColor函数
  10. echarts 背景颜色 渐变色,阴影效果
  11. IT行业的工作内容是什么?
  12. something just歌词用计算机,Something Just Like This歌词翻译
  13. BZOJ---4484:[Jsoi2015]最小表示【bitset】
  14. 初中python编程初步教学设计_初中Python程序设计顺序结构教学设计方案.docx
  15. 办公室常见问题解决:不能连接局域网的共享打印机
  16. elastalert控制警报时间段
  17. STM32掌机教程7,演奏音乐
  18. 分销商城小程序开发解决方案
  19. X2Go Client下载与使用(新手向)
  20. 莫比乌斯(Mobius)反演知识整合

热门文章

  1. 【Google 应用内付】说明
  2. c# 第二节 c#的常用IDE环境
  3. N1小钢炮的tr设置备份
  4. 材料力学与弹性力学中讲到的 扭转
  5. 瑞蓝RL-NDVM-A16网络视频解码器 视频上墙解决方案专家--数字视频解码矩阵
  6. 典型的几种机器人控制架构介绍
  7. 【R笔记】R语言函数总结
  8. CiteSpace 的安装与使用 —— 入门
  9. 阿里云~简单发送短信
  10. 从苏宁电器到卡巴斯基第23篇:难忘的三年硕士时光 I