OpenSeqSLAM is an open source Matlab implementation of the
original SeqSLAM algorithm published by Michael Milford and Grodon Wyeth at ICRA12.
SeqSLAM performs place recognition by matching sequences of images as opposed to matching single images such as FAB-MAP does. SeqSLAM has achieved remarkable results recognizing places
even if the environment underwent severe appearance changes, like transitioning
from a sunny day to a rainy night.
In a preprocessing step, SeqSLAM drastically downsamples incoming images to e.g.
64x32 pixels. These thumbnail images are further divided into patches of
8x8 pixels, which are then normalized, so that the pixel values cover the
complete range of possible values between 0 and 255.
The two innovative steps of SeqSLAM perform as follows: First,
the distance matrix is locally contrast enhanced, which Milford and Wyeth
describe as a step towards forcing the matcher to find best matches in every
local neighborhood of the trajectory instead of only one global best match.
Finally, when looking for a match to a query image, SeqSLAM performs a search to
find the best matching sequence of adjacent frames. SeqSLAM literally
sweeps through the contrast-enhanced difference matrix to achieve this.