代码实践

文章目录

    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

进行求解

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