Open Source C++ Code for the FAB-MAP Algorithm
St. Lucia Multiple Times of Day and Other Datasets
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](http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5509547&tag=1 Glover et al. 2010). 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
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 cmake
sudo apt install libopencv-dev
git clone https://github.com/arrenglover/openfabmap.git
mkdir openfabmap/build && cd openfabmap/build
cmake ..
. note: the output will tell you which version of opencv you are using and if you are using the "non-free" modulesmake
gedit ../samples/settings.yml
bin/openFABMAPcli -s ../samples/settings.yml
OpenCV non-free for OpenCV 3.4
Windows (Visual Studio 2008)