一种三维点云聚类的算法制造技术

技术编号:23432091 阅读:25 留言:0更新日期:2020-02-25 13:17
本发明专利技术公开了一种三维点云聚类的算法,具体包括以下步骤:S1、设定聚类中心集,将设备采集的大量点云数据导入聚内中心集设定单元内,选取聚类中心Z1,S2、计算阈值T,S3、寻找所有聚类中心,本发明专利技术涉及三维点云聚内技术领域。该三维点云聚类的算法,能够在设备采集的大量点云数据内寻找第二个聚类中心Z2,对给定的点云数据遍历得到所有的模式样本可以快速得出并确定阈值,并且根据距离形成连通区域,通过聚内中心定位单元遍历点云数据计算点云中每个样本分别与当前聚类中心集中的每个聚类中心样本的欧式距离可以快速得出最大的最小值寻找聚类中心点集合,为实现聚类提供了基础,以完成了对点云数据的聚类。

An algorithm of 3D point cloud clustering

【技术实现步骤摘要】
一种三维点云聚类的算法
本专利技术涉及三维点云聚内
,具体为一种三维点云聚类的算法。
技术介绍
在获取点云数据时,由于设备精度,操作者经验环境因素带来的影响,以及电磁波的衍射特性,被测物体表面性质变化和数据拼接配准操作过程的影响,点云数据中会有不可避免的出现一些噪声。在重构曲面之前,需要对点云数据进行聚类处理,以保证后续3D重建工作准确,高效地进行,K均值算法是目前广泛使用的一种方法,但是也有一些局限性,例如不同的初值中心可能使算法陷入局部最优而导致聚类结果不稳定等问题。本专利技术提出一种基于设定阈值按照最大最小距离值来进行聚类的算法,针对于大量点云数据所存在的计算与存储问题,采用的新型的聚类算法,目的保证后续3D重建工作准确、高效地进行,因前期对采集的点云数据出现一些噪声干扰,其准确度不高,与实际结果相差大,因此,有必要针对业务设计研发符合当前业务的算法。
技术实现思路
(一)解决的技术问题针对现有技术的不足,本专利技术提供了一种三维点云聚类的算法,解决了在重构曲面之前,需要对点云数据进行聚类处理,以保证后续3D重建工作准确,高效地进行,K均值算法是目前广泛使用的一种方法,但是也有一些局限性,例如不同的初值中心可能使算法陷入局部最优而导致聚类结果不稳定等的问题。(二)技术方案为实现以上目的,本专利技术通过以下技术方案予以实现:一种三维点云聚类的算法,具体包括以下步骤:S1、设定聚类中心集:将设备采集的大量点云数据导入聚内中心集设定单元内,选取聚类中心Z1;S2、计算阈值T:在计算阈值前,在设备采集的大量点云数据内寻找第二个聚类中心Z2,对给定的点云数据遍历得到所有的模式样本,计算得出所有模式样本与聚类中心Z1样本之间的欧式距离数据集合,得到其中最大的欧式距离值,包含点云数据的包围盒为以该值为半径的球形包围盒内的范围,通过阈值T计算单元用该值与给定参数相乘计算得出阈值T;S3、寻找所有聚类中心:通过聚内中心定位单元遍历点云数据计算点云中每个样本分别与当前聚类中心集中的每个聚类中心样本的欧式距离,得出一组欧式距离值,取出该组数据中最小的欧式距离值,得到一组点云数据中所有样本与当前聚类中心集的最小欧式距离值,从该组数据中找出最大欧式距离值,从而得到该最大的最小值并得到与其对应样本,使用该值与之前通过阈值T计算单元计算得出的阈值T比较,若该值大于阈值,即得到新的聚类中心点,将该对应的样本加入聚类中心集中,并继续通过这种寻找最大的最小值的过程,然后将得到新的距离值与阈值比较,直到得到最大的最小值小于阈值则停止寻找聚类中心,最后即可得到聚类中心集;S4、点云数据分类:通过点云数据分类单元将S3中得到的聚类中心点集合,以聚类中心点集合中的聚类中心点和计算得到的阈值来进行聚类,通过遍历点云数据中每个点与各个聚类中心的欧式距离值,可得到一组欧式距离值,找到大于阈值的最小欧式距离值和其所对应的聚类中心点,从而实现聚类操作;S5、算法检测:通过S2中阈值的确定,S3中寻找聚类中心点集合,通过结果检测输出单元对点云数据聚类最终得到的结果检测无误后进行输出。优选的,所述算法包括聚内中心集设定单元、阈值T计算单元、聚内中心定位单元、点云数据分类单元和结果检测输出单元。优选的,所述聚内中心集设定单元的输出端与阈值T计算单元的输入端连接,并且阈值T计算单元的输出端与聚内中心定位单元的输入端连接。优选的,所述聚内中心定位单元的输出端与点云数据分类单元的输入端连接,并且点云数据分类单元的输出端与结果检测输出单元的输入端连接。优选的,所述S1中聚类中心Z1为点云数据中第一个模式样本。优选的,所述S2中第二个聚类中心Z2为S1中所有模式样本与聚类中心Z1样本之间的最大欧式距离值。优选的,所述S3中最大的最小值为点云数据中所有样本与当前聚类中心集的最小欧式距离值中的最大欧式距离值。优选的,所述S3中聚类数据为所有大于阈值的最小欧式距离值的集合。(三)有益效果本专利技术提供了一种三维点云聚类的算法。与现有技术相比,具备以下有益效果:(1)、该三维点云聚类的算法能够在设备采集的大量点云数据内寻找第二个聚类中心Z2,对给定的点云数据遍历得到所有的模式样本可以快速得出并确定阈值,并且根据距离形成连通区域,通过聚内中心定位单元遍历点云数据计算点云中每个样本分别与当前聚类中心集中的每个聚类中心样本的欧式距离可以快速得出最大的最小值寻找聚类中心点集合,为实现聚类提供了基础,以完成了对点云数据的聚类。(2)、该三维点云聚类的算法通过实际数据测试,多次比对、优化,并通过当前产品落地实施计算、测试其准确度达到商用条件,可以准确的得出聚类中心的值。(3)、该三维点云聚类的算法通过提出阈值确定、寻找聚类中心点集合,通过聚类所形成的连通区域有助于后续各种具有自身的特性点云数据的计算,图形构建等,通过不断测试各参数的权重以及检测效果,最终能确定较好的聚类效果。附图说明图1为本专利技术系统的原理框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术实施例提供一种技术方案:一种三维点云聚类的算法,具体包括以下步骤:S1、设定聚类中心集:将设备采集的大量点云数据导入聚内中心集设定单元内,选取聚类中心Z1;S2、计算阈值T:在计算阈值前,在设备采集的大量点云数据内寻找第二个聚类中心Z2,对给定的点云数据遍历得到所有的模式样本,计算得出所有模式样本与聚类中心Z1样本之间的欧式距离数据集合,得到其中最大的欧式距离值,包含点云数据的包围盒为以该值为半径的球形包围盒内的范围,通过阈值T计算单元用该值与给定参数相乘计算得出阈值T;S3、寻找所有聚类中心:通过聚内中心定位单元遍历点云数据计算点云中每个样本分别与当前聚类中心集中的每个聚类中心样本的欧式距离,得出一组欧式距离值,取出该组数据中最小的欧式距离值,得到一组点云数据中所有样本与当前聚类中心集的最小欧式距离值,从该组数据中找出最大欧式距离值,从而得到该最大的最小值并得到与其对应样本,使用该值与之前通过阈值T计算单元计算得出的阈值T比较,若该值大于阈值,即得到新的聚类中心点,将该对应的样本加入聚类中心集中,并继续通过这种寻找最大的最小值的过程,然后将得到新的距离值与阈值比较,直到得到最大的最小值小于阈值则停止寻找聚类中心,最后即可得到聚类中心集;S4、点云数据分类:通过点云数据分类单元将S3中得到的聚类中心点集合,以聚类中心点集合中的聚类中心点和计算得到的阈值来进行聚类,通过遍历点云数据中每个点与各个聚类中心的欧式距离值,可得到一组欧式距离值,找到大于阈值的最小欧式距离值和其所对应的本文档来自技高网...

