CN117710717A - 超体聚类点云分割方法、装置、设备和存储介质 - Google Patents
超体聚类点云分割方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117710717A CN117710717A CN202410160755.1A CN202410160755A CN117710717A CN 117710717 A CN117710717 A CN 117710717A CN 202410160755 A CN202410160755 A CN 202410160755A CN 117710717 A CN117710717 A CN 117710717A
- Authority
- CN
- China
- Prior art keywords
- voxel
- voxels
- super
- undetermined
- neighbor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 124
- 230000011218 segmentation Effects 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 87
- 230000008569 process Effects 0.000 claims abstract description 60
- 239000013598 vector Substances 0.000 claims description 59
- 238000001914 filtration Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 23
- 238000000638 solvent extraction Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
本发明实施例提出一种超体聚类点云分割方法、装置、设备和存储介质,其中的方法通过对原始点云数据进行初次超体聚类处理之后,不直接将此时得到的超体素作为最终输出结果,而是在此基础上进一步记录超体素间的潜在相邻关系,并基于此时得到的超体素和超体素的潜在相邻关系进一步做逐层超体聚类处理,以在每次超体聚类处理的过程中,将上一次超体聚类处理得到的分割结果进行合并得到最终的分割区域,而每个分割区域都对应点云的一个完整区域。可见,本发明可以实现最终输出的超体聚类结果能够对应点云中的一个完整区域,而不是一个中间结果,本发明实施例输出的超体聚类结果即目标超体像素,可直接被应用于后续识别工作中。
Description
技术领域
本发明涉及图像处理技术领域,具体而言,涉及一种超体聚类点云分割方法、装置、设备和存储介质。
背景技术
点云分割是根据空间、几何和纹理等特征对点云进行划分,以使同一划分内的点云拥有相似的特征。而超体聚类点云分割方法为其中一种划分方法,主要将原始点云的体素聚合成一个个的超体素,以实现点云分割。其中,超体素是一种集合,集合的元素是“体”;可以是一个个的小方块,是二维算法简单地扩展到三维的应用。超体聚类点云分割方法本质上是对局部的一种总结,纹理、材质和颜色类似的部分会被自动的分割成一块,以便于后续图像识别工作。现有超体聚类的过程简单说明如下:
首先,利用八叉树或者体素滤波将点云数据划分为指定尺寸的体素,接着基于各体素的位置确定每个体素的26个最近邻邻居。然后,利用八叉树或者体素滤波按照预设的种子点间隔来获取种子点初始位置,例如,按种子点间隔在体素中对各种子点进行搜索,以将各种子点距离最近的体素所在位置作为种子点初始位置。随后,基于各种子点的初始位置,通过法向条件判断是否对种子点相邻的体素进行扩展,如判断为扩展,则将该体素加入到种子点对应的种子点区域中,然后搜索该新加入的体素的邻居,进一步判断该邻居是否能加入到种子点区域中。其中,如果不同种子点区域扩展到同一体素时,则将该体素分配给距离最近的种子点区域。依据上述操作完成所有种子点的扩展之后,即可得到超体聚类结果。
从上述超体聚类的过程可知,超体素的大小由种子点之间的间隔决定,即超体素的大小与上述预设的种子点间隔这一参数呈正相关关系。然而,不管怎么设置种子点间隔,现有超体聚类点云分割方法进行超体聚类得到的结果也只是一系列的超体素,并未对应点云中的一个区域,即上述超体聚类结果只是一个中间结果,例如,只对应点云中某个区域的局部部分,无法被直接使用以实现对点云中各区域的识别。
发明内容
有鉴于此,为至少解决因传统技术中超体聚类结果只是一个中间结果,而无法直接被使用以实现对点云中各区域的识别的技术问题,本发明的目的在于提供一种超体聚类点云分割方法、装置、设备和存储介质。本发明实施例采用的技术方案如下:
本发明实施例的第一方面,提供了一种超体聚类点云分割方法,包括:
对输入的原始点云数据进行初次超体聚类处理,得到超体素和超体素的潜在相邻关系;
将当前得到的超体素作为待定体素,针对每个待定体素,根据所述待定体素的法向量和所述待定体素所在区域的面参数,对所述待定体素的潜在相邻关系进行过滤处理,以得到所述待定体素的真实相邻关系;
将真实相邻关系表征未存在邻居的待定体素确定为目标超体素,所述目标超体素用于表征点云数据中的一个区域;
将真实相邻关系表征存在邻居的待定体素确定为待聚类体素,并从中确定种子点体素,针对每个种子点体素,对所述种子点体素的相邻待聚类体素进行扩展处理,以得到新的超体素和超体素的潜在相邻关系,并返回执行所述将当前得到的超体素作为待定体素的步骤,直至当前得到的每个超体素对应的真实相邻关系均表征未存在邻居。
本发明实施例的第二方面,提供了一种超体聚类点云分割装置,包括:
初次聚类模块,被配置为:对输入的原始点云数据进行初次超体聚类处理,得到超体素和超体素的潜在相邻关系;
相邻关系处理模块,被配置为:将当前得到的超体素作为待定体素,针对每个待定体素,根据所述待定体素的法向量和所述待定体素所在区域的面参数,对所述待定体素的潜在相邻关系进行过滤处理,以得到所述待定体素的真实相邻关系;
目标超体素确定模块,被配置为:将真实相邻关系表征未存在邻居的待定体素确定为目标超体素,所述目标超体素用于表征点云数据中的一个区域;
迭代聚类模块,被配置为:将真实相邻关系表征存在邻居的待定体素确定为待聚类体素,并从中确定种子点体素,针对每个种子点体素,对所述种子点体素的相邻待聚类体素进行扩展处理,以得到新的超体素和超体素的潜在相邻关系,并将所述新的超体素和超体素的潜在相邻关系传输给所述相邻关系处理模块,直至所述相邻关系处理模块返回当前得到的每个超体素对应的真实相邻关系均表征未存在邻居的信息。
本发明实施例的第三方面,提供了一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现上述第一方面提供的超体聚类点云分割方法。
本发明实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的超体聚类点云分割方法。
本发明实施例提供的超体聚类点云分割方法、装置、设备和存储介质,通过对原始点云数据进行初次超体聚类处理之后,不直接将此时得到的超体素作为最终输出结果,而是在此基础上进一步记录超体素间的潜在相邻关系,并基于此时得到的超体素和超体素的潜在相邻关系进一步做逐层超体聚类处理,以在每次超体聚类处理的过程中,将上一次超体聚类处理得到的分割结果进行合并得到最终的分割区域,而每个分割区域都对应点云的一个完整区域,即:通过根据每次超体聚类处理后所得到的超体素的真实相邻关系来确定各超体素是否存在邻居,对于不存在邻居的超体素,即可认为其对应点云中的一个完整区域,因此可以作为目标超体素输出,而对于存在邻居的超体素,说明其还未对应点云中的一个完整区域,因此需再进行超体聚类处理,直至最终得到的所有超体素都不存在邻居。可见,通过本发明实施例提供的上述任一种方案,可以实现最终输出的超体聚类结果能够对应点云中的一个完整区域,而不是一个中间结果,本发明实施例输出的超体聚类结果即目标超体像素,可直接被应用于后续识别工作中,以使后续图像识别处理中可以直接基于目标超体素对点云中对应的区域进行识别处理,以辨识该区域的信息。其中,通过结合所述待定体素的法向量和所述待定体素所在区域的面参数,对所述待定体素的潜在相邻关系进行过滤处理,得到所述待定体素的真实相邻关系,可以提高得到的真实相邻关系的准确性,进而有利于提高最终得到的目标超体素的准确性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种电子设备的结构框图;
图2示出了本发明实施例提供的一种超体聚类点云分割方法的流程图;
图3a示出了本发明实施例提供的一种体素单元间的相邻关系示意图;
图3b示出了本发明实施例提供的另一种体素单元间的相邻关系示意图;
图3c示出了本发明实施例提供的又一种体素单元间的相邻关系示意图;
图4示出了本发明实施例提供的一种体素间关系的示意图;
图5a示出了本发明实施例提供的一种不相邻体素关系的示意图;
图5b示出了本发明实施例提供的另一种不相邻体素关系的示意图;
图6示出了本发明实施例提供的一种新增种子点体素的示意图;
图7示出了本发明实施例提供的一种超体聚类点云分割装置的功能模块图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为解决传统技术中输出的超体聚类结果只是一个中间结果,而无法直接被使用以实现对点云中各区域的识别的技术问题,本发明实施例提供了一种超体聚类点云分割方法,通过对原始点云数据进行初次超体聚类处理之后,不直接将此时得到的超体素作为最终输出结果,而是在此基础上进一步记录超体素间的潜在相邻关系,并基于此时得到的超体素和超体素的潜在相邻关系进一步做逐层超体聚类处理,以在每次超体聚类处理的过程中,将上一次超体聚类处理得到的分割结果进行合并得到最终的分割区域,而每个分割区域都对应点云的一个完整区域,即:通过根据每次超体聚类处理后所得到的超体素的真实相邻关系来确定各超体素是否存在邻居,对于不存在邻居的超体素,即可认为其对应点云中的一个完整区域,因此可以作为目标超体素输出,而对于存在邻居的超体素,说明其还未对应点云中的一个完整区域,因此需再进行超体聚类处理,直至最终得到的所有超体素都不存在邻居。可见,通过本发明实施例提供的上述任一种方案,可以实现最终输出的超体聚类结果能够对应点云中的一个完整区域,而不是一个中间结果,本发明实施例输出的超体聚类结果即目标超体像素,可直接被应用于后续识别工作中,以使后续图像识别处理中可以直接基于目标超体素对点云中对应的区域进行识别处理,以辨识该区域的信息。其中,通过结合所述待定体素的法向量和所述待定体素所在区域的面参数,对所述待定体素的潜在相邻关系进行过滤处理,得到所述待定体素的真实相邻关系,可以提高得到的真实相邻关系的准确性,进而有利于提高最终得到的目标超体素的准确性。
本发明提供的超体聚类点云分割方法可以应用于电子设备中,请参照图1,是电子设备的结构框图。所述电子设备100包括存储器110、处理器120及通信模块130。所述存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器用于存储程序或者数据。所述存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器用于读/写存储器中存储的数据或程序,并执行相应地功能。
通信模块用于通过网络建立电子设备与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图1所示的结构仅为电子设备的结构示意图,所述电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
以下结合图2对本发明实施例提供的超体聚类点云分割方法进行说明,图2是本发明实施例提供的一种超体聚类点云分割方法的流程图,本发明实施例提供的超体聚类点云分割方法包括:
在步骤S210中,对输入的原始点云数据进行初次超体聚类处理,得到超体素和超体素的潜在相邻关系;
在步骤S220中,将当前得到的超体素作为待定体素,针对每个待定体素,根据所述待定体素的法向量和所述待定体素所在区域的面参数,对所述待定体素的潜在相邻关系进行过滤处理,以得到所述待定体素的真实相邻关系;
在步骤S230中,将真实相邻关系表征未存在邻居的待定体素确定为目标超体素,所述目标超体素用于表征点云数据中的一个区域;
在步骤S240中,将真实相邻关系表征存在邻居的待定体素确定为待聚类体素,并从中确定种子点体素,针对每个种子点体素,对所述种子点体素的相邻待聚类体素进行扩展处理,以得到新的超体素和超体素的潜在相邻关系,并返回执行所述将当前得到的超体素作为待定体素的步骤,直至当前得到的每个超体素对应的真实相邻关系均表征未存在邻居。
由此,在需要对原始点云数据进行分割以获取点云中各区域对应的点云数据时,可以将当前所需处理的原始点云数据输入到执行上述步骤S210~S240的执行主体中,例如,上述电子设备中,也可以利用执行主体通过访问硬盘或远端的方式来获取当前所需处理的原始点云数据。其中,原始点云数据可以通过雷达或图像设备采集得到,具体可参见相关技术,在此不展开说明。另外,对原始点云数据进行分割以得到点云中各区域对应的点云数据,可以理解为实现点云中不同属性的各区域的分割,例如,对于工业领域中工件的点云数据,通过本发明实施例提供的超体聚类点云分割方法进行处理后,可以将构成工件的各平面所在区域都分割出来,以便于后续可以基于分割出来的区域来分析工件是否存在故障,或是否合格之类的,本发明实施例对此不做限定;又如,对于农业无人机领域中的农田点云数据,通过本发明实施例提供的超体聚类点云分割方法进行处理后,可以将点云数据中农田区域、道路区域或其他区域都完整地分割出来,以便于后续可以基于分割出来的区域来分析区域属性,并基于区域属性来引导无人机作业;又如,对于与人体姿态相关的点云数据,通过本发明实施例提供的超体聚类点云分割方法进行处理后,可以将点云数据中人体的头部、身体和四肢等区域都完整地分割出来,以便于后续可以基于分割出来的区域来对人体姿态进行分析。以上几个例子仅作为本发明实施例提供的超体聚类点云分割方法的应用示例说明,不应理解为对本发明实施例的限制。
通过上述任一方式获得原始点云数据之后,即可通过步骤S210对所述原始点云数据进行初次超体聚类处理,以得到超体素和超体素的潜在相邻关系。其中对原始点云数据进行初次超体聚类处理得到超体素和超体素的潜在相邻关系的技术原理,例如,先利用八叉树或体素滤波将原始点云数据划分为指定尺寸的体素,接着基于各体素的位置确定各体素的26个最近邻邻居,然后再利用八叉树或者体素滤波按照预设的种子点间隔来获取种子点初始位置,随后,基于各种子点的初始位置,通过法向条件判断是否对种子点相邻的体素进行扩展,以进行超体素区域增长,完成分割目的;具体可参见相关技术,在此不展开说明。
虽然可以通过相关技术来实现步骤S210的技术过程,但是,由于相关技术对原始点云进行超体聚类处理的过程中,直接采用26个邻居准则来确定每个体素单元的邻居,即对于每个体素单元,将在该体素单元半径范围内的其他体素单元都视为该体素单元的邻居,其中,/>为一个体素单元的边长大小。因此,通过这种仅根据距离范围来实现体素单元的邻居的确定的方式,最终确定得到的邻居可能具备多样性,如图3a~图3c所示,图3a是本发明实施例提供的一种体素单元间的相邻关系示意图,图3b是本发明实施例提供的另一种体素单元间的相邻关系示意图,图3c是本发明实施例提供的又一种体素单元间的相邻关系示意图;可见,图3a中的两体素单元之间相邻且具备较好的共面性,而图3b和图3c中的两体素单元虽然相邻,但不具备共面性;而多样性的邻居可能会导致本发明实施例提供的超体聚类点云分割方法在后续进行扩展处理的过程中,存在较高的运算复杂度。因此,为在一定程度上降低扩展处理运算复杂度,以便于种子点体素的扩展过程,在一实施例中,本发明实施例提供的超体聚类点云分割方法还对步骤S210中的邻居确定方式进行优化,即,所述步骤S210中,对输入的原始点云数据进行初次超体聚类处理,得到超体素和超体素的潜在相邻关系,可以包括以下步骤:
在步骤S211中,将所述原始点云数据划分为指定尺寸的体素单元;
在步骤S212中,对于每个体素单元,获取在所述体素单元设定邻居范围内的待定邻居;
在步骤S213中,对于每个体素单元的每个待定邻居,如果所述待定邻居的法向量和所述体素单元的法向量之间的夹角小于设定第一角度阈值、且所述待定邻居的中心点与所述体素单元的中心点的连线和所述体素单元的法向量之间的夹角大于设定第二角度阈值,则确定所述待定邻居为所述体素单元的真实邻居;
在步骤S214中,按照设定种子点间隔从所述原始点云数据中确定种子点体素单元;
在步骤S215中,针对每个种子点体素单元,对所述种子点体素单元的真实邻居进行扩展处理,以得到超体素和超体素的潜在相邻关系。
以下说明下通过步骤S211~步骤S215对原始点云数据进行处理得到超体素和超体素的潜在相邻关系的过程:
首先,通过步骤S211,利用八叉树或者体素滤波算法将所述原始点云数据划分为指定尺寸的体素单元,这一处理过程与相关技术原理相同,故在此不展开说明,其中的指定尺寸可根据实际需求设定,本发明实施例对此不做限定。将原始点云数据划分得到体素单元之后,通过步骤S212,同样按照相关技术的做法,采用26个邻居准则来确定每个体素单元的邻居,但此处获得的邻居仅作为待定邻居,基于此,步骤S212中的设定邻居范围可以为体素单元半径范围。
得到每个体素单元的待定邻居后,接着通过步骤S213对这些待定邻居进一步筛选以得到本发明实施例所定义的真实邻居,体素单元与其真实邻居之间的相邻关系如图3a所示,即两者具有近似相同朝向的法向量且两者具有较好的共面性,基于该原理,对于每个体素单元的每个待定邻居,如果所述待定邻居的法向量和所述体素单元的法向量之间的夹角小于设定第一角度阈值、且所述待定邻居的中心点与所述体素单元的中心点的连线和所述体素单元的法向量之间的夹角大于设定第二角度阈值,则确定所述待定邻居为所述体素单元的真实邻居;否则,如果所述待定邻居的法向量和所述体素单元的法向量之间的夹角大于或等于设定第一角度阈值、或所述待定邻居的中心点与所述体素单元的中心点的连线和所述体素单元的法向量之间的夹角小于或等于设定第二角度阈值,则确定所述待定邻居为所述体素单元的非真实邻居;由此,通过对每个体素单元的每个待定邻居进行上述判断,将最终判定为体素单元的真实邻居的体素单元进行存储或记录,以筛选得到每个体素单元的真实邻居,有利于简化每个体素单元的相邻关系,便于后续进行超体素区域的扩展。其中,第一角度阈值和第二角度阈值可根据实际需求进行设定,在本实施例中不做限定。应理解,待定邻居的法向量和体素单元的法向量之间的夹角小于设定第一角度阈值时,表示待定邻居和体素单元具有近似相同朝向的法向量,而待定邻居的中心点与体素单元的中心点的连线和体素单元的法向量之间的夹角大于设定第二角度阈值,表示待定邻居和体素单元具有较好的共面性。
得到每个体素单元的所有真实邻居之后,接着通过步骤S214,采用与相关技术相同的原理,按照设定种子间隔从原始点云数据中确定种子点体素单元。
得到种子点体素单元之后,即可通过步骤S215,同样采用与相关技术相同的原理,从每个种子点体素单元开始向外扩展,不断将其他体素单元加入到种子点体素单元对应的区域中,直至扩展结束,以得到超体素。其中,与相关技术不同的是:在本发明实施例中,基于每个种子点体素单元进行向外扩展的过程中,是依赖于种子点体素单元的真实邻居进行的,也即:在扩展过程中,仅将种子点体素单元的真实邻居以及各真实邻居的真实邻居加入到种子点体素单元对应的区域中,以增长形成超体素,这样有利于简化扩展处理流程,提高扩展处理的效率。其中需注意的是,如果不同种子点体素单元扩展到同一真实邻居时,则将该同一真实邻居分配给距离最近的种子点区域,并将扩展到同一真实邻居的不同种子点体素单元对应的超体素之间的关系记录为潜在相邻关系,例如,假设种子点体素单元A和种子点体素单元B的真实邻居或某个真实邻居的真实邻居为体素单元C,则可认为种子点体素单元A和种子点体素单元B对应的超体素之间存在潜在相邻关系。继续沿用上述例子,由于种子点体素单元A和种子点体素单元B在扩展过程中都会扩展到体素单元C,在这种情况下,该将体素单元C分配给哪个种子点体素单元呢?本发明实施例中,以最近邻原则实现体素单元C的分配,即,如果体素单元C与种子点体素单元A之间的距离比体素单元C与种子点体素单元B之间的距离小,则将体素单元C分配给种子点体素单元A,如果体素单元C与种子点体素单元A之间的距离比体素单元C与种子点体素单元B之间的距离大,则将体素单元C分配给种子点体素单元B,如果体素单元C与种子点体素单元A之间的距离比体素单元C与种子点体素单元B之间的距离相等,则择一分配即可。基于此,相应的,可以理解为,所述步骤S215中,针对每个种子点体素单元,对所述种子点体素单元的真实邻居进行扩展处理,以得到超体素和超体素的潜在相邻关系超体素,具体可包括以下步骤:
针对每个种子点体素单元,将所述种子点体素单元的真实邻居、以及各真实邻居的真实邻居分配到所述种子点体素单元对应的种子点区域,以形成对应的超体素;其中,在不同种子点体素单元扩展到同一真实邻居时,将所述同一真实邻居分配给距离最近的种子点区域,并将扩展到同一真实邻居的不同种子点体素单元对应的超体素之间的关系记录为潜在相邻关系。
通过对原始点云数据进行初次超体聚类处理得到超体素和超体素的潜在相邻关系之后,接着通过步骤S220,对超体素的潜在相邻关系进行过滤以得到真实相邻关系,进而便于基于真实相邻关系来判定当前的超体素是否已经能够表达点云中的一个完整区域,该完整区域可以理解为上文所提及的一个具备识别意义的区域,例如,构成工件的某个面所在的区域。在本实施例中,为便于后续对上一次超体聚类处理得到的超体素进一步聚类或快速判定是否结束聚类,先将当前得到的超体素作为待定体素,则对于每个待定体素,根据该待定体素的法向量和该待定体素所在区域的面参数,来对该待定体素的潜在相邻关系进行过滤处理,以得到该待定体素的真实相邻关系,在一些实施例中,本发明实施例提供了一种对潜在相邻关系进行过滤处理得到真实相邻关系的具体实现手段,即,所述步骤S220中,每个待定体素的真实相邻关系的获取过程包括以下步骤:
在步骤S221中,对于所述待定体素的潜在相邻关系中的每个潜在邻居,如果所述潜在邻居的法向量和所述待定体素的法向量之间的夹角小于第一角度阈值、且所述潜在邻居所在区域的面参数和所述待定体素所在区域的面参数之差的绝对值小于设定距离阈值,则确定所述潜在邻居为真实邻居;
在步骤S222中,记录所述待定体素与其所有真实邻居的相邻关系,以得到所述待定体素的真实相邻关系。
通过步骤S221,对于每个待定体素,通过该待定体素与其每个潜在邻居的法向量和面参数这两个条件来判定每个潜在邻居是否为真实邻居,其中,对于每个待定体素,可以从潜在相邻关系中逐一取出每个潜在邻居,进行逐一判断直至完成其所有潜在邻居的判定,其中,也可以并行取出所有潜在邻居并做并行判断,具体可根据实际需求设定,本发明实施例对此不做限定。对于每个待定体素,可以先通过相关技术计算得到该待定体素的法向量和面参数,例如,由于待定体素包含多个体素单元,因此可以通过待定体素所包含的所有体素单元来计算待定体素的法向量,具体原理可参见相关技术,在此不展开说明;而待定体素的面参数可以通过平面拟合的方式得到,例如,可以通过以下公式计算得到:,式中,/>为面参数,/>为待定体素的法向量在原始点云所在坐标系中横轴分量值,即待定体素的法向量在坐标系中X轴上的分量的值,/>为待定体素的法向量在坐标系中的纵轴分量值,即待定体素的法向量在坐标系中Y轴上的分量的值,/>为待定体素的法向量在坐标系中的垂轴分量值,即待定体素的法向量在坐标系中Z轴上的分量的值,/>,y和/>为从待定体素中任取的一点在上述坐标系中的坐标值。得到每个待定体素的法向量和面参数之后,可以根据相同的原理,计算得到每个待定体素的每个潜在邻居的法向量和面参数,接着计算每个待定体素与其每个潜在邻居的法向量之间的夹角和面参数之差的绝对值,并将计算得到的夹角与上文提及的第一角度阈值、以及计算得到的面参数之差的绝对值与设定距离阈值分别进行比较,将每个待定体素的邻居中,法向量之间的夹角大于或等于第一角度阈值、或面参数之差的绝对值大于或等于设定距离阈值的邻居滤除,由此实现对非真实邻居的过滤;并将法向量之间的夹角小于第一角度阈值、且面参数之差的绝对值小于设定距离阈值的邻居判定为真实邻居,并通过步骤S222记录每个待定体素与其所有真实邻居的相邻关系,从而得到每个待定体素的真实相邻关系。其中,待定体素与其邻居之间的关系可参见图4,图4是本发明实施例提供的一种体素间关系的示意图。
上述中,设定距离阈值可根据实际需求设定,本发明实施例对此不做限定。另外,通过结合待定体素(已是一种超体素)及其潜在邻居的法向量和面参数这两个参数来获取待定体素的真实邻居,可以实现得到的真实邻居与待定体素具备近似共面关系,可以理解的,为使最终得到的每个待定体素与其真实邻居之间具备近似共面的关系,以便于后续继续的超体聚类中的扩展处理,以及快速辨别已构成点云中一个有意义的区域的待定体素,本发明实施例采用了法向量和面参数这两个约束条件来获得每个待定体素的真实邻居。
得到所有待定体素的真实邻居之后,将进一步判断每个待定体素是否已经构成点云中一个有意义的区域,具体的,在通过步骤S221过滤每个待定体素的每个潜在邻居的过程中,如果对每个待定体素的所有潜在邻居进行过滤之后,发现某个或某些待定体素中的所有潜在邻居都被滤除,即不存在真实邻居,则可认为不存在真实邻居的待定体素已经完成了超体聚类,其已经可以代表点云中一个有意义的区域,请参阅图5a和图5b,图5a是本发明实施例提供的一种不相邻体素关系的示意图,图5b是本发明实施例提供的另一种不相邻体素关系的示意图,从图5a和图5b可知,不存在真实邻居的待定体素,通常是因为其已经形成点云中的一个完整区域。由此,可以得到真实相邻关系表征未存在邻居的待定体素和真实相邻相关表征存在邻居的待定体素,应理解,真实相邻关系表征未存在邻居可以是指所有潜在邻居都已被滤除,此时的真实相邻关系可以被记为空集;而真实相邻关系表征存在邻居可以是指潜在邻居经过滤后,至少还存在一个真实邻居。
需注意的是,潜在相邻关系、真实相邻关系等可以通过列表或树结构或集合或其他方式进行记录,本发明实施例对此不做限定。
得到每个待定体素的真实相邻关系之后,即可通过步骤S230和步骤S240分别对不存在真实邻居的待定体素和存在真实邻居的待定体素进行相应处理。
具体的,对于不存在真实邻居的待定体素,通过步骤S230,直接将该待定体素确定为目标超体素,该目标超体素用于表征点云数据的一个区域,该目标超体素可以作为最终的超体聚类输出结果中的一个,可以被直接应用于后续图像识别工作。在一些实施例中,为避免后续扩展处理中对目标超体素继续扩展而产生冗余操作,在得到目标超体素之后,本发明实施例提供的超体聚类点云分割方法还对目标超体素进行区分存档,即,该方法还可以包括以下步骤:在步骤S231中,保存所述目标超体素所包含的目标体素单元,并将各目标体素单元的扩展类型确定为无效体素,用于表征无需对所述目标体素单元进行再扩展处理。在一种实际操作中,可以将目标超体素所包含的所有目标体素单元以点云数据的方式存储到对应的一区域列表中,并在该区域列表中设置用于区分目标体素单元的扩展类型的数据值,例如,可以将各目标体素单元的扩展类型对应的数据值置为-2,并记录到区域列表中。由此,在后续多次的超体聚类处理过程中,在扩展到某个目标超体素时,如果从该目标超体素的区域列表搜索发现其所包含的所有目标体素单元的扩展类型的数据值都为-2,则表示目标体素单元为无效体素,无需对目标体素单元进行再扩展处理。
而对于存在真实邻居的待定体素,通过步骤S240进行下一次超体聚类处理,具体的,先将待定体素标记为待聚类体素,然后从待聚类体素中确定种子点体素,其中,种子点体素的选取原理可以与初次超体聚类处理过程中的种子点体素单元的选取原理相似,例如,可以先从所有待聚类体素中随机选取一个待聚类体素作为种子点体素,也可以将位于所有待聚类体素的中心处的一个待聚类体素作为种子点体素,然后基于该种子点体素,按照设定体素间隔,从所有待聚类体素中选取得到剩余的其他种子点体素。得到所有种子点体素之后,即可对每个种子点体素进行扩展处理,其中的扩展处理原理见上文相关记载,在此不进行赘述,扩展处理结束后,即可得到新的超体素和超体素的潜在相邻关系。其中,虽然可以通过随机选取种子点体素来实现后续的扩展处理,但这种随机选取得到的种子点体素可能不具备代表性,例如,某个方位处选取的种子点体素过多,而某个方位处选取的种子点体素过少,进而导致后续得到的超体素过于零散或存在点云数据遗漏,无法很好地表征点云中各区域的完整特征,故为解决这一技术问题,在一些实施例中,本发明实施例提供的超体聚类点云分割方法还提供了适用于在初次超体聚类处理之后的各次超体聚类处理的过程中,对种子点体素进行优化选取的方案,也即,所述步骤S240中,将真实相邻关系表征存在邻居的待定体素确定为待聚类体素,并从中确定种子点体素的过程,可以包括以下步骤:
在步骤S241中,根据体素法向分量特性对所有待聚类体素进行分类,以得到不同体素类别的多个体素集合;其中,所述法向分量特性用于表征待聚类体素的法向量在原始点云数据所在的三维坐标系中的横轴分量值、纵轴分量值和垂轴分量值的大小关系;
在步骤S242中,根据设定体素间隔,从每个体素集合中确定出种子点体素。
以下说明一下通过步骤S241和步骤S242实现对种子点体素的选取过程:
为了保证最终选取出的种子点体素能够表征各种特性的待聚类体素,以保证最终选取出的种子点体素具备代表性,进而得到更好的超体聚类区域,可以先通过步骤S241,按照每个待聚类体素的法向量特性来对所有待聚类体素进行分析,以得到不同体素类别的多个体素集合,对此,本发明实施例还提供了一种较优的分类方案,所述步骤S241中,根据体素法向量特性对所有待聚类体素进行分类的过程,可以包括以下步骤:
在步骤S2411中,针对每个待聚类体素,获取所述待聚类体素在所述三维坐标系中的横轴分量值、纵轴分量值和垂轴分量值;
在步骤S2412中,针对每个待聚类体素,根据所述待聚类体素中绝对值最大的分量值确定所述待聚类体素的体素类别;所述体素类别包括横向类体素、纵向类体素和垂向类体素。
可以理解的,对于每个待聚类体素,可以先通过步骤S2411,计算得到该待聚类体素在原始点云数据所在的三维坐标系,即上文提及的三维坐标系中的法向量在坐标系中三个轴上的分量,即进行分量计算可以得到分别在三维坐标系中X轴、Y轴和Z轴上的横轴分量值、纵轴分量值和垂轴分量值等。接着,通过步骤S2412,求取每个待聚类体素的横轴分量值、纵轴分量值和垂轴分量值中绝对值最大的一个分量值,并根据绝对值最大的分量值对应的坐标系轴确定待聚类体素的体素类别,例如,如果待聚类体素中横轴分量值的绝对值最大,则认为该待聚类体素的体素类别为横向类体素,表示该待聚类体素近似垂直于X轴;如果待聚类体素中纵轴分量值的绝对值最大,则认为该待聚类体素的体素类别为纵向类体素,表示该待聚类体素近似垂直于Y轴;如果待聚类体素中垂轴分量值的绝对值最大,则认为该待聚类体素的体素类别为垂向类体素,表示该待聚类体素近似垂直于Z轴。可见,最终可以将所有待聚类体素划分成三大类,分别为横向类体素、纵向类体素和垂向类体素。不同类别的体素可以分开存储在不同的集合中,同一类别的体素则存储在同一集合中。可见,对待聚类体素进行分类之后,可以得到近似平行的待聚类体素,然后即可通过步骤S242,从分类好的每个体素集合中,即从每一类所包含的近似平行的待聚类体素中,按照设定体素间隔,例如,每隔10个待聚类体素选取一个种子点体素,通过这种方案获取到的种子点体素能够涵盖各体素类别的待聚类体素,更具代表意义,可以保证后续形成更好的目标超体素。
上述在种子点体素的选取过程中,虽然通过按照体素间隔从每一类集合中可以选取到比较有代表意义的种子点体素,但并未考虑所选取的种子点体素间是否存在共面的可能,这样可能导致有些不共面的待聚类体素,由于不存在种子点体素而导致后续扩展处理过程中,未被扩展到,进而产生扩展遗漏,也影响扩展处理的效率。故为进一步解决这一技术问题,在一些实施例中,本发明实施例提供的超体聚类点云分割方法还提出了一种优化在每类体素集合中选取种子点体素的方案,以保证不共面的待聚类体素,都具备对应的种子点体素,以在后续扩展中能被加入到种子点体素所在区域,进而形成更好的超体素。基于此,对所述步骤S242的处理过程进一步优化,即所述步骤S242中,根据设定体素间隔,从每类待聚类体素中确定出种子点体素,可以包括以下步骤:
在步骤S241中,对于每个体素集合,根据所述体素集合中各待聚类体素的面参数,将所述体素集合中的所有待聚类体素划分为多个体素子集合;其中,同一个体素子集合中体素尺寸最大的体素与其余各体素的面参数之差的绝对值小于设定距离阈值;
在步骤S242中,对于每个体素子集合,按照所述体素间隔从所述体素子集合中筛选得到种子点体素。
以下说明一下通过步骤S241~步骤S242实现对种子点体素的优化筛选的过程:
对于每个体素集合,即每一类体素集合,首先通过步骤S241,计算出该类体素集合中各待聚类体素的面参数,其中面参数的计算原理可参见相关技术或上文相关记载,在此不进行赘述,以根据面参数之差的绝对值来将同一类体素集合中的所有待聚类体素划分成不同类别的多个体素子集合,其中,每个体素子集合中的所有待聚类体素与其中体素尺寸最大的体素的面参数之差的绝对值小于设定距离阈值,即表征近似共面。在一种具体的子集合划分方式中,对于每一类体素集合,可以先计算每一类体素集合中各待聚类体素的体素尺寸,并将计算得到的体素尺寸记录到对应体素类别的数组或列表或尺寸集合中,以记录在数组为例,可以得到对应三类体素集合的三个尺寸数组。每类体素集合中的待聚类体素和对应的尺寸数组中的尺寸数据,按照体素集合中待聚类体素的顺序一一对应;其中,尺寸数据可以表征一个待聚类体素所包含的体素单元的总数。
得到每个体素集合对应的体素尺寸数组之后,对于每个体素集合,基于其对应的尺寸数组从体素集合中获取具备最大尺寸数据值的一个目标待聚类体素,并计算得到该目标待聚类体素的面参数,然后遍历体素集合中剩余的待聚类体素,以从中找到面参数与该目标待聚类体素的面参数之差的绝对值小于上述距离阈值的所有待聚类体素,这些待聚类体素和目标待聚类体素都近似共面,接着将目标待聚类体素和与其近似共面的待聚类体素形成一个体素子集合。而对于同类体素集合中还未被纳入体素子集合的待聚类体素,还是按照上述处理过程实现对剩余待聚类体素的划分,即,选取具备最大尺寸数据且未被纳入体素子集合的待聚类体素作为新的目标待聚类体素,重复上述对目标待聚类体素的处理,直至当前体素集合中的所有待聚类体素都已被划分到对应的体素子集合中。可见,按照上述方式对每个体素集合进行划分后,每个体素集合将被分为多组体素子集合。其中,为保证对体素集合的划分能够有序进行,避免对已划分过的体素进行再次划分,可以在划分过程中,将已被划分到体素子集合中的待聚类体素对应的尺寸数据置为-1,以表示待聚类体素已被划分,无需再做划分处理。而在基于目标待聚类体素来遍历对应体素集合中的剩余待聚类体素的过程中,可以基于剩余待聚类体素生成所述目标待聚类体素对应的遍历集合,该遍历集合中存储有剩余待聚类体素的遍历标识,在初始化阶段,所有遍历标识被置为0,以表示对应的待聚类体素未被遍历;而在后续遍历过程中,可以将已被遍历过的待聚类体素的遍历标识置为1,以标识已经访问过对应的待聚类体素,在基于目标待聚类体素进行待聚类体素继续遍历的过程中,无需再访问遍历标识为1的待聚类体素,由此可以很好地区分已访问过和未访问过的待聚类体素,避免在基于当前目标待聚类体素进行遍历处理的过程中,对已访问过的待聚类体素进行再次或多次访问而影响遍历处理的效率。
得到每类体素集合各自对应的多个体素子集合之后,即可通过步骤S242,按照上述体素间隔,从每个体素子集合中选取得到种子点体素。其中的体素间隔可以根据实际需求设定,本发明实施例对此不做限定。
通过上述任一种实施方式得到种子点体素之后,即可基于初次超体聚类处理中的扩展处理方式,对种子点体素的真实邻居进行扩展处理,以得到新的超体素和超体素的潜在相邻关系。其中,在扩展结束后,可能还是有些待聚类体素未被遍历到,因此,如果在扩展结束后直接基于输出新的超体素和超体素间的潜在相邻关系以判定是否需进行新一轮迭代,有可能会导致这些未被遍历到的体素在新一轮迭代中仍未被遍历到,进而影响最终得到的超体聚类结果的完整性,故为解决这一技术问题,在一些实施例中,本发明实施例提供的超体聚类点云分割方法在初次超体聚类处理之后的每次超体聚类处理的扩展处理环节,还增加了在扩展处理结束之后,进一步判定是否存在未被遍历的体素的处理方案,也即,在对所述种子点体素的相邻待聚类体素进行扩展处理之后,本发明实施例提供的超体聚类点云分割方法还可以包括:
在步骤S251中,确定在扩展处理过程中是否存在未被扩展到任一种子点体素的待扩展体素;
在步骤S2511中,存在所述待扩展体素时,针对每个待扩展体素,根据所述待扩展体素中各体素单元的扩展类型,确定所述待扩展体素的扩展类型是否为无效体素;
在步骤S25111中,在存在扩展类型为非无效体素的待扩展体素时,确定非无效体素类型的待扩展体素是否存在真实邻居;
在步骤S251111中,对于存在真实邻居的每个待扩展体素,在所述待扩展体素中设置新种子点体素,并根据所述新种子点体素对所述待扩展体素的真实邻居进行扩展处理,并返回执行所述确定在扩展处理过程中是否存在未被扩展到任一种子点体素的待扩展体素的步骤;
在步骤S2512中,未存在所述待扩展体素时,将当前得到的超体素和超体素的潜在相邻关系,确定为所述新的超体素和超体素的潜在相邻关系。
以下说明一下步骤S251~S2512的处理过程:
首先,为便于步骤S251快速判断哪些待聚类体素未被扩展访问,可以在扩展处理过程中将已经访问过的待聚类体素的访问标识置为1,而未被访问过的待聚类体素的访问标识保持初始默认值,例如为-1。基于此,在步骤S251中,即可基于所有待聚类体素的访问标识来确定出未被扩展访问的待扩展体素。
得到待扩展体素之后,即可通过步骤S2511,进一步根据每个待扩展体素所包含的各体素单元的扩展类型,来获得需进行扩展的待扩展体素,具体的,可参见上文相关内容,由于扩展类型包括无效类型,而属于无效类型的待扩展体素表征无需进行再扩展处理。因此,通过基于每个待扩展体素所包含的各体素单元的扩展类型,即可得到非无效类型(也可称为有效类型)的待扩展体素,换言之,得到表示需进行扩展处理的待扩展体素。
得到有效类型的待扩展体素之后,即可通过步骤S25111,进一步确定有效类型的每个待扩展体素是否存在真实邻居,其中是否存在真实邻居的判定方式可参见上文相关记载或相关技术,在此不进行赘述。对于不存在真实邻居的待扩展体素,则可以忽略该待扩展体素,并将其扩展类型置为无效类型。而对于存在真实邻居的待扩展体素,则需通过步骤S251111,在所述待扩展体素中新增种子点体素,而这新增的种子点体素是没有被已有种子点体素扩展到,但具备真实邻居的体素,如图6所示,图6是本发明实施例提供的一种新增种子点体素的示意图。从图6可知,已有的两个种子点分别可以扩展到其相邻的体素中,但图6中还存在一个区域,即新增种子点体素对应的区域,在这个区域中,原本是不存在种子点的,且其他种子点也无法扩展到该区域,此时就需要增加一个种子点,即本实施例提出的新种子点体素,由此可以避免种子点遗漏的问题,从而保证每个区域都能被分配到种子点体素对应的区域中。新增种子点体素之后,在输出本次超体聚类处理得到的新的超体素和超体素的潜在相邻关系之前,还需补充一次的扩展处理,即根据新种子点体素对相应的待扩展体素的真实邻居进行扩展处理,应理解,本次补充的扩展处理仅对新增的种子点体素进行扩展操作,且在扩展处理过程中,无需对已经访问过的体素进行扩展。在本次补充的扩展处理完成后,为进一步避免种子点体素遗漏,可以基于本次扩展处理后的结果返回执行步骤S251,直至当前补充的扩展处理中,不存在待扩展体素。
在通过步骤S251判定当前不存在待扩展体素时,则可以认为当前不存在种子点体素遗漏,已保证每个区域都能够分配到种子点体素对应的区域中,因此,可以通过步骤S2512,将当前得到的超体素和超体素的潜在相邻关系,确定为所述新的超体素和超体素的潜在相邻关系。
通过上述任一种实施方式得到新的超体素和超体素的潜在相邻关系之后,为保证最终的超体聚类结果中的各超体素都能够对应一个点云中的区域,可被直接应用于后续图像识别中,需进行超体聚类的迭代处理,即返回到步骤S220中,将当前得到的新的超体素作为新一轮迭代中的待定体素,并重复执行步骤S220~S240,直至本次超体聚类处理后得到的每个超体素对应的真实邻居关系均表征未存在邻居,此时即可将当前得到的所有目标超体素作为超体素聚类输出结果进行输出。
可见,通过本发明实施例提供的超体聚类点云分割方法,可以根据上文提及的相关条件自动结束超体聚类的点云分割过程,即,通过采用超体素是否存在真实邻居的方式来判断是否停止对某个超体素的聚类——对于不存在真实邻居的超体素,可以停止对其进行聚类处理,而对于存在真实邻居的超体素,则继续下一次聚类处理,直至当前得到的所有超体素都可停止聚类处理为止。由此不仅可以提高点云分割的智能性,而且通过是否存在真实邻居来判定是否进行聚类处理的方式,所涉及的算法流程简单、易于实现和操作,有利于提高算法处理的效率。
值得注意的是,本发明上述任一实施例中的技术特征或技术方案可以相互组合,只要不存在组合矛盾即可。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种超体聚类点云分割装置的实现方式,可选地,该超体聚类点云分割装置可以采用上述图1所示的电子设备的器件结构。进一步地,请参阅图7,图7为本发明实施例提供的一种超体聚类点云分割装置的功能模块图。需要说明的是,本实施例所提供的超体聚类点云分割装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该超体聚类点云分割装置700包括:
初次聚类模块710,被配置为:对输入的原始点云数据进行初次超体聚类处理,得到超体素和超体素的潜在相邻关系;
相邻关系处理模块720,被配置为:将当前得到的超体素作为待定体素,针对每个待定体素,根据所述待定体素的法向量和所述待定体素所在区域的面参数,对所述待定体素的潜在相邻关系进行过滤处理,以得到所述待定体素的真实相邻关系;
目标超体素确定模块730,被配置为:将真实相邻关系表征未存在邻居的待定体素确定为目标超体素,所述目标超体素用于表征点云数据中的一个区域;
迭代聚类模块740,被配置为:将真实相邻关系表征存在邻居的待定体素确定为待聚类体素,并从中确定种子点体素,针对每个种子点体素,对所述种子点体素的相邻待聚类体素进行扩展处理,以得到新的超体素和超体素的潜在相邻关系,并将所述新的超体素和超体素的潜在相邻关系传输给所述相邻关系处理模块,直至所述相邻关系处理模块返回当前得到的每个超体素对应的真实相邻关系均表征未存在邻居的信息。
在一些实施例中,所述初次聚类模块710可以包括:
点云处理单元,被配置为:将所述原始点云数据划分为指定尺寸的体素单元;
待定邻居确定单元,被配置为:对于每个体素单元,获取在所述体素单元设定邻居范围内的待定邻居;
真实邻居确定单元,被配置为:对于每个体素单元的每个待定邻居,如果所述待定邻居的法向量和所述体素单元的法向量之间的夹角小于设定第一角度阈值、且所述待定邻居的中心点与所述体素单元的中心点的连线和所述体素单元的法向量之间的夹角大于设定第二角度阈值,则确定所述待定邻居为所述体素单元的真实邻居;
种子点确定单元,被配置为:按照设定种子点间隔从所述原始点云数据中确定种子点体素单元;
聚类单元,被配置为:针对每个种子点体素单元,对所述种子点体素单元的真实邻居进行扩展处理,以得到超体素和超体素的潜在相邻关系。
在一些实施例中,所述聚类单元包括:
超体素生成子单元,被配置为:针对每个种子点体素单元,将所述种子点体素单元的真实邻居、以及各真实邻居的真实邻居分配到所述种子点体素单元对应的种子点区域,以形成对应的超体素;其中,在不同种子点体素单元扩展到同一真实邻居时,将所述同一真实邻居分配给距离最近的种子点区域,并将扩展到同一真实邻居的不同种子点体素单元对应的超体素之间的关系记录为潜在相邻关系。
在一些实施例中,所述相邻关系处理模块720包括:
真实关系确定单元,被配置为:对于所述待定体素的潜在相邻关系中的每个潜在邻居,如果所述潜在邻居的法向量和所述待定体素的法向量之间的夹角小于第一角度阈值、且所述潜在邻居所在区域的面参数和所述待定体素所在区域的面参数之差的绝对值小于设定距离阈值,则确定所述潜在邻居为真实邻居;
记录单元,被配置为:记录所述待定体素与其所有真实邻居的相邻关系,以得到所述待定体素的真实相邻关系。
在一些实施例中,所述迭代聚类模块740包括:
种子点体素确定单元,被配置为:根据法向分量特性对所有待聚类体素进行分类,以得到不同体素类别的多个体素集合;其中,所述法向分量特性用于表征待聚类体素的法向量在原始点云数据所在的三维坐标系中的横轴分量值、纵轴分量值和垂轴分量值的大小关系;根据设定体素间隔,从每个体素集合中确定出种子点体素。
在一些实施例中,所述种子点体素确定单元包括:
体素分类子单元,被配置为:针对每个待聚类体素,获取所述待聚类体素在所述三维坐标系中的横轴分量值、纵轴分量值和垂轴分量值;针对每个待聚类体素,根据所述待聚类体素中绝对值最大的分量值确定所述待聚类体素的体素类别;所述体素类别包括横向类体素、纵向类体素和垂向类体素。
在一些实施例中,所述种子点体素确定单元还包括:
种子点选取子单元,被配置为:对于每个体素集合,根据所述体素集合中各待聚类体素的面参数,将所述体素集合中的所有待聚类体素划分为多个体素子集合;其中,同一个体素子集合中体素尺寸最大的体素与其余各体素的面参数之差的绝对值小于设定距离阈值;对于每个体素子集合,按照所述体素间隔从所述体素子集合中筛选得到种子点体素。
在一些实施例中,所述超体聚类点云分割装置700还可以包括:
后处理模块,被配置为:得到目标超体素之后,保存所述目标超体素所包含的目标体素单元,并将各目标体素单元的扩展类型确定为无效体素,用于表征无需对所述目标体素单元进行再扩展处理。
再扩展处理模块,被配置为:在对所述种子点体素的相邻待聚类体素进行扩展处理之后,确定在扩展处理过程中是否存在未被扩展到任一种子点体素的待扩展体素;存在所述待扩展体素时,针对每个待扩展体素,根据所述待扩展体素中各体素单元的扩展类型,确定所述待扩展体素的扩展类型是否为无效体素;在存在扩展类型为非无效体素的待扩展体素时,确定非无效体素类型的待扩展体素是否存在邻居;对于存在邻居的每个待扩展体素,在所述待扩展体素中设置新种子点体素,并根据所述新种子点体素对所述待扩展体素的邻居进行扩展处理,并返回执行所述确定在扩展处理过程中是否存在未被扩展到任一种子点体素的待扩展体素的步骤;未存在所述待扩展体素时,将当前得到的超体素和超体素的潜在相邻关系,确定为所述新的超体素和超体素的潜在相邻关系。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器中或固化于电子设备的操作系统(Operating System,OS)中,并可由图1中的处理器执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器中。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种超体聚类点云分割方法,其特征在于,包括:
对输入的原始点云数据进行初次超体聚类处理,得到超体素和超体素的潜在相邻关系;
将当前得到的超体素作为待定体素,针对每个待定体素,根据所述待定体素的法向量和所述待定体素所在区域的面参数,对所述待定体素的潜在相邻关系进行过滤处理,以得到所述待定体素的真实相邻关系;
将真实相邻关系表征未存在邻居的待定体素确定为目标超体素,所述目标超体素用于表征点云数据中的一个区域;
将真实相邻关系表征存在邻居的待定体素确定为待聚类体素,并从中确定种子点体素,针对每个种子点体素,对所述种子点体素的相邻待聚类体素进行扩展处理,以得到新的超体素和超体素的潜在相邻关系,并返回执行所述将当前得到的超体素作为待定体素的步骤,直至当前得到的每个超体素对应的真实相邻关系均表征未存在邻居。
2.根据权利要求1所述的方法,其特征在于,所述对输入的原始点云数据进行初次超体聚类处理,得到超体素和超体素的潜在相邻关系,包括:
将所述原始点云数据划分为指定尺寸的体素单元;
对于每个体素单元,获取在所述体素单元设定邻居范围内的待定邻居;
对于每个体素单元的每个待定邻居,如果所述待定邻居的法向量和所述体素单元的法向量之间的夹角小于设定第一角度阈值、且所述待定邻居的中心点与所述体素单元的中心点的连线和所述体素单元的法向量之间的夹角大于设定第二角度阈值,则确定所述待定邻居为所述体素单元的真实邻居;
按照设定种子点间隔从所述原始点云数据中确定种子点体素单元;
针对每个种子点体素单元,对所述种子点体素单元的真实邻居进行扩展处理,以得到超体素和超体素的潜在相邻关系。
3.根据权利要求2所述的方法,其特征在于,所述针对每个种子点体素单元,对所述种子点体素单元的真实邻居进行扩展处理,以得到超体素和超体素的潜在相邻关系超体素,包括:
针对每个种子点体素单元,将所述种子点体素单元的真实邻居、以及各真实邻居的真实邻居分配到所述种子点体素单元对应的种子点区域,以形成对应的超体素;
其中,在不同种子点体素单元扩展到同一真实邻居时,将所述同一真实邻居分配给距离最近的种子点区域,并将扩展到同一真实邻居的不同种子点体素单元对应的超体素之间的关系记录为潜在相邻关系。
4.根据权利要求1所述的方法,其特征在于,所述待定体素的真实相邻关系的获取过程包括:
对于所述待定体素的潜在相邻关系中的每个潜在邻居,如果所述潜在邻居的法向量和所述待定体素的法向量之间的夹角小于第一角度阈值、且所述潜在邻居所在区域的面参数和所述待定体素所在区域的面参数之差的绝对值小于设定距离阈值,则确定所述潜在邻居为真实邻居;
记录所述待定体素与其所有真实邻居的相邻关系,以得到所述待定体素的真实相邻关系。
5.根据权利要求1所述的方法,其特征在于,所述将真实相邻关系表征存在邻居的待定体素确定为待聚类体素,并从中确定种子点体素,包括:
根据法向分量特性对所有待聚类体素进行分类,以得到不同体素类别的多个体素集合;其中,所述法向分量特性用于表征待聚类体素的法向量在原始点云数据所在的三维坐标系中的横轴分量值、纵轴分量值和垂轴分量值的大小关系;
根据设定体素间隔,从每个体素集合中确定出种子点体素。
6.根据权利要求5所述的方法,其特征在于,所述根据体素法向量特性对所有待聚类体素进行分类,包括:
针对每个待聚类体素,获取所述待聚类体素在所述三维坐标系中的横轴分量值、纵轴分量值和垂轴分量值;
针对每个待聚类体素,根据所述待聚类体素中绝对值最大的分量值确定所述待聚类体素的体素类别;所述体素类别包括横向类体素、纵向类体素和垂向类体素。
7.根据权利要求5所述的方法,其特征在于,所述根据设定体素间隔,从每类待聚类体素中确定出种子点体素,包括:
对于每个体素集合,根据所述体素集合中各待聚类体素的面参数,将所述体素集合中的所有待聚类体素划分为多个体素子集合;其中,同一个体素子集合中体素尺寸最大的体素与其余各体素的面参数之差的绝对值小于设定距离阈值;
对于每个体素子集合,按照所述体素间隔从所述体素子集合中筛选得到种子点体素。
8.根据权利要求1所述的方法,其特征在于,得到目标超体素之后,所述方法还包括:
保存所述目标超体素所包含的目标体素单元,并将各目标体素单元的扩展类型确定为无效体素,用于表征无需对所述目标体素单元进行再扩展处理;
在对所述种子点体素的相邻待聚类体素进行扩展处理之后,所述方法还包括:
确定在扩展处理过程中是否存在未被扩展到任一种子点体素的待扩展体素;
存在所述待扩展体素时,针对每个待扩展体素,根据所述待扩展体素中各体素单元的扩展类型,确定所述待扩展体素的扩展类型是否为无效体素;
在存在扩展类型为非无效体素的待扩展体素时,确定非无效体素类型的待扩展体素是否存在真实邻居;
对于存在真实邻居的每个待扩展体素,在所述待扩展体素中设置新种子点体素,并根据所述新种子点体素对所述待扩展体素的真实邻居进行扩展处理,并返回执行所述确定在扩展处理过程中是否存在未被扩展到任一种子点体素的待扩展体素的步骤;
未存在所述待扩展体素时,将当前得到的超体素和超体素的潜在相邻关系,确定为所述新的超体素和超体素的潜在相邻关系。
9.一种超体聚类点云分割装置,其特征在于,包括:
初次聚类模块,被配置为:对输入的原始点云数据进行初次超体聚类处理,得到超体素和超体素的潜在相邻关系;
相邻关系处理模块,被配置为:将当前得到的超体素作为待定体素,针对每个待定体素,根据所述待定体素的法向量和所述待定体素所在区域的面参数,对所述待定体素的潜在相邻关系进行过滤处理,以得到所述待定体素的真实相邻关系;
目标超体素确定模块,被配置为:将真实相邻关系表征未存在邻居的待定体素确定为目标超体素,所述目标超体素用于表征点云数据中的一个区域;
迭代聚类模块,被配置为:将真实相邻关系表征存在邻居的待定体素确定为待聚类体素,并从中确定种子点体素,针对每个种子点体素,对所述种子点体素的相邻待聚类体素进行扩展处理,以得到新的超体素和超体素的潜在相邻关系,并将所述新的超体素和超体素的潜在相邻关系传输给所述相邻关系处理模块,直至所述相邻关系处理模块返回当前得到的每个超体素对应的真实相邻关系均表征未存在邻居的信息。
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160755.1A CN117710717B (zh) | 2024-02-05 | 超体聚类点云分割方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160755.1A CN117710717B (zh) | 2024-02-05 | 超体聚类点云分割方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117710717A true CN117710717A (zh) | 2024-03-15 |
CN117710717B CN117710717B (zh) | 2024-05-28 |
Family
ID=
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600622A (zh) * | 2016-12-06 | 2017-04-26 | 西安电子科技大学 | 一种基于超体素的点云数据分割方法 |
CN108961271A (zh) * | 2018-06-27 | 2018-12-07 | 西安工程大学 | 一种彩色3d点云超体素凹凸分割算法 |
US20210158016A1 (en) * | 2018-04-17 | 2021-05-27 | Nippon Telegraph And Telephone Corporation | Three-dimensional point cloud label learning device, three-dimensional point cloud label estimating device, three-dimensional point cloud label learning method, three-dimensional point cloud label estimating method, and program |
WO2022050904A1 (en) * | 2020-09-02 | 2022-03-10 | Nanyang Technological University | Point cloud attribute compression |
CN114972377A (zh) * | 2022-05-24 | 2022-08-30 | 厦门大学 | 基于移动最小二乘法与超体素的3d点云分割方法和装置 |
CN116310849A (zh) * | 2023-05-22 | 2023-06-23 | 深圳大学 | 基于三维形态特征的树木点云单体化提取方法 |
CN116977593A (zh) * | 2022-04-22 | 2023-10-31 | 东北林业大学 | 一种基于超体素凹凸性分割与颜色区域生长的单木分割方法 |
CN117036653A (zh) * | 2023-08-16 | 2023-11-10 | 长春理工大学 | 基于超体素聚类的点云分割方法及系统 |
CN117291936A (zh) * | 2023-11-27 | 2023-12-26 | 法奥意威(苏州)机器人系统有限公司 | 点云分割方法、装置、设备和介质 |
CN117315518A (zh) * | 2023-11-14 | 2023-12-29 | 长春理工大学 | 一种增强现实目标初始注册方法及系统 |
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600622A (zh) * | 2016-12-06 | 2017-04-26 | 西安电子科技大学 | 一种基于超体素的点云数据分割方法 |
US20210158016A1 (en) * | 2018-04-17 | 2021-05-27 | Nippon Telegraph And Telephone Corporation | Three-dimensional point cloud label learning device, three-dimensional point cloud label estimating device, three-dimensional point cloud label learning method, three-dimensional point cloud label estimating method, and program |
CN108961271A (zh) * | 2018-06-27 | 2018-12-07 | 西安工程大学 | 一种彩色3d点云超体素凹凸分割算法 |
WO2022050904A1 (en) * | 2020-09-02 | 2022-03-10 | Nanyang Technological University | Point cloud attribute compression |
CN116977593A (zh) * | 2022-04-22 | 2023-10-31 | 东北林业大学 | 一种基于超体素凹凸性分割与颜色区域生长的单木分割方法 |
CN114972377A (zh) * | 2022-05-24 | 2022-08-30 | 厦门大学 | 基于移动最小二乘法与超体素的3d点云分割方法和装置 |
CN116310849A (zh) * | 2023-05-22 | 2023-06-23 | 深圳大学 | 基于三维形态特征的树木点云单体化提取方法 |
CN117036653A (zh) * | 2023-08-16 | 2023-11-10 | 长春理工大学 | 基于超体素聚类的点云分割方法及系统 |
CN117315518A (zh) * | 2023-11-14 | 2023-12-29 | 长春理工大学 | 一种增强现实目标初始注册方法及系统 |
CN117291936A (zh) * | 2023-11-27 | 2023-12-26 | 法奥意威(苏州)机器人系统有限公司 | 点云分割方法、装置、设备和介质 |
Non-Patent Citations (2)
Title |
---|
杨玉泽;林文树;: "基于激光点云数据的树木枝叶分割和三维重建", 西北林学院学报, no. 03, 31 March 2020 (2020-03-31) * |
郑书富;李渭;刘莉;: "基于超体素聚类的三维点云轮廓特征提取", 兰州文理学院学报(自然科学版), no. 03, 10 May 2018 (2018-05-10) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111192284B (zh) | 一种车载激光点云分割方法及系统 | |
CN111210429B (zh) | 点云数据划分方法及装置、障碍物检测方法及装置 | |
Zhong | Intrinsic shape signatures: A shape descriptor for 3D object recognition | |
CN110443810B (zh) | 基于快速邻接体素查询的点云平面分割方法 | |
CN109685080B (zh) | 基于霍夫变换与区域生长的多尺度平面提取方法 | |
CN111582054B (zh) | 点云数据处理方法及装置、障碍物检测方法及装置 | |
CN111553946B (zh) | 用于去除地面点云的方法及装置、障碍物检测方法及装置 | |
CN113538264B (zh) | 一种点云数据的去噪方法、装置及存储介质 | |
CN112396133B (zh) | 基于多尺度空间的城市区域空地一体融合点云分类方法 | |
CN111783722B (zh) | 一种激光点云的车道线提取方法和电子设备 | |
CN114930402A (zh) | 点云法向量计算方法、装置、计算机设备和存储介质 | |
CN116091771A (zh) | 一种复杂机匣腔体点云分割方法、装置及设备 | |
CN111126211B (zh) | 标牌识别方法和装置、电子设备 | |
WO2023247827A1 (en) | Method and system for processing point-cloud data | |
CN110490893B (zh) | 一种快速欧式距离点云分割方法 | |
CN106683105A (zh) | 图像分割方法及图像分割装置 | |
CN113436223B (zh) | 点云数据的分割方法、装置、计算机设备和存储介质 | |
CN117710717B (zh) | 超体聚类点云分割方法、装置、设备和存储介质 | |
CN112070787B (zh) | 基于对立推理理论的航空三维点云平面分割方法 | |
CN113077473A (zh) | 三维激光点云路面分割方法、系统、计算机设备及介质 | |
CN117710717A (zh) | 超体聚类点云分割方法、装置、设备和存储介质 | |
CN116958485A (zh) | 一种可视域分析方法及装置 | |
CN111291662B (zh) | 一种基于平面选择的车载点云杆状物提取方法 | |
CN113592976A (zh) | 地图数据的处理方法、装置、家用电器和可读存储介质 | |
CN114020934A (zh) | 基于知识图谱的空间语义信息的整合方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |