All Projects → siavashk → Pycpd

siavashk / Pycpd

Licence: mit
Pure Numpy Implementation of the Coherent Point Drift Algorithm

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pycpd

Fast gicp
A collection of GICP-based fast point cloud registration algorithms
Stars: ✭ 307 (+20.39%)
Mutual labels:  point-cloud, registration
Overlappredator
[CVPR 2021, Oral] PREDATOR: Registration of 3D Point Clouds with Low Overlap.
Stars: ✭ 106 (-58.43%)
Mutual labels:  point-cloud, registration
Cilantro
A lean C++ library for working with point cloud data
Stars: ✭ 577 (+126.27%)
Mutual labels:  point-cloud, registration
Unsupervisedrr
[CVPR 2021 - Oral] UnsupervisedR&R: Unsupervised Point Cloud Registration via Differentiable Rendering
Stars: ✭ 43 (-83.14%)
Mutual labels:  point-cloud, registration
superpose3d
register 3D point clouds using rotation, translation, and scale transformations.
Stars: ✭ 34 (-86.67%)
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 (+20%)
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 (-80%)
Mutual labels:  point-cloud, registration
Ndt omp
Multi-threaded and SSE friendly NDT algorithm
Stars: ✭ 291 (+14.12%)
Mutual labels:  point-cloud, registration
Cupoch
Robotics with GPU computing
Stars: ✭ 225 (-11.76%)
Mutual labels:  point-cloud, registration
3d Pointcloud
Papers and Datasets about Point Cloud.
Stars: ✭ 179 (-29.8%)
Mutual labels:  point-cloud, registration
Deepmapping
code/webpage for the DeepMapping project
Stars: ✭ 140 (-45.1%)
Mutual labels:  point-cloud, registration
DeepI2P
DeepI2P: Image-to-Point Cloud Registration via Deep Classification. CVPR 2021
Stars: ✭ 130 (-49.02%)
Mutual labels:  point-cloud, registration
YOHO
[ACM MM 2022] You Only Hypothesize Once: Point Cloud Registration with Rotation-equivariant Descriptors
Stars: ✭ 76 (-70.2%)
Mutual labels:  point-cloud, registration
OverlapPredator
[CVPR 2021, Oral] PREDATOR: Registration of 3D Point Clouds with Low Overlap.
Stars: ✭ 293 (+14.9%)
Mutual labels:  point-cloud, registration
pointnet2-pytorch
A clean PointNet++ segmentation model implementation. Support batch of samples with different number of points.
Stars: ✭ 45 (-82.35%)
Mutual labels:  point-cloud
reactjs-login-register-crud
ReactJS CRUD Application, ReactJS FileUpload, ReactJS Sample application, ReactJS Boilerplate, ReactJS Login, ReactJS FileUpload, ReactJS Register
Stars: ✭ 47 (-81.57%)
Mutual labels:  registration
BtcDet
Behind the Curtain: Learning Occluded Shapes for 3D Object Detection
Stars: ✭ 104 (-59.22%)
Mutual labels:  point-cloud
lowshot-shapebias
Learning low-shot object classification with explicit shape bias learned from point clouds
Stars: ✭ 37 (-85.49%)
Mutual labels:  point-cloud
matrix-register-bot
Bot that offers two step registrations to a matrix-synapse server
Stars: ✭ 25 (-90.2%)
Mutual labels:  registration
CovGT-3DRegistration-matlab
A 3D Scene Registration Method via Covariance Descriptors and an Evolutionary Stable Strategy Game Theory Solver
Stars: ✭ 20 (-92.16%)
Mutual labels:  registration

############# Python-CPD ############# .. image:: https://travis-ci.com/siavashk/pycpd.svg?branch=master :target: https://travis-ci.com/siavashk/pycpd

Pure Numpy Implementation of the Coherent Point Drift Algorithm.

MIT License.


Introduction


This is a pure numpy implementation of the coherent point drift CPD <https://arxiv.org/abs/0905.2635/>_ algorithm by Myronenko and Song. It provides three registration methods for point clouds: 1) Scale and rigid registration; 2) Affine registration; and 3) Gaussian regularized non-rigid registration.

The CPD algorithm is a registration method for aligning two point clouds. In this method, the moving point cloud is modelled as a Gaussian Mixture Model (GMM) and the fixed point cloud are treated as observations from the GMM. The optimal transformation parameters maximze the Maximum A Posteriori (MAP) estimation that the observed point cloud is drawn from the GMM.

The registration methods work for 2D and 3D point clouds. For more information, please refer to my blog <http://siavashk.github.io/2017/05/14/coherent-point-drift/>_.


Pip Install


.. code-block:: bash

pip install pycpd


Installation From Source


Clone the repository to a location, referred to as the root folder. For example:

.. code-block:: bash

git clone https://github.com/siavashk/pycpd.git $HOME/pycpd

Install the package:

.. code-block:: bash

pip install .

For running sample registration examples under examples, you will need matplotlib to visualize the registration. This can be downloaded by running:

.. code-block:: bash

pip install matplotlib


Usage


Each registration method is contained within a single class inside the pycpd subfolder. To try out the registration, you can simply run:

.. code-block:: bash

python examples/fish_{Transform}_{Dimension}.py

where Transform is either rigid, affine or deformable and Dimension is either 2D or 3D. Note that examples are meant to be run from the root folder.

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