BALProblem.h---------定义BALProblem类。

    BALProblem类保存我们的BA所需要的所有数据,包括相机与路标之间的联系,相机变量+路标变量的初始值。这些数据的原始信息都保存在data文件夹下的txt文件中。
    BALProblem类提供了将数据导出到ply文件的功能,可以通过Mashlab软件查看点云的三维信息。

g2o_bal_class.h ------自定义节点和边,节点:相机和路标点,边表示他们之间的观测。覆盖基类中的一些函数。

          节点VertexCameraBAL、VertexPointBAL是直接把更新量看做向量求加法。

          边EdgeObservationBAL:每一条边都对应一个代价函数。自动求导公式需要类型将需要求导的公式是现在括号运算符()中。

g2o_bundle.cpp--------

      BuildProblem函数:完成对于目标函数的构造
               为了充分利用BA中的稀疏性,将路标中的setMarginalized属性=ture
      WriteToBALProblem
      SetMinimizerOptions
      SetLinearSolver
      SetSolverOptionsFromFlags:使用用户的输入参数来设置优化求解。
      SolveProblem
----------使用g2o:
1、选择一种非线性优化的下降策略。
2、选择一个线性求解器。
3、搭建问题,求解

-dense_linear_algebra_library <string> Options are: eigen and lapack. (default: eigen)
-final_ply <string> Export the refined BAL file data as a PLY (default: final.ply)
-initial_ply <string> Export the BAL file data as a PLY file. (default: initial.ply)
-input <string> file which will be processed
-linear_solver <string> Options are: sparse_schur, dense_schur, sparse_normal_cholesky (default: dense_schur)
-num_iterations <int> Number of iterations. (default: 10)
-num_threads <int> Number of threads. (default: 1)
-ordering <string> Options are: automatic, user. (default: automatic)
-point_sigma <double> Standard deviation of the point perturbation. (default: 0)
-random_seed <int> Random seed used to set the state (default: 38401)
-robustify Use a robust loss function
-rotation_sigma <double> Standard deviation of camera rotation perturbation. (default: 0)
-sparse_linear_algebra_library <string> Options are: suite_sparse and cx_sparse. (default: suite_sparse)
-translation_sigma <double> translation perturbation. (default: 0)
-trust_region_strategy <string> Options are: levenberg_marquardt, dogleg. (default: levenberg_marquardt)

g20学习笔记的更多相关文章

  1. 【整理】HTML5游戏开发学习笔记(5)- 猜谜游戏

    距上次学习笔记已有一个多月过去了,期间由于新项目赶进度,以致该学习计划给打断,十分惭愧.书本中的第六章的例子相对比较简单.所以很快就完成. 1.预备知识html5中video标签的熟悉 2.实现思路对 ...

  2. 23 DesignPatterns学习笔记:C++语言实现 --- 1.5 Prototype

    23 DesignPatterns学习笔记:C++语言实现 --- 1.5 Prototype 2016-07-21 (www.cnblogs.com/icmzn) 模式理解

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  6. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  7. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  8. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  9. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

随机推荐

  1. codeforces round 417 div2 补题 CF 812 A-E

    A Sagheer and Crossroads 水题略过(然而被Hack了 以后要更加谨慎) #include<bits/stdc++.h> using namespace std; i ...

  2. Ubuntu下搭建基于apache2的gerrit+gitweb服务器

    说明:Ubuntu版本12.04 1. 配置gerrit管理帐号 1 sudo adduser gerrit 增加sudo权限: 1 sudo usermod -a -G sudo gerrit 切换 ...

  3. Tensorflow卷积接口总结

    tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 这个接口用了这么久,每次都有点迷惑,这里 ...

  4. 《MuseGAN: Multi-track Sequential Generative Adversarial Networks for Symbolic Music Generation and Accompaniment》论文阅读笔记

    出处:2018 AAAI SourceCode:https://github.com/salu133445/musegan abstract: (写得不错 值得借鉴)重点阐述了生成音乐和生成图片,视频 ...

  5. hibernate映射文件set key one-to-many

    转自:https://www.linuxidc.com/Linux/2013-11/92228.htm 1 hibernate映射文件set key one-to-many的配置. POJOs如下: ...

  6. Objective-C NSData/NSMutableData

    创建于完成: 2018/02/06 总览: http://www.cnblogs.com/lancgg/p/8404975.html  数据类   简介 处理比特列 Foundation/NSData ...

  7. python之对堆栈、队列处理操作(转载+个人看法)

    参考链接:https://blog.csdn.net/u010786109/article/details/40649827 python实现堆栈操作 堆栈是一个后进先出的数据结构,其工作方式就像一堆 ...

  8. Python中处理日期时间库的使用方法(转载)

    <本文来自公众号“大邓带你玩python”,转载> 用百分之20时间,学会解决百分之80的问题. 常用的库有time.datetime.其中datetime库是对time库的封装,所以使用 ...

  9. Drawable(7)让一个没有pressed状态的控件使用StateList,显示pressed图片。

    TextView没有按下状态,Button有. 如图1,内容1在一个TextView上,默认它并没有按下状态. 如何让TextView有呢. 在xml中加入属性: android:clickable= ...

  10. Dock

    搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20) 小结: dock 版本号 分为 3位,比如1.1.2 就分为1, 1.1,1.1,2 这个几个版本 这种 tag 方案使 ...