【技术保护点】
1.一种三维点云聚类的算法,其特征在于:具体包括以下步骤:/nS1、设定聚类中心集:将设备采集的大量点云数据导入聚内中心集设定单元内,选取聚类中心Z1;/nS2、计算阈值T:在计算阈值前,在设备采集的大量点云数据内寻找第二个聚类中心Z2,对给定的点云数据遍历得到所有的模式样本,计算得出所有模式样本与聚类中心Z1样本之间的欧式距离数据集合,得到其中最大的欧式距离值,包含点云数据的包围盒为以该值为半径的球形包围盒内的范围,通过阈值T计算单元用该值与给定参数相乘计算得出阈值T;/nS3、寻找所有聚类中心:通过聚内中心定位单元遍历点云数据计算点云中每个样本分别与当前聚类中心集中的每个聚类中心样本的欧式距离,得出一组欧式距离值,取出该组数据中最小的欧式距离值,得到一组点云数据中所有样本与当前聚类中心集的最小欧式距离值,从该组数据中找出最大欧式距离值,从而得到该最大的最小值并得到与其对应样本,使用该值与之前通过阈值T计算单元计算得出的阈值T比较,若该值大于阈值,即得到新的聚类中心点,将该对应的样本加入聚类中心集中,并继续通过这种寻找最大的最小值的过程,然后将得到新的距离值与阈值比较,直到得到最大的最小值小于阈值则停止寻找聚类中心,最后即可得到聚类中心集;/nS4、点云数据分类:通过点云数据分类单元将S3中得到的聚类中心点集合,以聚类中心点集合中的聚类中心点和计算得到的阈值来进行聚类,通过遍历点云数据中每个点与各个聚类中心的欧式距离值,可得到一组欧式距离值,找到大于阈值的最小欧式距离值和其所对应的聚类中心点,从而实现聚类操作;/nS5、算法检测:通过S2中阈值的确定,S3中寻找聚类中心点集合,通过结果检测输出单元对点云数据聚类最终得到的结果检测无误后进行输出。/n...

