Benchmark tools for Compressive LiDAR-to-map registration

Overview

Benchmark tools for Compressive LiDAR-to-map registration

This repo contains the released version of code and datasets used for our IROS 2021 paper: "Map Compressibility Assessment for LiDAR Registration [link]. If you find the code useful for your work, please cite:

@inproceedings{Chang21iros,
   author = {M.-F. Chang and W. Dong and J.G. Mangelson and M. Kaess and S. Lucey},
   title = {Map Compressibility Assessment for {LiDAR} Registration},
   booktitle = {Proc. IEEE/RSJ Intl. Conf. on Intelligent Robots andSystems, IROS},
   address = {Prague, Czech Republic},
   month = sep,
   year = {2021}
}

Environment Setup

The released codebase supports following methods:

  1. Point-to-point ICP (from open3d)
  2. Point-to-plane ICP (from open3d)
  3. FPFH (with RANSAC from open3d or Teaser++)
  4. FCGF (with RANSAC from open3d or Teaser++)
  5. D3Feat (with RANSAC from open3d or Teaser++)

To run Teaser++, please also install from https://github.com/MIT-SPARK/TEASER-plusplus (python bindings required). One can build install the environment with the following conda command:

conda create --name=benchmark  python=3.6  numpy open3d=0.12  tqdm pytorch cpuonly -c pytorch -c open3d-admin -c conda-forge 
conda activate benchmark
pip install pillow==6.0 #for visualization

Datasets

The preprocessed data can be downloaded from [link]. The following data were provided:

  1. Preprocessed KITTI scan/local map pairs
  2. Preprocessed Argoverse Tracking scan/local map pairs
  3. FCGF and D3Feat features
  4. The ground truth poses

We haved preprocessed the results from FCGF and D3Feat into pickle files. The dataset is organized as source-target pairs. The source is the input LiDAR scan and the target is the cropped local map with initial LiDAR pose.

By default, we put the data in ./data folder. Please download the corresponding files from [link] and put/symlink it in ./data. The file structure is as follows:

./data
   ├─ data_Argoverse_Tracking
   │    ├─ test_dict_maps.pickle
   │    ├─ test_list_T_gt.pickle
   │    └─ test_samples.pickle
   │ 
   ├─ data_KITTI
   │    ├─ test_dict_maps.pickle
   │    ├─ test_list_T_gt.pickle
   │    └─ test_samples.pickle
   │ 
   ├─ deep
   │    ├─ d3feat.results.pkl.Argoverse_Tracking
   │    ├─ d3feat.results.pkl.KITTI
   │    ├─ fcgf.results.pkl.Argoverse_Tracking
   │    └─ fcgf.results.pkl.KITTI
----

Usage

To run the code, simply use the following command and specify the config file name.:

python3 run_eval.py --path_cfg=configs.config

For trying out existing methods, first edit config.py to config the method list, the dataset name, and the local dataset path.

For trying out new methods, please add the registration function to tester.py and add the method configuration to method.py and the parameters to method.json.

To visualize the resulting recall curves, please run

python3 make_recall_figure_threshold.py --path_cfg=configs.config

It will generate the recall plot and error density plot in ./output_eval_{dataset_name}. Here is an expected outout:

Acknowledgement

This work was supported by the CMU Argo AI Center for Autonomous Vehicle Research. We also thank our labmates for the valuable suggestions to improve this paper.

References

  1. Teaser++
  2. Open3d
  3. KITTI Odometry Dataset
  4. Argoverse 3D Tracking 1.1
  5. FCGF
  6. D3Feat
Owner
Allie
PhD student in Robotics Institute of Carnegie Mellon University
Allie
Normalization Calibration (NorCal) for Long-Tailed Object Detection and Instance Segmentation

NorCal Normalization Calibration (NorCal) for Long-Tailed Object Detection and Instance Segmentation On Model Calibration for Long-Tailed Object Detec

Tai-Yu (Daniel) Pan 24 Dec 25, 2022
Repository containing the PhD Thesis "Formal Verification of Deep Reinforcement Learning Agents"

