SkillAgentSearch skills...

Flirtlib

FLIRTLib - Fast Laser Interest Region Transform Library

Install / Use

/learn @tipaldi/Flirtlib
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

** FLIRTLib - Fast Laser Interest Region Transform Library ** Gian Diego Tipaldi, Kai O. Arras. ** Copyright (C) 2009-2015 Gian Diego Tipaldi and Kai O. Arras

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.

Detectors

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.

Descriptors

Shape Context. It implements a local and linear version of teh 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.

Structure

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. The src/ directory has the following structure:

mainpage.h : dummy header file for generating the documentation. README : this file INSTALL : installation notes. COPYING and COPYING.LESSER : 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. applications/ : the directory with the code for generating the binaries to test the library.

Install

The library relies on cmake to generate the Makefiles.

Run mkdir build cd build cmake ../ make

For a more verbose output do Run VERBOSE=1 cmake ../ VERBOSE=1 make

Install the library using make install

Dependencies

The software depends on the following external libraries

Boost >= 1.36 (submodules math and graph) Qt4 (for the gui) Qwt5 for Qt4 (for the gui) OpenGL (for the gui) Cairo (for drwaing the ransac results)

Usage

The library comes with some demo binaries and an API interface. Look at the example binaries in applications/

Binaries

They package provide the following binaries in <lib_root>/bin/

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.

Using the library

The library is compiled as a collection of shared objects and are available in

<lib_root>/lib/

The header files are located in

<lib_root>/include

See the class list on the doxygen documentation for a more detailed API reference.

How to cite

Choose one of the following publications:

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

[2] Gian Diego Tipaldi, Kai O. Arras. FLIRT -- Interest Regions for 2D Range Data. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA). 2010.

License

FLIRTLib - Fast Laser Interesting Region Transform Library Copyright (C) 2009-2015 Gian Diego Tipaldi and Kai O. Arras

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.

You should have received a copy of the GNU Lesser General Public License along with FLIRTLib. If not, see http://www.gnu.org/licenses/ .

Related Skills

View on GitHub
GitHub Stars44
CategoryDevelopment
Updated10mo ago
Forks31

Languages

C++

Security Score

82/100

Audited on May 13, 2025

No findings