SLAM中的BA优化
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优化相关推荐
- SLAM后端:BA优化(Bundle Adjustment)
BA是一种优化方法,最小化重投影误差优化PnP得到的R.t 应用场景:利用共视点的3D坐标与相机内参矩阵,根据PnP计算位姿R.t(有误差).利用R.t及相机的投影模型可以计算出这些特征点在第二帧图像 ...
- 视觉SLAM中的BA
利用三角定位和P点在图像a中的投影ua(可检测到)计算P在空间中的位置(非真实),再利用相机数学模型获得P在b图像中的位置ub'. 不断减少 |ub' - ub |的差叫做优化(ub是P在第二幅图中的 ...
- EKF优化:协方差coff公式、意义、SLAM中的Code优化
1.代码:Matlab相关系数的意义: Eigen::MatrixXf correlation_matrix = corrcoef( LocM ); 对行向量求相关系数 , 与列数无关,返回 cols ...
- 深蓝学院-视觉SLAM课程-第7讲作业:SLAM中g2o入门详解,直接法BA
1. 引言 在SLAM中,BA是个重要的部分,前后端很多地方都用得到,而g2o是一个很重要的使用图优化求解优化问题的库,所以有必要熟练掌握,尽管有了些C++的底子,但是看g2o的代码还是比较吃力,所以 ...
- 视觉SLAM总结——LSD SLAM中关键知识点总结
视觉SLAM总结--LSD SLAM中关键知识点总结 视觉SLAM总结--LSD SLAM中关键知识点总结 1. LSD SLAM的创新点/关键点是什么? 2. LSD SLAM的整体框架是怎样的? ...
- SLAM中的marginalization 和 Schur complement
在视觉SLAM的很多论文中,会大量或者偶尔出现marginalization这个词(翻译为边缘化),有的论文是特地要用它,比如sliding window slam [2], okvis [3], d ...
- SLAM | 视觉SLAM中的后端:后端优化算法与建图模板
点击上方"AI算法修炼营",选择加星标或"置顶" 标题以下,全是干货 前面的话 前面系列一中我们介绍了,VSLAM 是利用多视图几何理论,根据相机拍摄的图像信息 ...
- 论文精读 | slam中姿态估计的图优化方法比较
一. 摘要 对于位置环境中的自主导航问题,同步定位与建图(Simultaneous localization and mapping, SLAM)是一个非常重要的工具框架.根据SLAM字面含义可以得知 ...
- SLAM中姿态估计的图优化方法比较(g2o/Ceres/GTSAM/SE-Sync)
编辑 | 深蓝AI 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[SLAM综述]获取视觉SLAM.激光SLAM.RGBD-SLAM等多篇综述! 本 ...
最新文章
- ORB_SLAM2代码阅读(5)——Bundle Adjustment
- 梯形积分法【OpenMP实现】多个版本
- Excel VBA 重要参考(原始的VBA代码)
- Shell编程进阶 1.3data命令
- android 绑定类名,Android Studio为Class跟Activity等添加注解
- php扩展zval,PHP扩展开发(7):zval结构
- ASP.NET Core Web读取appsettings.json中的配置
- 图形界面介绍——Select键
- OpenCV学习cvtColor函数
- echarts 背景颜色 渐变色,阴影效果
- IT行业的工作内容是什么?
- something just歌词用计算机,Something Just Like This歌词翻译
- BZOJ---4484:[Jsoi2015]最小表示【bitset】
- 初中python编程初步教学设计_初中Python程序设计顺序结构教学设计方案.docx
- 办公室常见问题解决:不能连接局域网的共享打印机
- elastalert控制警报时间段
- STM32掌机教程7,演奏音乐
- 分销商城小程序开发解决方案
- X2Go Client下载与使用(新手向)
- 莫比乌斯(Mobius)反演知识整合