FLIRTLib implements the Fast Laser Interest Region Transform introduced by Tipaldi and Arras. The library implements four different multi-scale feature detectors and two feature descriptors for 2D range data. It is written in C++ and comes with an API reference (written using Doxygen) and a set of example binaries to visualize the detector results and the descriptors, as well as perform scan to scan matching.
The library implements the following detectors: range, normal edge, normal blob and curvature. All detectors apply the scale-space theory (see References) to the range data. The first three detectors apply the theory to the monodimensional signal defined by the laser scanner, while the last one applies the theory to the continuous geodesic coordinate of the curve that better approximate the point cloud.
The source code can be download from http://srl.informatik.uni-freiburg.de/~tipaldi/assets/files/FLIRTLib.tgz .
The archive has the following structure:
src/: the source files
data/: the log files used in the paper.
doc/: the doxygen configuration file. Run doxygen in this directory and you will obtain a local copy of this html documentaion and the latex reference manual.
src/ directory has the following structure:
mainpage.h : dummy header file for generating the documentation.
INSTALL: installation notes.
LICENSE: the software license. See License for further details.
CMakeLists.txt: the cmake configuration script.
build_tools/: the directory containing the cmake modules.
feature/: the directory with the main features code.
gemometry/: the directory with the code for points.
gui/: the directory with the code for teh gui and the flirtDemo.
sensors/: the directory with the code for the sensors abstraction.
sensorstream/: the directory with the code for the sensor streams abstraction.
utils/: the directory with the code for utility function such as convolution, regression, pose estimation and histogram distances.
Download the library according to Download. The library relies on cmake to generate the Makefiles.
Go to the
src/ directory. Run
For a more verbose output do Run
VERBOSE=1 cmake .
The software depends on the following external libraries
The library comes with some demo binaries and an API interface.
The binaries are compiled out of the source and are available in
. They consists in the following binaries
flirtDemo. It is a simple graphical frontend for visualizing the effect of the different detector and descriptors when changing the parameters. To visualize the descriptors simply click on the corresponding interest points in the viewer.
ransacLoopClosureTest. It performs scan to scan matching with ransac. It generates a file with the number of succesful matches for the three different strategies. See the paper for more detail about the ransac experiment.
ransacLoopClosureDraw. It performs scan to scan matching with ransac. It generates a directory with images showing the matching results. It can used to generate animations.
The library is compiled as a collection of shared objects and are available in
(64-bit). The header files are located in the respective directory in the src tree. See the class list on the doxygen documentation for a more detailed API reference. A pdf version of the reference manual is available here.
FLIRTLib Copyright (c) 2010 Gian Diego Tipaldi and Kai O. Arras
This software is licensed under the "Creative Commons License (Attribution-NonCommercial-ShareAlike 3.0)" and is copyrighted by Gian Diego Tipaldi and Kai O. Arras
FLIRTLib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.