学习SLAM《视觉SLAM十四讲(高翔著)》 第10讲笔记(BA优化)
代码实践文章目录10.3实践:g2o10.4实践:Ceres程序的详细注释可关注robinhjwy和zkk9527的CSDN博客。10.3实践:g2o用g2o求解BA问题。程序的编译运行方法:mkdir buildcd buildcmake ..make./g2o_customBundle -input ../data/problem-16...
代码实践
文章目录
10.3实践:g2o
10.4实践:Ceres
程序的详细注释可关注robinhjwy和zkk9527的CSDN博客。
10.3实践:g2o
用g2o求解BA问题。
程序的编译运行方法:
mkdir build
cd build
cmake ..
make
./g2o_customBundle -input ../data/problem-16-22106-pre.txt
以上是成功编译运行程序,会在build文件夹中生成initial.ply和final.ply文件。接下来,安装meshlab并用它把这两个文件打开:
sudo add-apt-repository ppa:zarquon42/meshlab
sudo apt-get update
sudo apt-get install meshlab
安装成功后,右键initial.ply或final.ply文件选择用meshlab打开:
在这里插入图片描述
10.4实践:Ceres
用Ceres求解BA问题。
程序的编译运行方法:
mkdir build
cd build
cmake ..
make
./ceres_customBundle -input ../data/problem-16-22106-pre.txt
后端2
一 滑动窗口优化
由于计算量的缘故,将BA控制在一个窗口内,离开这个窗口的被抛弃。从而达到控制BA规模的目的。当中涉及到关键帧的新增、删除。
二、位姿图优化
不关心路标点的位置,只关心所有的相机位姿之间的联系

推导过程略
得出目标函数

我们依然可以用Gauss-Newton、Levenberg-Marquardt 等方法求解此问题,除了用李代数表示优化位姿以外,别的都是相似的。根据先前的经验,这自然可以用Ceres 或g2o
进行求解
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)