class2 Nearest Neighbors
最近邻搜索问题
Nearest Neighbor (NN) Problem
主要有两种NN问题
-
K-NN
在空间
M
中有一个点集S
,一个查询点 q ∈ M q\in M q∈M,找到查询点在S中最近的k个点下图是3-NN
-
Fixed Radius-NN
在空间
M
中有一个点集S
,一个查询点 q ∈ M q\in M q∈M,找到所有在S中和查询点距离小于r的点∣ ∣ s − q ∣ ∣ < r ||s-q||<r ∣∣s−q∣∣<r
-
NN 问题的应用领域
- 表面法向量估计
- 噪点滤除
- 降采样
- 聚类
- 特征点检测和特征提取
- 深度学习
- …
-
为什么最近邻搜索对点云来说很困难?
- 对于图像,最近邻搜索只要简单的 x + Δ x , y + Δ y x+\Delta x,y+\Delta y x+Δx,y+Δy
- 对于点云来说
- 点云不规则
- 比图像多一个维度
- 点云数据量巨大
-
Core Ideas Shared by BST, kd-tree, octree
-
空间分割
- 把空间分割成不同的区域
- 只在一些特定的区域内搜索,不是搜索所有的数据
-
提前停止搜索
-
1.Binary Search Tree
二叉搜索树
-
节点定义
struct Node