All Projects → wentaoyuan → deepgmr

wentaoyuan / deepgmr

Licence: other
PyTorch implementation of DeepGMR: Learning Latent Gaussian Mixture Models for Registration (ECCV 2020 spotlight)

Programming Languages

python
139335 projects - #7 most used programming language
Cuda
1817 projects

Projects that are alternatives of or similar to deepgmr

clipper
graph-theoretic framework for robust pairwise data association
Stars: ✭ 96 (-1.03%)
Mutual labels:  point-cloud-registration
awesome-3d-computer-vision-from-0-to-1
3D视觉从入门到精通,包括3D视觉工坊的技术文章汇总,技术星球的问答及精华帖汇总。
Stars: ✭ 20 (-79.38%)
Mutual labels:  3d-computer-vision
PyBGMM
Bayesian inference for Gaussian mixture model with some novel algorithms
Stars: ✭ 51 (-47.42%)
Mutual labels:  gaussian-mixture-models
MachineLearning
Implementations of machine learning algorithm by Python 3
Stars: ✭ 16 (-83.51%)
Mutual labels:  gaussian-mixture-models
SkeletonMerger
Code repository for paper `Skeleton Merger: an Unsupervised Aligned Keypoint Detector`.
Stars: ✭ 49 (-49.48%)
Mutual labels:  3d-computer-vision
AI Learning Hub
AI Learning Hub for Machine Learning, Deep Learning, Computer Vision and Statistics
Stars: ✭ 53 (-45.36%)
Mutual labels:  gaussian-mixture-models
ManiSkill
SAPIEN Manipulation Skill Benchmark (NeurIPS 2021 Track on Datasets and Benchmarks)
Stars: ✭ 102 (+5.15%)
Mutual labels:  3d-computer-vision
kdsb17
Gaussian Mixture Convolutional AutoEncoder applied to CT lung scans from the Kaggle Data Science Bowl 2017
Stars: ✭ 18 (-81.44%)
Mutual labels:  gaussian-mixture-models
simpleICP
Implementations of a rather simple version of the Iterative Closest Point algorithm in various languages.
Stars: ✭ 140 (+44.33%)
Mutual labels:  point-cloud-registration
bayseg
An unsupervised machine learning algorithm for the segmentation of spatial data sets.
Stars: ✭ 46 (-52.58%)
Mutual labels:  gaussian-mixture-models
superpose3d
register 3D point clouds using rotation, translation, and scale transformations.
Stars: ✭ 34 (-64.95%)
Mutual labels:  point-cloud-registration
android-vad
This VAD library can process audio in real-time utilizing GMM which helps identify presence of human speech in an audio sample that contains a mixture of speech and noise.
Stars: ✭ 64 (-34.02%)
Mutual labels:  gaussian-mixture-models
fishervector
Improved Fisher Vector Implementation- extracts Fisher Vector features from your data
Stars: ✭ 99 (+2.06%)
Mutual labels:  gaussian-mixture-models
Numpy Ml
Machine learning, in numpy
Stars: ✭ 11,100 (+11343.3%)
Mutual labels:  gaussian-mixture-models
Clustering-in-Python
Clustering methods in Machine Learning includes both theory and python code of each algorithm. Algorithms include K Mean, K Mode, Hierarchical, DB Scan and Gaussian Mixture Model GMM. Interview questions on clustering are also added in the end.
Stars: ✭ 27 (-72.16%)
Mutual labels:  gaussian-mixture-models
Machine-Learning-and-Pattern-Recognition
Implementation of Machine Learning Algorithms
Stars: ✭ 43 (-55.67%)
Mutual labels:  gaussian-mixture-models
tf-example-models
TensorFlow-based implementation of (Gaussian) Mixture Model and some other examples.
Stars: ✭ 42 (-56.7%)
Mutual labels:  gaussian-mixture-models
OMG Depth Fusion
Probabilistic depth fusion based on Optimal Mixture of Gaussians for depth cameras
Stars: ✭ 52 (-46.39%)
Mutual labels:  gaussian-mixture-models
Awesome Point Cloud Analysis
A list of papers and datasets about point cloud analysis (processing)
Stars: ✭ 3,104 (+3100%)
Mutual labels:  point-cloud-registration
Computer-Vision-and-Photogrammetry
Course at University of Wroclaw - full 3D reconstruction from images pipeline
Stars: ✭ 35 (-63.92%)
Mutual labels:  3d-computer-vision

DeepGMR: Learning Latent Gaussian Mixture Models for Registration

[paper] [data] [website]

teaser

Introduction

Deep Gaussian Mixture Registration (DeepGMR) is a learning-based probabilistic point cloud registration algorithm which achieves fast and accurate global regitration. This repository contains a basic PyTorch implementation of DeepGMR. Please refer to our project website or our publication at ECCV 2020 for more details.

If you find our work useful, please consider citing our paper:

@inproceedings{yuan2020deepgmr,
  title        = {DeepGMR: Learning Latent Gaussian Mixture Models for Registration},
  author       = {Yuan, Wentao and Eckart, Benjamin and Kim, Kihwan and Jampani, Varun and Fox, Dieter and Kautz, Jan},
  booktitle    = {European Conference on Computer Vision},
  pages        = {733--750},
  year         = {2020},
  organization = {Springer}
}

Usage

Prerequisite

  1. Install dependencies by conda create -f environment.yml -n deepgmr.
  2. Download data to data/.
  3. Download pre-trained models to models/ (optional).

Inference

We provide four datasets for benchmarking registration results: modelnet_clean.h5, modelnet_noisy.h5, modelnet_unseen.h5 and icl_nuim.h5 (see Sec. 5 of our paper for more details). Each HDF5 file contains pairs of source and target point clouds with ground truth transformations. The transformations are fixed for ease of comparison.

Download the pre-trained models to reproduce the results of DeepGMR in the paper. For example, to see results on ModelNet noisy, run

python test.py --data data/test/modelnet_noisy.h5 \
--checkpoint models/modelnet_noisy.pth \
--use_rri \
--save_results \
--results_dir log/modelnet_noisy/test

and the predicted transformations will be saved at log/modelnet_noisy/test.

Training

Training DeepGMR is simple. For example, to train on ModelNet unseen:

python train.py --data data/train/modelnet20.h5 \
--log_dir log/modelnet_unseen/train \
--use_rri

Note that we use point clouds from only the first 20 classes of ModelNet40 (modelnet20.h5) instead of the full ModelNet40 (modelnet40.h5) to test the generalizability of our model to point clouds form unknown categories.

Ground truth transformations for the training/validation data are generated on the fly, whose magnitude can be controlled by --max_angle and --max_trans. The --clean flag controls whether independent Gaussian noise is added to the input points. Visualizations of the registration results will be available on Tensorboard during training.

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].