Home /Research /Factor Graphs and GTSAM: A Hands-on Introduction
PERCEPTION

Factor Graphs and GTSAM: A Hands-on Introduction

Frank Dellaert

Year
2012
Citations
537

Abstract

In this document I provide a hands-on introduction to both factor graphs and GTSAM.
\nFactor graphs are graphical models (Koller and Friedman, 2009) that are well suited to modeling
\ncomplex estimation problems, such as Simultaneous Localization and Mapping (SLAM) or
\nStructure from Motion (SFM). You might be familiar with another often used graphical model,
\nBayes networks, which are directed acyclic graphs. A factor graph, however, is a bipartite graph
\nconsisting of factors connected to variables. The variables represent the unknown random variables
\nin the estimation problem, whereas the factors represent probabilistic information on those
\nvariables, derived from measurements or prior knowledge. In the following sections I will show
\nmany examples from both robotics and vision.
\nThe GTSAM toolbox (GTSAM stands for “Georgia Tech Smoothing and Mapping”) toolbox is
\na BSD-licensed C++ library based on factor graphs, developed at the Georgia Institute of Technology
\nby myself, many of my students, and collaborators. It provides state of the art solutions to the
\nSLAM and SFM problems, but can also be used to model and solve both simpler and more complex
\nestimation problems. It also provides a MATLAB interface which allows for rapid prototype
\ndevelopment, visualization, and user interaction.
\nGTSAM exploits sparsity to be computationally efficient. Typically measurements only provide
\ninformation on the relationship between a handful of variables, and hence the resulting factor graph
\nwill be sparsely connected. This is exploited by the algorithms implemented in GTSAM to reduce
\ncomputational complexity. Even when graphs are too dense to be handled efficiently by direct
\nmethods, GTSAM provides iterative methods that are quite efficient regardless.
\nYou can download the latest version of GTSAM at http://tinyurl.com/gtsam.

Keywords

Factor graphGraphical modelComputer scienceTheoretical computer scienceFactor (programming language)Bipartite graphSimultaneous localization and mappingVisualizationProbabilistic logicArtificial intelligence

Related papers

Browse all PERCEPTION papers