欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解SLAM中的关键环节:BA(束调整)与图优化方法详解

最编程 2024-07-27 18:34:12
...

BA与图优化

所谓的Bundle Adjustment,是指从视觉重建中提炼出最优的3D模型和相机参数(内参数和外参数)。从每一个特征点反射出来的几束光线(bundles of light rays),在我们把相机位姿和特征点空间位置做出最优的调整(adjustment)之后,最后收束到相机光心的这个过程,简称BA。

Bundle Adjustment简述

在SFM(structure from motion)的计算中BA(Bundle Adjustment)作为最后一步优化具有很重要的作用,在近几年兴起的基于图的SLAM(simultaneous localization and mapping)算法里面使用了图优化替代了原来的滤波器,这里所谓的图优化其实也是指BA。其实很多经典的文献对于BA都有深深浅浅的介绍,如果想对BA的全过程做一个全面的更深层次的了解,推荐阅读 Bundle Adjustment —A Modern Synthesis。

Bundle Adjustment用BA代替中文译为光束法平差,大概大家看到更多的翻译可能为束调整、捆集调整或者捆绑调整等等。所谓bundle,来源于bundle of light,其本意就是指的光束,这些光束指的是三维空间中的点投影到像平面上的光束,而重投影误差,正是利用这些光束来构建的,因此称为光束法强调光束也正是描述其优化模型是如何建立的。剩下的就是平差,那什么是平差呢

BA的本质是一个优化问题,其目的是最小化重投影误差——>对PnP的结果进行优化。
在这里插入图片描述
这些五颜六色的线就是光束线,

重投影指的是二次投影。 重投影误差是指的真实三维空间点在图像平面上的投影(也就是图像上的像素点)和重投影(其实是用我们的计算的3D点得到的虚拟的像素点)的差值 ,因为种种原因计算得到的值和实际情况不会
完全相符,也就是这个差值不可能恰好为0,此时也就需要将这些差值的和最小化获取最优的相机参数及三维空间点的坐标。