#knn #kdtree #nearest-neighbor #data-structures #computer-vision #nns

nabo-pbc

这是一个用于低维空间的快速K最近邻(KNN)库,现在支持周期性边界条件

1个不稳定版本

0.2.1 2022年7月25日

#300多媒体

MIT/Apache

57KB
1K SLoC

nabo

Crates.io Docs.rs Build Status

这是对nabo的分支,以非常高效的方式实现了周期边界的支持。API变化最小。以下是Stéphane Magnenat & Hannes Sommer的原版README

概述

nabo是一个用于低维空间的快速K最近邻(KNN)库。它是同名C++库的纯Rust重实现,该库由其原作者开发。该作品由Enlightware GmbH赞助。

使用方法

要在项目中使用nabo,您需要为您自己的点类型实现nabo::Point trait。您可以在src/dummy_point中看到一个示例,当nabo与dummy_point特性(默认)一起编译时,该示例是可用的。如果您想避免对rand的依赖,请禁用dummy_point特性。

基准测试

您可以使用以下命令对nabo进行基准测试

cargo bench

引用nabo

如果您在学术环境中使用nabo,请引用这篇评估其在机器人映射研究背景下性能的论文

@article{elsebergcomparison,
	title={Comparison of nearest-neighbor-search strategies and implementations for efficient shape registration},
	author={Elseberg, J. and Magnenat, S. and Siegwart, R. and N{\"u}chter, A.},
	journal={Journal of Software Engineering for Robotics (JOSER)},
	pages={2--12},
	volume={3},
	number={1},
	year={2012},
	issn={2035-3928}
}

许可

许可协议为以下之一

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可协议定义,您有意提交给本项目并由您包含在内的任何贡献,应按上述方式双许可,无需任何附加条款或条件。

依赖

~190–320KB