This repository contains a prototype implementation of a 2D non-rigid point cloud registration algorithm. The algorithm is described in the paper "Non-rigid point cloud registration using piece-wise tricubic polynomials as transformation model".
The preprint of the paper can be found here - it can be cited as:
@article{glira2023,
doi = {10.20944/preprints202310.1120.v1},
url = {https://doi.org/10.20944/preprints202310.1120.v1},
year = 2023,
month = {October},
publisher = {Preprints},
author = {Philipp Glira and Christoph Weidinger and Johannes Otepka-Schremmer and Camillo Ressl and Norbert Pfeifer and Michaela Haberler-Weber},
title = {Non-Rigid Point Cloud Registration Using Piece-Wise Tricubic Polynomials as Transformation Model},
journal = {Preprints}
}
An efficient 3D implementation of this algorithm written in C++ can be found here.
A minimal example is provided in the test folder. It can be started with:
cd test
minimal_example
This example registers two point clouds of a fish in a non-rigid manner. The result is:
Source of the point clouds: Myronenko, A.; Song, X.; Carreira-Perpinan, M. Non-rigid point set registration: Coherent point drift. Advances in neural information processing systems 2006, 19.
We have implemented a graphical user interface (GUI) for testing the algorithm - it can be started in the test folder with:
cd test
run_nonrigidRegistrationGUI.m
The prototype has been tested with Matlab R2023a. It requires the "Statistics and Machine Learning Toolbox".