后端优化2(SLAM十四讲ch11)-Pose Graph

位姿图(Pose Graph)

带有相机位姿和空间点的图优化称为BA

机器人运动轨迹越来越长,地图规模不断增长——>BA的计算效率不断下降

特征点在优化问题中占据绝大部分。而实际上,经过若干次观测之后,那些收敛的特征点,空间位置估计会收敛至一个值保持不动,而发散的外点则通常看不到。——>优化几次把特征点固定住,只把他们看做位姿的约束,而不再实际优化他们的位置估计

后端优化2(SLAM十四讲ch11)-Pose Graph

BA特征点的数量远大于位姿节点,一个关键帧往往关联了数百个关键点——>数据量大,限制应用场景——>滑动窗口,舍弃历史数据  或者  Pose Graph(舍弃对路标点的优化,只保留Pose之间的边)。

Pose Graph 中,节点表示相机的位姿,用李代数后端优化2(SLAM十四讲ch11)-Pose Graph表达。边表示位姿节点之间相对运动 估计(特征点法或者直接法)

后端优化2(SLAM十四讲ch11)-Pose Graph

后端优化2(SLAM十四讲ch11)-Pose Graph

后端优化2(SLAM十四讲ch11)-Pose Graph

后端优化2(SLAM十四讲ch11)-Pose Graph

SLAM十四讲 6.4讲到图优化理论

深入理解图优化与g2o:图优化篇

后端优化2(SLAM十四讲ch11)-Pose Graph

后端优化2(SLAM十四讲ch11)-Pose Graph

ubuntu16.04安装g2o_viewer 

在Ubuntu16.04下,不能使用libqglviewer-dev。而应该使用libqglviewer-dev-qt4:

sudo apt-get install libqglviewer-dev-qt4

安装好g2o_viewer,通过g2o_viewer打开sphere.g2o

g2o_viewer sphere.g2o

后端优化2(SLAM十四讲ch11)-Pose Graph

后端优化2(SLAM十四讲ch11)-Pose Graph  优化后:

后端优化2(SLAM十四讲ch11)-Pose Graph

使用slambook/pose_graph 中的几个.g2o文件,用g2o_viewer自带的optimize

初始图像 优化后
后端优化2(SLAM十四讲ch11)-Pose Graph 后端优化2(SLAM十四讲ch11)-Pose Graph

后端优化2(SLAM十四讲ch11)-Pose Graph

这个图像迭代了 近50次才收敛

一般的迭代十几次以内就基本可以收敛

后端优化2(SLAM十四讲ch11)-Pose Graph
后端优化2(SLAM十四讲ch11)-Pose Graph 后端优化2(SLAM十四讲ch11)-Pose Graph
后端优化2(SLAM十四讲ch11)-Pose Graph 后端优化2(SLAM十四讲ch11)-Pose Graph
后端优化2(SLAM十四讲ch11)-Pose Graph 后端优化2(SLAM十四讲ch11)-Pose Graph