g 2 o: A general Framework for (Hyper) Graph Optimization
暂无分享,去创建一个
In this document we describe a C++ framework for performing the optimization of nonlinear least squares problems that can be embedded as a graph or in an hyper-graph. An hyper-graph is an extension of a graph where an edge can connect multiple nodes and not only two. Several problems in robotics and in computer vision require to find the optimum of an error function with respect of a set of parameters. Examples include, popular applications like SLAM and Bundle adjustment. In the literature, many approaches have been proposed to address this class of problems. The naive implementation of standard methods, like Levenberg-Marquardt or Gauss-newton can lead to acceptable results for most applications, when the correct parameterization is chosen. However, to achieve the maximum performances substantial efforts might be required. go stands for General (Hyper) Graph Optimization. The purposes of this framework are the following:
[1] Timothy A. Davis,et al. Direct methods for sparse linear systems , 2006, Fundamentals of algorithms.
[2] YANQING CHEN,et al. Algorithm 8 xx : CHOLMOD , supernodal sparse Cholesky factorization and update / downdate ∗ , 2006 .
[3] Manolis I. A. Lourakis,et al. SBA: A software package for generic sparse bundle adjustment , 2009, TOMS.