![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python点云处理——从头实现点云处理算法
文章平均质量分 51
不依赖于PCL或是Open3D等现成的点云库,仅使用Numpy、Scipy、Pytorch等Python科学计算基础库实现各种常见的点云处理算法。
周_必_成
这个作者很懒,什么都没留下…
展开
-
Python点云处理——K-means聚类算法
聚类(Clustering)是一种典型的非监督机器学习任务,用于将无标签的输入数据按照一定的特征来区分为不同的类别。与分类(Classification)相比,其不会生成有意义的类别标签。比如根据形状,对由若干片点云组成的数据集(“猫”、“狗”、“人”)进行聚类,不考虑错误,也只能得到三个类别(1,2,3),这三个类别只表示这个数据集在形状这一标准下可以被分成这三种不同类别,类别“1”有可能是“猫”、“狗”、“人”中的任何一种。原创 2024-05-15 23:00:00 · 468 阅读 · 0 评论 -
Python点云处理——计算点云质心
很多时候,我们需要计算点云的质心,来获取点云整体的位置,或是为进行一些其他处理,如体素化等做准备。点云质心的计算非常简单,取各个坐标的均值即可。原创 2023-12-20 22:34:37 · 695 阅读 · 0 评论 -
Python点云处理——统计滤波算法
与之前的几种滤波算法相比,统计滤波的原理较为抽象和复杂。对三维点云而言,统计滤波和半径滤波一样,以滤除“离群点”为目的。而统计滤波中离群点的定义比半径滤波更为复杂。在统计滤波中,认为点云整体应呈现出较为均匀的分布,即点云内每个点与和它近邻的K个点之间的平均距离不会超过阈值,超过的则视为离群点。而这一阈值由以下公式决定:其中,为某个点到所有点距离的平均值,即而表示的是距离的标准差,即表示的则是自定义的一个标准差系数,用来控制距离标准差对距离阈值的影响。原创 2023-12-18 23:23:54 · 1603 阅读 · 0 评论 -
Python点云处理——半径滤波算法
在点云处理中,最常见的任务就是目标检测和语义分割。而在进行这两种操作之前,必须对点云进行数据清洗和预处理,去除其中明显不符合要求的噪点、离群点和鬼影点等。半径滤波的原理同样非常简单,指定一个半径值和近邻点数量临界值,检测某一点在该半径的球邻域空间内有多少个近邻点,若近邻点数量小于临界值,则认为该点是“离群点”,将其从点云数据中删去。原创 2023-12-11 18:20:33 · 905 阅读 · 1 评论 -
Python点云处理——建立KDtree
KDtree是计算机科学中一种常用的数据结构算法,它构建出了一种类似于二叉树的树形数据存储结构,每一层都对应原始数据中相应的维度,以K层为一个循环,因此被称为KDtree。而每一层的左右子树的划分依据则是一个人为指定的超平面,该平面对应的坐标为根节点,小于的放在左子树,大于的放在右子树,一直不停的分割下去,将所有维度遍历一遍之后,再从第一个维度重新选择一个超平面开始分割,直至将左右子树分割到都只剩一个叶子节点为止。这样就将所有的数据都在KDtree上唯一确定了位置,以便进行最近邻搜索、半径搜索等操作。原创 2023-12-08 17:37:07 · 733 阅读 · 0 评论 -
Python点云处理——直通滤波算法
使用python进行点云直通滤波(不依赖任何点云处理库)原创 2023-11-25 22:07:41 · 244 阅读 · 0 评论