Crates.io | kriss_matcher |
lib.rs | kriss_matcher |
version | 0.0.1 |
source | src |
created_at | 2024-10-23 09:27:30.784065 |
updated_at | 2024-10-23 09:27:30.784065 |
description | Rust implementation of the paper 'KISS-Matcher: Fast and Robust Point Cloud Registration Revisited' |
homepage | https://github.com/szobov/kriss_matcher |
repository | https://github.com/szobov/kriss_matcher |
max_upload_size | |
id | 1419873 |
size | 141,628 |
The implementation of the paper KISS-Matcher: Fast and Robust Point Cloud Registration Revisited.
This project is my first complete implementation in Rust, created out of curiosity and a desire to learn the language while implementing the concepts from the paper. It was developed over a weekend, so it may not be production-ready. Feedback and contributions are welcome!
This implementation has some differences:
Single Radius Search:
r_normal
instead of sub-sampling from r_fpfh
. There are no particular reasons, just to ease implementation since it seemed non-important.Histogram Bin Size:
H
) used in the calculation of FPFH (Fast Point Feature Histogram). More information on my choice is here.GNC Solver for Rotation and Translation Estimation:
Normal Estimation Using SVD Instead of PCA:
Graph Representation in Correspondence Pruning:
Also covers "Appendix.I. Detailed Explanation of Faster-PFH".
normal_estimation.rs
point_feature_histograms.rs
feature_matching.rs
graph_pruning.rs
gnc_solver.rs
To add library to your rust project use:
$ cargo add kriss_matcher
To use in Python use any package managers such as pip or uv.
$ pip install kriss_matcher
or
$ uv add kriss_matcher
To run the example you can use:
uv run --no-project --python=3.11 examples/example.py
it will install all required dependencies.
Feel free to open issues or submit pull requests if you find bugs or have suggestions for improvements.
This project is open-sourced under the Apache Version 2.0 License.