Browse by type
Open Source C++ Code for the FAB-MAP Algorithm
St. Lucia Multiple Times of Day Dataset
See the Wiki for tips!
@inproceedings{
author = {Glover, A. and Maddern, W. and Warren, M. and Reid, S. and Milford, M. and Wyeth, G.},
title = {OpenFABMAP: An Open Source Toolbox for Appearance-based Loop Closure Detection},
booktitle = {The International Conference on Robotics and Automation},
address = {St Paul, Minnesota},
publisher = {IEEE},
year = {2011}
}
OpenFABMAP Glover et. al. 2012 is an open-source, OpenCV-only dependent, version of the popular Fast Appearance-based Mapping (FAB-MAP) algorithm Cummins & Newman 2008. OpenFABMAP was developed from the ground-up following FAB-MAP publications. The original FAB-MAP algorithm is now also open-source but requires alternative project dependencies.
FAB-MAP is a Simultaneous Localisation and Mapping algorithm which operates solely in appearance space. FAB-MAP performs location matching between places that have been visited within the world as well as providing a measure of the probability of being at a new, previously unvisited location. Camera images form the sole input to the system, from which OpenCV's feature extraction methods are used to develop bag-of-words representations for the Bayesian comparison technique.
The code has implementations of * Feature Detection, Feature Extraction, and Bag-of-words models using OpenCV * Chow-Liu tree implementation * FAB-MAP v1.0 Cummins & Newman 2008 * FAB-MAP v1.0 using a Look-up-table for improved computation speed * FAB-MAP with Fast-Bailout Cummins & Newman 2010 * FAB-MAP v2.0 Cummins & Newman 2010
An overview of OpenFABMAP Glover et. al. 2012 or the original implementation/use Glover et al. 2010.
As of the latest version, openFABMAP is dependent solely on OpenCV 2.3 or higher. The project has a CMake build environment for general use on both Linux and Windows systems. OpenFABMAP is also designed to integrate with ROS. See the CyPhy-ROS page for a package that has implemented openFABMAP as a ROS node.
The original googlecode project page was here
Linux (g++)
sudo apt install cmakesudo apt install libopencv-devgit clone https://github.com/arrenglover/openfabmap.gitmkdir openfabmap/build && cd openfabmap/buildcmake ... note: the output will tell you which version of opencv you are using and if you are using the "non-free" modulesmakegedit ../samples/settings.ymlbin/openFABMAPcli -s ../samples/settings.ymlOpenCV non-free for OpenCV 3.4
Windows (Visual Studio 2008)
$ claude mcp add openfabmap \
-- python -m otcore.mcp_server <graph>