【技术特征摘要】
1.一种三维点云聚类的算法,其特征在于:具体包括以下步骤:
S1、设定聚类中心集:将设备采集的大量点云数据导入聚内中心集设定单元内,选取聚类中心Z1;
S2、计算阈值T:在计算阈值前,在设备采集的大量点云数据内寻找第二个聚类中心Z2,对给定的点云数据遍历得到所有的模式样本,计算得出所有模式样本与聚类中心Z1样本之间的欧式距离数据集合,得到其中最大的欧式距离值,包含点云数据的包围盒为以该值为半径的球形包围盒内的范围,通过阈值T计算单元用该值与给定参数相乘计算得出阈值T;
S3、寻找所有聚类中心:通过聚内中心定位单元遍历点云数据计算点云中每个样本分别与当前聚类中心集中的每个聚类中心样本的欧式距离,得出一组欧式距离值,取出该组数据中最小的欧式距离值,得到一组点云数据中所有样本与当前聚类中心集的最小欧式距离值,从该组数据中找出最大欧式距离值,从而得到该最大的最小值并得到与其对应样本,使用该值与之前通过阈值T计算单元计算得出的阈值T比较,若该值大于阈值,即得到新的聚类中心点,将该对应的样本加入聚类中心集中,并继续通过这种寻找最大的最小值的过程,然后将得到新的距离值与阈值比较,直到得到最大的最小值小于阈值则停止寻找聚类中心,最后即可得到聚类中心集;
S4、点云数据分类:通过点云数据分类单元将S3中得到的聚类中心点集合,以聚类中心点集合中的聚类中心点和计算得到的阈值来进行聚类,通过遍历点云数据中每个点与各个聚类中心的欧式距离值,可得到一组欧式距离值,找到大于阈值的最小欧式距离值和其所对应的聚类中心点,从而实现聚...

【专利技术属性】
技术研发人员:吴新承李乐
申请(专利权)人:上海吉七物联网科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1