Getting Started This repository contains the code used for the following publications: Probabilistic Guarantees for Safe Deep Reinforcement Learning (

Edoardo Bacci 5 Aug 31, 2022
A curated list of resources for Image and Video Deblurring

A curated list of resources for Image and Video Deblurring

Subeesh Vasu 1.7k Jan 01, 2023
Code + pre-trained models for the paper Keeping Your Eye on the Ball Trajectory Attention in Video Transformers

Motionformer This is an official pytorch implementation of paper Keeping Your Eye on the Ball: Trajectory Attention in Video Transformers. In this rep

Facebook Research 192 Dec 23, 2022
Scheduling BilinearRewards

Scheduling_BilinearRewards Requirement Python 3 =3.5 Structure main.py This file includes the main function. For getting the results in Figure 1, ple

junghun.kim 0 Nov 25, 2021
LibFewShot: A Comprehensive Library for Few-shot Learning.

LibFewShot Make few-shot learning easy. Supported Methods Meta MAML(ICML'17) ANIL(ICLR'20) R2D2(ICLR'19) Versa(NeurIPS'18) LEO(ICLR'19) MTL(CVPR'19) M

<a href=[email protected]&L"> 603 Jan 05, 2023
Help you understand Manual and w/ Clutch point while driving.

简体中文 forza_auto_gear forza_auto_gear is a tool for Forza Horizon 5. It will help us understand the best gear shift point using Manual or w/ Clutch in

15 Oct 08, 2022
Alex Pashevich 62 Dec 24, 2022
A basic implementation of Layer-wise Relevance Propagation (LRP) in PyTorch.

Layer-wise Relevance Propagation (LRP) in PyTorch Basic unsupervised implementation of Layer-wise Relevance Propagation (Bach et al., Montavon et al.)

Kai Fabi 28 Dec 26, 2022
Code of TIP2021 Paper《SFace: Sigmoid-Constrained Hypersphere Loss for Robust Face Recognition》. We provide both MxNet and Pytorch versions.

SFace Code of TIP2021 Paper 《SFace: Sigmoid-Constrained Hypersphere Loss for Robust Face Recognition》. We provide both MxNet, PyTorch and Jittor versi

Zhong Yaoyao 47 Nov 25, 2022
Tensorflow implementation of MIRNet for Low-light image enhancement

MIRNet Tensorflow implementation of the MIRNet architecture as proposed by Learning Enriched Features for Real Image Restoration and Enhancement. Lanu

Soumik Rakshit 91 Jan 06, 2023
Geometric Vector Perceptrons --- a rotation-equivariant GNN for learning from biomolecular structure

Geometric Vector Perceptron Implementation of equivariant GVP-GNNs as described in Learning from Protein Structure with Geometric Vector Perceptrons b

Dror Lab 142 Dec 29, 2022
Python wrapper to access the amazon selling partner API

PYTHON-AMAZON-SP-API Amazon Selling-Partner API If you have questions, please join on slack Contributions very welcome! Installation pip install pytho

Michael Primke 330 Jan 06, 2023
Distributed Deep learning with Keras & Spark

Elephas: Distributed Deep Learning with Keras & Spark Elephas is an extension of Keras, which allows you to run distributed deep learning models at sc

Max Pumperla 1.6k Jan 05, 2023
A particular navigation route using satellite feed and can help in toll operations & traffic managemen

How about adding some info that can quanitfy the stress on a particular navigation route using satellite feed and can help in toll operations & traffic management The current analysis is on the satel

Ashish Pandey 1 Feb 14, 2022
CAMPARI: Camera-Aware Decomposed Generative Neural Radiance Fields

CAMPARI: Camera-Aware Decomposed Generative Neural Radiance Fields Paper | Supplementary | Video | Poster If you find our code or paper useful, please

26 Nov 29, 2022
EfficientNetV2 implementation using PyTorch

EfficientNetV2-S implementation using PyTorch Train Steps Configure imagenet path by changing data_dir in train.py python main.py --benchmark for mode

Jahongir Yunusov 86 Dec 29, 2022
Not All Points Are Equal: Learning Highly Efficient Point-based Detectors for 3D LiDAR Point Clouds (CVPR 2022, Oral)

Not All Points Are Equal: Learning Highly Efficient Point-based Detectors for 3D LiDAR Point Clouds (CVPR 2022, Oral) This is the official implementat

Yifan Zhang 259 Dec 25, 2022
LEDNet: A Lightweight Encoder-Decoder Network for Real-time Semantic Segmentation

LEDNet: A Lightweight Encoder-Decoder Network for Real-time Semantic Segmentation Table of Contents: Introduction Project Structure Installation Datas

Yu Wang 492 Dec 02, 2022
Code for the paper "PortraitNet: Real-time portrait segmentation network for mobile device" @ CAD&Graphics2019

PortraitNet Code for the paper "PortraitNet: Real-time portrait segmentation network for mobile device". @ CAD&Graphics 2019 Introduction We propose a

265 Dec 01, 2022