课程笔记-三维点云处理02 ——Nearest Neighbor Problem

本文是《三维点云处理》课程的笔记,重点讲解最邻近问题(NN Problem)及其解决方法,包括二叉树、KD树和八叉树。NN问题是点云处理中的基础,用于寻找点的最近邻。课程介绍了二叉树的结构和搜索算法,如K-NN和R-NN,接着深入讲解了KD树和八叉树的构建、复杂度及KNN搜索,强调了空间分割的核心思想在提高搜索效率中的作用。
摘要由CSDN通过智能技术生成

课程笔记-三维点云处理02 ——Nearest Neighbor Problem

本系列笔记是对深蓝学院所开设的课程:《三维点云处理》的笔记
课程每周更新,我也会努力将每周的知识点进行总结,并且整理成笔记发上来,欢迎各位多多交流&批评指正!!

本文主要为课程第二章的笔记!

课程链接:

三维点云处理——深蓝学院

目录

正式内容:
####################################################

最邻近问题(NN problems)

本节课主要讲最邻近问题(Nearest Neighbor Problem)
用来找一个点离他比较近的点
处理的主要方法一个是KD树,一个是八叉树,本节课主要就是讲这两个方面,但是讲这两个方面之前还会讲一下二叉树

方法概述

在这里插入图片描述
一般常见的两种方法就是K-NN 和R-NN
如上图所示 一个是根据距离排序,另一个是给定区域内搜索 是两种不同的思路

NN问题的重要性

在这里插入图片描述
对于点云处理来说,最邻近问题是一个基本且重要的问题,因为点云的特征信息就储存在点云的位置信息中,所以这个问题是非常基本的且常用的。
目前开源的库有很多,但是库里面集成的最临近算法都不够快(不知道为什么)

NN问题对于处理点云的困难点

在这里插入图片描述
主要有以下原因:

  1. 点云不像图像像素,是有规则排列的,具有无序性
  2. 点云存在在三维空间坐标中,比二维的要高,处理计算量要大一个数量级
  3. 按照网格化来划分的话,点云会存在很多空白的网格,而且处理起来效率很低
  4. 算法事实上运行起来非常大,比较吃力。
本节课结构

在这里插入图片描述

  1. 二叉树
  2. KD树
  3. 八叉树(专门为3D空间结构设计(因为2的3次方是8)) 相比于KD树更加适合三维
算法的核心思想:空间分割

在这里插入图片描述
space partition 空间分割是这三个算法的核心思想
比较直观的理解,寻找一个点的临近点时,肯定不能漫无目的的搜索,而是要首先在他的周围进行寻找。 这就是空间分割的原理

K-NN问题 :就是找他最近的K个点的意思

worst distance: 就是目前查找到的最远的点。 也就是说,如果查找的是K-NN问题的话,如果已知有K个点了,且其中最远的点的距离为x,那么这个x就是 worst distance,也就是说,不用在worst distance以外查找,只需要在这个距离里面查找就行了(因为在这个距离外面就算找到了也是没有意义的)

核心任务提炼

  1. 怎样对空间进行分割
  2. 如何去判断以及跳过搜索空间
  3. 如何去判断何时停止搜索

Binary Search Tree

认识二叉树

在这里插入图片描述
二叉树就是一个数分两个叉,跟两个数建立联系
但是这种联系是有规律的:

  1. 一个二叉树节点有且最多有两个分支

  2. 在划分分支的时候,小的放左边,大的放右边

二叉树早在计算机科学的开端就已经被提出使用了(是计算机一些很基础的数据结构)
很多算法岗在找工作的时候也会被问到 怎么搜索或遍历一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值