FLIRTLib

FLIRTLib is a data association library to be used as a front end for graph based mapping, using RANSAC and multi-scale interest point. It implements four different multi-scale feature detectors and two feature descriptors for 2D range data. It is written in C++ and provides 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.
Further information

Authors
Gian Diego Tipaldi; Kai O. Arras;

Get the Source Code via SVN
svn co https://svn.openslam.org/data/svn/flirtlib

Long Description
Local image features are used for a wide range of applications in computer vision and range imaging. While there is a great variety of detector-descriptor combinations for image data and 3D point clouds, there is no general method readily available for 2D range data. To this end, we addressed the problem of multi-scale interest points for 2D range data. Based on large-scale data sets for robot navigation, we defined a set of benchmark experiments as testbed for the comparison of detectors and descriptors for 2D range data. The data sets have been globally registered by a SLAM algorithm serving as the ground truth. We then developed and compared a number of different detectors and descriptor approaches. We considered four multi-scale detectors on the direct range signal, a descriptor based on the idea of occupancy grids and a shape context-based descriptor. We finally proposed FLIRT (Fast Laser Interest Region Transform) as the most powerful detector-descriptor pair, combining a detector based on a curve approximation of the range signal and a descriptor that encodes occupancy information in a polar region around the interest point. It was found that the repeatability and precision diagrams have both, similar trends and values than the corresponding plots of detectors and descriptors for image data. 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.

* Range detector. It finds interest points in scale-space with a blob detector applied on the raw range information in the laser scan. * Normal Edge detector. It finds interest points in scale-space with an edge detector applied on a local approximation of the normal direction. * Normal Blob detector. It finds interest points in scale-space with a blob detector applied on a local approximation of the normal direction. * Curvature detector. It finds interest points using the scale space theory for curves introduced by Unnikrishnan and Hebert.

The library implements the following descritptors: shape context and beta-grid.

* Shape Context. It implements a local and linear version of the Shape Context introduced by Belongie and Malik. * Beta-Grid. It implements a linear-polar occupancy grid. It extends the Shape Context with the notion of free space.

Example Images

Example matching with FLIRT and RANSAC


Nice animation of a single shot global localization in the Intel lab in Seattle

Input Data
The approach takes raw laser range data without odometry. Odometry can be used to test the validity of the matching result

Logfile Format
Carmen log format

Type of Map
Feature maps and pose graphs

Hardware/Software Requirements
Linux/Unix, GCC 3.3/4.0.x
Boost >= 1.36 (submodules math and graph)
Qt4 (gui only)
Qwt5 for Qt4 (gui only)
OpenGL (gui only)
Cairo (RANSAC test only)

Documentation
FLIRTLib API Documentation and installing instructions

Papers Describing the Approach
Gian Diego Tipaldi and Kai O. Arras: FLIRT - Interest Regions for 2D Range Data, In Proc. of the IEEE International Conference on Robotics and Automation (ICRA), 2010 (link)

Gian Diego Tipaldi, Manuel Braun and Kai O. Arras: FLIRT: Interest Regions for 2D Range Data with Applications to Robot Navigation, In Proceedings of the International Symposium on Experimental Robotics, 2010 (link)

License Information
This software 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.
The authors allow the users of OpenSLAM.org to use and modify the source code for their own research. Any commercial application, redistribution, etc has to be arranged between users and authors individually and is not covered by OpenSLAM.org.

FLIRTLib is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

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. See the GNU Lesser General Public License for more details.

Copyright (C) 2009, 2010 Gian Diego Tipaldi and Kai O. Arras.

Further Information
The FLIRTLib is mainly meant to be used as a library for data association. If you have any problems installing the software, any questions or any comment please do not hesitate to contact me at tipaldi@informatik.uni-freiburg.de


*** OpenSLAM.org is not responsible for the content of this webpage ***
*** Copyright and V.i.S.d.P.: Gian Diego Tipaldi; Kai O. Arras; ***