Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
Falkolib
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
labrobotica
algorithms
Falkolib
Commits
dd81ab35
Commit
dd81ab35
authored
9 years ago
by
Dario Lodi Rizzini
Browse files
Options
Downloads
Patches
Plain Diff
modified README.md
parent
32b57692
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+126
-2
126 additions, 2 deletions
README.md
with
126 additions
and
2 deletions
README.md
+
126
−
2
View file @
dd81ab35
# falkolib
A library containing keypoint detectors for the stable detection of interest points in laser measurements and two descriptors for robust associations.
*
FALKOLib - Fast Adaptive Laser Keypoint Orientation-invariant
*
Copyright (C) 2016 Fabjan Kallasi and Dario Lodi Rizzini.
OVERVIEW
-------------------------------------------------
FALKOLib is a library that implements two keypoint detectors
and two descriptors designed for 2D LIDARs.
The two detectors are:
-
FALKO (Fast Adaptive Laser Keypoint Orientation-invariant), a
general purpose keypoint detector which gives the name to
the whole library;
-
OC (Orthogonal Corner), a keypoint specific for enviroments
with straight linear walls and architectural elements
arranged along orthogonal directions.
The two descriptors are:
-
BSC (Binary Shape Context), a binary version of standard
shape context descriptor;
-
CGH (Cumulative Gaussian Histogram), which represents the
neighborhood of a point with an histogram.
Moreover, the library provides the implementation of methods
for keypoint/feature data association.
In particular, the following methods have been implemented:
-
NN (Nearest Neighbor): each keypoint/feature of one set
are associated to the nearest keypoint/features of another set;
-
CCDA (Combined Constraint Data Association): features are
associated by finding the maximal sets of corresponding
feature pairs, which are compatible with constraints to
a set;
-
AHT (Affine Hough Transform): the corresponding features
are found by voting the affine/rigid transformation
that overlaps them according to Hough technique.
If you use this library, please cite the following paper:
F. Kallasi, D. Lodi Rizzini, and S. Caselli.
Fast Keypoint Features from Laser Scanner for Robot Localization and Mapping.
IEEE Robotics and Automation Letters (RA-L), 1(1):176-183, jan 2016.
DOI 10.1109/LRA.2016.2517210
or the most relevant publication associated by visiting:
http://rimlab.ce.unipr.it/FALKOLib.html
DEPENDENCIES
-------------------------------------------------
The software depends on the following external libraries
Boost >= 1.36 (submodule lexical_cast)
Eigen 3.0
The library also requires the third party library mcqd
developed by Janez Konc (see http://www.sicmm.org/konc/),
which has been included in folder EXTERNAL.
HOW TO COMPILE
-------------------------------------------------
Let ${falkolib_ROOT} be the install directory of your local copy
of library falkolib.
The following standard commands are required to compile it:
cd ${falkolib_ROOT}
mkdir build
cd build
cmake ..
make
You can also install the library into a system directory.
To change the install directory you must set cmake environment
variable ${CMAKE_INSTALL_PREFIX} (e.g. using command "ccmake .."
before calling "cmake ..").
Its default value on UNIX-like/Linux systems is "/usr/local".
After compiling library falkolib, run the command:
sudo make install
The command "sudo" is required only if ${CMAKE_INSTALL_PREFIX}
is a system diretory managed by administrator user root.
Such command copies:
-
header files of ${falkolib_ROOT}/include/falkolib to
${CMAKE_INSTALL_PREFIX}/include/falkolib/
-
library files ${falkolib_ROOT}/lib/libfalkolib.a to
${CMAKE_INSTALL_PREFIX}/lib/
-
cmake script ${falkolib_ROOT}/cmake_modules/falkolibConfig.cmake to
${CMAKE_INSTALL_PREFIX}/share/falkolib/
HOW TO USE LIBRARY falkolib IN YOUR PROJECT
-------------------------------------------------
If library falkolib has been installed in system directory "/usr/local",
then it is straighforward to use it in your projects.
You needs to add the following lines to your project as in this example:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(foobar)
find_package(falkolib REQUIRED)
message(STATUS "falkolib_FOUND ${falkolib_FOUND}")
message(STATUS "falkolib_INCLUDE_DIRS ${falkolib_INCLUDE_DIRS}")
message(STATUS "falkolib_LIBRARY_DIRS ${falkolib_LIBRARY_DIRS}")
message(STATUS "falkolib_LIBRARIES ${falkolib_LIBRARIES}")
if(${falkolib_FOUND})
include_directories(${falkolib_INCLUDE_DIRS})
link_directories(${falkolib_LIBRARY_DIRS})
endif()
add_executable(foobar foobar.cpp)
target_link_libraries(foobar ${falkolib_LIBRARIES})
The above example uses the variables defined in falkolibConfig.cmake:
falkolib_FOUND - system has falkolib module
falkolib_INCLUDE_DIRS - the falkolib include directories
falkolib_LIBRARY_DIRS - the falkolib library directories
falkolib_LIBRARIES - link these to use falkolib
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment