Michael Werman (HUJI, Israel), Alexander Kolpakov (University of Austin, USA)
A new algorithm, RoAM (Robust Affine Matching via Grassmannians) to solve the problem of affine registration is proposed. The algorithm is based on the Grassmannian of
Files included:
-
roam_tests.ipynb : RoAM algorithm realized in Python / SageMath, numerical experiments and statistcs for tests with different levels of noise and point discrepancy
-
(filename).csv : point cloud filename = (Teapot | Bunny | Cow)
-
roam_stats_(batch%size)_(filename).csv : test stats for RoAM saved in csv format (see the manuscript for description) for point cloud "filename" with batch size of "batch%size" per test
-
GrassGraph_comparison.ipynb : GrassGraph algorithm realized in Python / SageMath, numerical experiments and statistcs for tests with different levels of noise and point discrepancy
-
GrassGraph_stats_(filename).csv : test stats for the "standard" GrassGraph with 3 Laplacian eigenvectors for point cloud "filename"
-
GrassGraph_stats_mod_(filename).csv : test stats for the "modified" GrassGraph with 10 Laplacian eigenvectors for point cloud "filename"
-
roam_stats_plot_colormap.ipynb : plotting the test stats as colormaps (see the manuscript for description)
-
roam_partial_scan.ipynb : registering two scans of the same object
-
roam_best_vs_weighted : comparison of two approaches to feature matching (best matching among a number of probabilistic trials vs a weighted sum projected to the nearest permutation)
-
Enfant_au_Chien-Broken.obj, Enfant_au_Chien.obj : meshes of the same statue, broken and restored
-
roam_manuscript.pdf : manuscript describing the algorithm
Using:
Caerbannog point clouds from https://data.nrel.gov/submissions/153 (unoccluded teapot, bunny, cow); Three D Scans from https://threedscans.com/ ("Enfant au Chien" statue before and after restoration).
Required:
SageMath (https://www.sagemath.org) installed to run the worksheets; Open3D (http://www.open3d.org), available via pip.