Home

Publications

Software

Research Interests

Personal

FAB-MAP Binaries

Update June 2012 - Open Source FAB-MAP now available.

The open source release of FAB-MAP is finally here.
Open Source FabMap 2.0, containing the full codebase including vocabulary learning code.
Binaries for FabMap 2.0. Available on Linux and Mac.

The old FAB-MAP 1.0 binaries remain available below.


FAB-MAP is a system for appearance-based navigation. Relevant publications can be found here. The software incorporates the improvements described in our 2008 ICRA paper. Related datasets are also available.

FabMap is available in binary form at present. The code can be run either stand-alone, or integrated into a C++ program by using the headers supplied.

OS
Binary
Linux
Download
Win32
Download

Additional Vocabularies
Indoor Environments
Rotation Invariant Vocab

If you would like to run the code on a different platform, please email me.
mjc@robots.ox.ac.uk

Visual Vocabularies

A key component of FabMap is a visual vocabulary, which encapsulates which visual features are common in a particular type of environment. The download package includes a visual vocabulary specialized for outdoor urban environments. Typical training data is shown below.

spacer

A second vocabulary for indoor environments is also available. Typical training data:

spacer

We've found the system is quite tolerant with respect to vocabulary - for example, small indoor datasets work fine using the outdoor vocabulary, though with lower recall than if the indoor vocabulary is used. If your data doesn't look much like either of our training sets, the system will probably still work OK. The best way to find out is to try it!

If you aren't getting good results, and your data looks very different from the above, please get in contact and we can see about training a custom vocabulary.

Running FabMap

To run FabMap stand-alone, just point it at a directory of images. Step-by-step instructions are provided in the download package.

FabMap outputs a matrix, the n-th entry of which corresponds to the pdf over previously seen places due to the n-th image. For the sample dataset provided, the resulting matrix is shown below. A loop closure can be seen as a bright off-diagonal line.

Note that the main diagonal is special. Entry (i,i) in the matrix is the probability that image i came from a NEW place, not seen before. Therefore, the high probability entries on the main diagonal indicate the detection of new places.

spacer

For example, the final loop closure detected is shown below.
For our published results, we accept loop closures with probability above a threshold, typically 0.99. We also exclude loop closures detected with the last ten images. This rejects loop closures due to overlap between successive camera views (which are correct but uninteresting).

spacer spacer
spacer
 
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.