All Projects → ai4ce → Deepmapping

ai4ce / Deepmapping

Licence: other
code/webpage for the DeepMapping project

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deepmapping

Pycpd
Pure Numpy Implementation of the Coherent Point Drift Algorithm
Stars: ✭ 255 (+82.14%)
Mutual labels:  point-cloud, registration
Dynamic robot localization
Point cloud registration pipeline for robot localization and 3D perception
Stars: ✭ 339 (+142.14%)
Mutual labels:  mapping, registration
Ndt omp
Multi-threaded and SSE friendly NDT algorithm
Stars: ✭ 291 (+107.86%)
Mutual labels:  point-cloud, registration
YOHO
[ACM MM 2022] You Only Hypothesize Once: Point Cloud Registration with Rotation-equivariant Descriptors
Stars: ✭ 76 (-45.71%)
Mutual labels:  point-cloud, registration
Weakly Supervised 3d Object Detection
Weakly Supervised 3D Object Detection from Point Clouds (VS3D), ACM MM 2020
Stars: ✭ 61 (-56.43%)
Mutual labels:  point-cloud, unsupervised-learning
DeepI2P
DeepI2P: Image-to-Point Cloud Registration via Deep Classification. CVPR 2021
Stars: ✭ 130 (-7.14%)
Mutual labels:  point-cloud, registration
Fast gicp
A collection of GICP-based fast point cloud registration algorithms
Stars: ✭ 307 (+119.29%)
Mutual labels:  point-cloud, registration
3d Pointcloud
Papers and Datasets about Point Cloud.
Stars: ✭ 179 (+27.86%)
Mutual labels:  point-cloud, registration
Ppf Foldnet
PyTorch reimplementation for "PPF-FoldNet: Unsupervised Learning of Rotation Invariant 3D Local Descriptors" https://arxiv.org/abs/1808.10322
Stars: ✭ 51 (-63.57%)
Mutual labels:  point-cloud, registration
Unsupervisedrr
[CVPR 2021 - Oral] UnsupervisedR&R: Unsupervised Point Cloud Registration via Differentiable Rendering
Stars: ✭ 43 (-69.29%)
Mutual labels:  point-cloud, registration
superpose3d
register 3D point clouds using rotation, translation, and scale transformations.
Stars: ✭ 34 (-75.71%)
Mutual labels:  point-cloud, registration
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+1240%)
Mutual labels:  point-cloud, mapping
UnsupervisedPointCloudReconstruction
Experiments on unsupervised point cloud reconstruction.
Stars: ✭ 133 (-5%)
Mutual labels:  point-cloud, unsupervised-learning
OverlapPredator
[CVPR 2021, Oral] PREDATOR: Registration of 3D Point Clouds with Low Overlap.
Stars: ✭ 293 (+109.29%)
Mutual labels:  point-cloud, registration
Cupoch
Robotics with GPU computing
Stars: ✭ 225 (+60.71%)
Mutual labels:  point-cloud, registration
Probreg
Python package for point cloud registration using probabilistic model (Coherent Point Drift, GMMReg, SVR, GMMTree, FilterReg, Bayesian CPD)
Stars: ✭ 306 (+118.57%)
Mutual labels:  point-cloud, registration
Cilantro
A lean C++ library for working with point cloud data
Stars: ✭ 577 (+312.14%)
Mutual labels:  point-cloud, registration
Overlappredator
[CVPR 2021, Oral] PREDATOR: Registration of 3D Point Clouds with Low Overlap.
Stars: ✭ 106 (-24.29%)
Mutual labels:  point-cloud, registration
Bcpd
Bayesian Coherent Point Drift (BCPD/BCPD++); Source Code Available
Stars: ✭ 116 (-17.14%)
Mutual labels:  point-cloud, unsupervised-learning
Maps Api For Javascript Examples
Self-contained examples for Maps API for JavaScript v3.
Stars: ✭ 130 (-7.14%)
Mutual labels:  mapping

DeepMapping: Unsupervised Map Estimation From Multiple Point Clouds

This repository contains PyTorch implementation associated with the paper:

"DeepMapping: Unsupervised Map Estimation From Multiple Point Clouds", Li Ding and Chen Feng, CVPR 2019 (Oral).

Citation

If you find DeepMapping useful in your research, please cite:

@InProceedings{Ding_2019_CVPR,
author = {Ding, Li and Feng, Chen},
title = {DeepMapping: Unsupervised Map Estimation From Multiple Point Clouds},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2019}
}

Dependencies

Requires Python 3.x, PyTorch, Open3D, and other common packages listed in requirements.txt

pip3 install -r requirements.txt

Running on GPU is highly recommended. The code has been tested with Python 3.6.5, PyTorch 0.4.0 and Open3D 0.4.0

Getting Started

Dataset

Simulated 2D point clouds are provided as ./data/2D/all_poses.tar. Extract the tar file:

tar -xvf ./data/2D/all_poses.tar -C ./data/2D/

A set of sub-directories will be created. For example, ./data/2D/v1_pose0 corresponds to the trajectory 0 sampled from the environment v1. In this folder, there are 256 local point clouds saved in PCD file format. The corresponding ground truth sensor poses is saved as gt_pose.mat file, which is a 256-by-3 matrix. The i-th row in the matrix represent the sensor pose [x,y,theta] for the i-th point cloud.

Solving Registration As Unsupervised Training

To run DeepMapping, execute the script

./script/run_train_2D.sh

By default, the results will be saved to ./results/2D/.

Warm Start

DeepMapping allows for seamless integration of a “warm start” to reduce the convergence time with improved performance. Instead of starting from scratch, you can first perform a coarse registration of all point clouds using incremental ICP

./script/run_icp.sh

The coarse registration can be further improved by DeepMapping. To do so, simply set INIT_POSE=/PATH/TO/ICP/RESULTS/pose_est.npy in ./script/run_train_2D.sh. Please see the comments in the script for detailed instruction.

Evaluation

The estimated sensor pose is saved as numpy array pose_est.npy. To evaluate the registration, execute the script

./script/run_eval.sh

Absolute trajectory error will be computed as error metrics.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].