g2o(General Graph Optimization)---通用图优化算法
2013-11-12 10:48
549 查看
g2o的本质:g2o是一个算法集的C++实现,而并不是在算法理论上的创新,即根据前人求解非线性最小二乘的理论,根据具体的问题,选用最合适的算法。
它是一个平台,你可以加入你自己的线性方程求解器,编写自己的优化目标函数,确定更新的方式。g2o的作者说Guassian-Newton和Levenberg-Marquardt方法比较naive,但是g2o的本质就是这些算法的实现。事实上,g2o iSAM SPA和 sSPA等非线性优化算法只是在非线性问题线性化时处理得不一样,在线性化后要求解线性方程都是利用了已有的linear solver库来求解,如 CSparse CHOLMOD PCG等,他们都需要依靠Eigen这个线性代数库。
g2o的用途:很多机器人的应用如SLAM(同步定位与制图)还有计算机视觉中的光束优化(bundle adjustment 参考/article/1820939.html;
http://courses.cs.washington.edu/courses/cse576/05sp/projects/proj3/artifacts/yongjoon/index.html)都会涉及到最小化非线性误差函数的问题。这类应用中,非线性误差函数可以用图(graph)的形式来表征。整个问题的求解就是要找到最符合观测量的相机参数或机器人状态。
g2o的实现:
类似算法:iSAM (参考http://openslam.org/iSAM.html)
SPA2d (参考http://users.ics.forth.gr/~lourakis/sba/)
HOG_Man
g2o与其他算法的效果对比:(具体参考论文:《g2o:a general graph optimization》)
Fig1:
Fig2:
Fig3:isam与其他算法的对比(参考:http://people.csail.mit.edu/kaess/isam/comparison.html)
它是一个平台,你可以加入你自己的线性方程求解器,编写自己的优化目标函数,确定更新的方式。g2o的作者说Guassian-Newton和Levenberg-Marquardt方法比较naive,但是g2o的本质就是这些算法的实现。事实上,g2o iSAM SPA和 sSPA等非线性优化算法只是在非线性问题线性化时处理得不一样,在线性化后要求解线性方程都是利用了已有的linear solver库来求解,如 CSparse CHOLMOD PCG等,他们都需要依靠Eigen这个线性代数库。
g2o的用途:很多机器人的应用如SLAM(同步定位与制图)还有计算机视觉中的光束优化(bundle adjustment 参考/article/1820939.html;
http://courses.cs.washington.edu/courses/cse576/05sp/projects/proj3/artifacts/yongjoon/index.html)都会涉及到最小化非线性误差函数的问题。这类应用中,非线性误差函数可以用图(graph)的形式来表征。整个问题的求解就是要找到最符合观测量的相机参数或机器人状态。
g2o的实现:
类似算法:iSAM (参考http://openslam.org/iSAM.html)
SPA2d (参考http://users.ics.forth.gr/~lourakis/sba/)
HOG_Man
g2o与其他算法的效果对比:(具体参考论文:《g2o:a general graph optimization》)
Fig1:
Fig2:
Fig3:isam与其他算法的对比(参考:http://people.csail.mit.edu/kaess/isam/comparison.html)
相关文章推荐
- Spark GraphX下强连通子图和社团发现算法在1T TPC-DS数据集下执行方法、优化和性能估算
- 深度网络 梯度下降优化算法综述 An overview of gradient descent optimization algorithms
- 海量数据库的查询优化及分页算法方案(二)-实现小数据量和海量数据的通用分页显示存储过程 [转]
- 关于SLAM的那些事——通用图优化(G2O)环境搭配(windows8.1 vs2013)
- LeetCode Linked List Cycle II 和I 通用算法和优化算法
- orbslam2-基础理论(六)-g2o(常用的优化算法)
- orbslam2-基础理论(六)-g2o(常用的优化算法)
- 关于SLAM的那些事——通用图优化(G2O)环境搭配(windows8.1 vs2013)
- LeetCode Linked List Cycle II 和I 通用算法和优化算法
- 海量数据库的查询优化及分页算法方案
- 使用插入排序优化快速排序的算法实现
- SPFA(Shortest Path Faster Algorithm)算法(队列优化)
- 海量数据库的查询优化及分页算法方案
- [理论篇]深度理解Powell优化算法
- 颜色空间系列4: RGB和YDbDr颜色空间的转换及优化算法
- GWO(灰狼优化)算法MATLAB源码逐行中文注解
- 一步一步写算法(之通用算法的编写)
- 海量数据库的查询优化及分页算法方案
- 通用权限管理系统组件 (GPM - General Permissions Manager)
- 算法优化:rgb向yuv的转化最优算法,快得让你吃惊!