class2 Nearest Neighbors 最近邻搜索

本文介绍了最近邻搜索问题在3D点云处理中的应用及挑战,详细阐述了二叉搜索树(BST)和kd树在解决K-NN和固定半径NN问题上的原理和实现过程,包括空间分割、提前停止搜索等核心思想,并讨论了不同搜索策略的效率和适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class2 Nearest Neighbors

最近邻搜索问题

Nearest Neighbor (NN) Problem

主要有两种NN问题

  • K-NN

    在空间M中有一个点集S,一个查询点q∈Mq\in MqM,找到查询点在S中最近的k个点

    下图是3-NN

    在这里插入图片描述

  • Fixed Radius-NN

    在空间M中有一个点集S,一个查询点q∈Mq\in MqM,找到所有在S中和查询点距离小于r的点

    ∣∣s−q∣∣<r||s-q||<rsq<r
    在这里插入图片描述

  • NN 问题的应用领域

    • 表面法向量估计
    • 噪点滤除
    • 降采样
    • 聚类
    • 特征点检测和特征提取
    • 深度学习
  • 为什么最近邻搜索对点云来说很困难?

    • 对于图像,最近邻搜索只要简单的x+Δx,y+Δyx+\Delta x,y+\Delta yx+Δx,y+Δy
    • 对于点云来说
      • 点云不规则
      • 比图像多一个维度
      • 点云数据量巨大
  • Core Ideas Shared by BST, kd-tree, octree

    • 空间分割

      • 把空间分割成不同的区域
      • 只在一些特定的区域内搜索,不是搜索所有的数据
    • 提前停止搜索

1.Binary Search Tree

二叉搜索树
在这里插入图片描述

  • 节点定义

    struct Node() 
    {
         
         
        Node* left;
        Node* right;
        int val;// 存储的属性
        int key;// 节点的数值
        Node
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值