当前位置: 代码迷 >> 综合 >> 三维点云学习(4)5-DBSCNA python 复现-3-kd-tree radius NN 三方库 scipy 与 sklearn速度比较
  详细解决方案

三维点云学习(4)5-DBSCNA python 复现-3-kd-tree radius NN 三方库 scipy 与 sklearn速度比较

热度:84   发布时间:2024-02-01 19:39:42.0

三维点云学习(4)5-DBSCNA python 复现-3-kd-tree radius NN 三方库 scipy 与 sklearn速度比较

import

from scipy.spatial import KDTree
from sklearn.neighbors import KDTree # KDTree 进行搜索

调用

#建树
#step2 通过判断,通过kd_tree radius NN找出所有核心点
nearest_idx = tree.query_radius(data, eps)  # 进行radius NN搜索,半径为epsion,所有点的最临近点储存在 nearest_idx中

scipy 库 radius NN

nearest_idx = tree.query_ball_point(data, eps)  # 进行radius NN搜索,半径为epsion,所有点的最临近点储存在 nearest_idx中

sklearn 库 radius NN

nearest_idx = tree.query_radius(data, eps)  # 进行radius NN搜索,半径为epsion,所有点的最临近点储存在 nearest_idx中

速度比较

明显在使用radius nn,sklearn 比 scipy 速度要更快!!!

56000 points

scipy

segment datasize:56210
生成的聚类个数:186
dbscan time:456.837278

sklearn

segment datasize:52495
生成的聚类个数:183
dbscan time:25.373548

2000 points

scipy

生成的聚类个数:4
dbscan time:3.278673

sklearn

生成的聚类个数:5
dbscan time:0.030102
  相关解决方案