Git Product home page Git Product logo

fast_gicp's Introduction

fast_gicp

This package is a collection of GICP-based fast point cloud registration algorithms. It constains a multi-threaded GICP as well as multi-thread and GPU implementations of our voxelized GICP (VGICP) algorithm. All the implemented algorithms have the PCL registration interface so that they can be used as an inplace replacement for GICP in PCL.

  • FastGICP: multi-threaded GICP algorithm (~40FPS)
  • FastGICPSingleThread: GICP algorithm optimized for single-threading (~15FPS)
  • FastVGICP: multi-threaded and voxelized GICP algorithm (~70FPS)
  • FastVGICPCuda: CUDA-optimized voxelized GICP algorithm (~120FPS) proctime

Build Status on melodic & noetic

Installation

Dependencies

  • PCL
  • Eigen
  • Sophus
  • nvbio
  • OpenMP (optional)
  • CUDA (optional)

We have tested this package with Ubuntu 18.04, ROS melodic, and CUDA 10.2.

CUDA

To enable CUDA-based features, uncomment find_package(CUDA) in CMakeLists.txt.

ROS

cd ~/catkin_ws/src
git clone https://github.com/SMRT-AIST/fast_gicp --recursive
cd .. && catkin_make -DCMAKE_BUILD_TYPE=Release

Non-ROS

git clone https://github.com/SMRT-AIST/fast_gicp --recursive
mkdir fast_gicp/build && fast_gicp/build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8

Benchmark

CPU:Core i9-9900K GPU:GeForce RTX2080Ti

roscd fast_gicp/data
rosrun fast_gicp gicp_align 251370668.pcd 251371071.pcd
target:17249[pts] source:17518[pts]
--- pcl_gicp ---
single:116.732[msec] 100times:10867.1[msec] fitness_score:0.204306
--- pcl_ndt ---
single:52.8007[msec] 100times:5220.49[msec] fitness_score:0.226416
--- fgicp_st ---
single:110.343[msec] 100times:10651.2[msec] 100times_reuse:6962.1[msec] fitness_score:0.0922969
--- fgicp_mt ---
single:24.3643[msec] 100times:2716.7[msec] 100times_reuse:1799.1[msec] fitness_score:0.0922969
--- vgicp_st ---
single:115.041[msec] 100times:8759.43[msec] 100times_reuse:4784.57[msec] fitness_score:0.0912174
--- vgicp_mt ---
single:19.705[msec] 100times:1963.74[msec] 100times_reuse:1044.29[msec] fitness_score:0.0912174
--- vgicp_cuda (parallel_kdtree) ---
single:16.1846[msec] 100times:1611.89[msec] 100times_reuse:779.65[msec] fitness_score:0.0709287
--- vgicp_cuda (gpu_bruteforce) ---
single:49.7294[msec] 100times:3145.78[msec] 100times_reuse:1541.36[msec] fitness_score:0.0710122

See src/align.cpp for the detailed usage.

Test on KITTI

# Perform frame-by-frame registration
rosrun fast_gicp gicp_kitti /your/kitti/path/sequences/00/velodyne

kitti00

Related packages

Papers

  • Kenji Koide, Masashi Yokozuka, Shuji Oishi, and Atsuhiko Banno, Voxelized GICP for fast and accurate 3D point cloud registration [link]

Contact

Kenji Koide, [email protected]

Robot Innovation Research Center, National Institute of Advanced Industrial Science and Technology, Japan [URL]

fast_gicp's People

Contributors

koide3 avatar mrboriska avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.