This is a matlab code package for nonlinear least squares optimization, based on the well-known concept--Factor Graph.
Organization
Data: store the data to be processed
Factor: the edge and node
g2o_files: core, provide the main framework of the nonlinear least squares
Math: provide the mathematical operation like so3_exp,...
auxilliary: others
Geometry: some operations on geometry such as triangulation
Doc: two tutorial notes
Document
A tutorial for Optimization on Manifold
A tutorial for Graph Optimization
Customization
This code allows users to define new variable nodes and new factors/edges/cost functions.
The framework is reorganized with necessary warnings for the extension of the new node and new edge.
When the new node is defined, the information needs to be given in the “GetNodeTypeDimension”, “SetNodeDefaultValue” and “update_state”.
When the new edge is defined, the information needs to be given in “GetFactorX_format” and “GetEdgeTypeDimension”.
Examples for study/use
When you want to perform the estimation for 2D RGBD case, just run “Example_VictoriaPark.m”.
When you want to perform the estimation for 3D vision case, just run “Vision_Example_Small.m”.
Updates
Any variable can be fix in the process of optimization
Schur decomposition has been added
Levenberg-Marquart and Powell's Dogleg have been added
请发表评论