Embodied AI Glossary中文

g2o (General Graph Optimization)

g2o 图优化库g2oAdvanced

A C++ library for solving graph-structured optimization problems like SLAM pose graphs and bundle adjustment.

g2o is an open-source C++ framework presented at ICRA 2011 by Rainer Kümmerle, Giorgio Grisetti, Kurt Konolige, Wolfram Burgard, and others, built specifically to solve nonlinear least-squares problems that can be drawn as a graph: nodes are the quantities being estimated (such as camera poses or map points), and edges are the observation constraints between them. SLAM's (simultaneous localization and mapping) back-end optimization and bundle adjustment both fall into this category; g2o exploits the sparse structure of these problems to solve them efficiently and lets users define custom node and edge types. The ORB-SLAM series uses g2o for its back end. GTSAM and Ceres Solver are tools in the same category.

ExampleAfter ORB-SLAM3 detects a loop closure, it uses g2o to optimize the whole pose graph, spreading the accumulated drift back out across the entire trajectory.

Related
Factor Graph Optimization · Bundle Adjustment · Simultaneous Localization and Mapping (SLAM) · GTSAM (Georgia Tech Smoothing and Mapping) · Ceres Solver · ORB-SLAM3
Sources
RainerKuemmerle/g2o (GitHub)

See it in the full glossary →