三维点云数据的处理方法、系统、计算机设备和存储介质与流程

文档序号:30086885发布日期:2022-05-18 06:06阅读:195来源:国知局
三维点云数据的处理方法、系统、计算机设备和存储介质与流程

1.本发明涉及点云处理领域,特别是涉及一种三维点云数据的处理方法、处理系统、计算机设备和存储介质。


背景技术:

2.作为二维数据的延展,三维点云数据已成为一种重要的内容呈现方式,应用领域非常广泛,如虚拟现实、增强现实、机器人感知、真三维显示等领域。在数据获取方面,可以利用激光扫描或三维建模软件生成三维点云数据,也可以采用双目、结构光、深度相机等传感器获取的深度图像(rgb-d)形式的三维点云,这些方法都可以便捷地获取三维点云数据。但是,对于海量的三维点云数据,难点在于如何进行有效地处理,如分割、去噪、压缩等。


技术实现要素:

3.为了解决上述问题至少之一,本发明第一个实施例提供一种三维点云数据的处理方法,包括:
4.s1:对三维点云数据进行聚类操作并输出聚类结果,建立该三维点云数据的组织结构;
5.s3:根据所述聚类结果对所述三维点云数据进行三角剖分并输出多个剖分图,建立该三维点云数据的约束关系;
6.s5:分别将各剖分图包含的各样本点映射到二维子图像中,所述二维子图像包括该剖分图的各样本点的约束关系;
7.s7:将所述二维子图像进行拼接并输出所述三维点云数据映射的二维图像。
8.进一步的,使用多层聚类方法对三维点云数据进行聚类操作。
9.进一步的,所述s1进一步包括:
10.s11:按照预设聚类分层数量进行聚类操作;
11.s13:从一个聚类分层的三维点云数据中选取多个第一聚类中心点;
12.s15:遍历该聚类分层的三维点云数据,分别计算每个样本点与各第一聚类中心点的第一距离并将第一距离最小的第一聚类中心点作为该样本点的归属类,并获取所述三维点云数据的多个子分类;
13.s17:根据各子分类计算该聚类分层的三维点云数据的第二聚类中心点并计算所述第二聚类中心点与第一聚类中心点的第二距离,判断所述第二距离是否满足预设距离阈值,若不满足则将所述第二聚类中心作为第一聚类中心并跳转至s15,若满足则以所述第一聚类中心点作为聚类节点并输出包括该聚类节点的聚类结果并判断是否完成所有聚类分层的聚类操作,若未完成则跳转至s13。
14.进一步的,所述聚类操作包括k-means、均值漂移、密度聚类、层次聚类中的至少一个。
15.进一步的,所述s3进一步包括:根据所述聚类结果的聚类节点分别进行剖分建图
并输出对应的剖分图。
16.进一步的,所述s5进一步包括:
17.s51:对一个剖分图中的各样本点分别建立映射函数以将该样本点映射到二维子图像中;
18.s53:从剖分图中任意选取两个样本点形成样本点对,并通过所述两个样本点对应的映射函数计算该样本点对的欧式距离以表征该两个样本点的约束关系;
19.s55:遍历所述剖分图中的所有样本点对并建立能量目标函数,通过最小化能量目标函数获取该剖分图映射的二维子图像;
20.s57:判断是否所有剖分图完成二维子图像映射,若否则跳转至s51。
21.进一步的,所述二维图像为浮点型数据。
22.本发明第二个实施例提供一种应用上述处理方法的处理系统,包括聚类单元、剖分单元、映射单元和拼接单元,其中,
23.所述聚类单元,用于对三维点云数据进行聚类操作并输出聚类结果以建立该三维点云数据的组织结构;
24.所述剖分单元,用于根据所述聚类结果对所述三维点云数据进行三角剖分并输出多个剖分图以建立该三维点云数据的约束关系;
25.所述映射单元,用于分别将各剖分图包含的各样本点映射到二维子图像中,所述二维子图像包括该剖分图的各样本点的约束关系;
26.所述拼接单元,用于将各剖分图映射获取的二维子图像进行拼接并输出所述三维点云数据映射的二维图像。
27.本发明第三个实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述处理方法。
28.本发明第四个实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述处理方法。
29.本发明的有益效果如下:
30.本发明针对目前现有的问题,提出一种点云数据的处理方法,通过利用所述三维点云数据聚类操作后的聚类结果建立该三维点云数据的组织结构和约束关系,并通过将约束关系下的点云数据进行映射生成二维子图像,对二维子图像进行拼接以获得包含三维点云数据的结构拓扑性质的二维图像。本发明的三维点云数据处理方法得到的二维图像能够准确保留三维点云数据的位置信息、约束关系以及组织结构,还保留了三维点云数据之间的结构拓扑性质,该方法能够有效提高三维点云数据的处理速度,并能够减少处理过程中的噪声信息,具有广泛应用前景。
附图说明
31.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1示出本发明的一个实施例所述处理方法的流程图;
33.图2示出本发明的一个实施例所述点云数据的无序分布示意图;
34.图3示出本发明的一个实施例所述聚类操作形成的树状示意图;
35.图4示出本发明的一个实施例所述剖分建图形成剖分图;
36.图5示出本发明的一个实施例所述映射过程的示意图;
37.图6示出本发明的一个实施例所述拼接过程的示意图;
38.图7a和7b示出本发明的一个实施例所述三维点云数据映射获取二维图像示意图;
39.图8示出本发明的另一个实施例所述处理系统的结构框图;
40.图9示出本发明的另一个实施例所述的一种计算机设备的结构示意图。
具体实施方式
41.为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
42.现有技术中,对于海量的三维点云数据,传统的点云处理方法为以下几种:
43.1、通过八叉树和聚类等算法,以点云数据的空间位置信息作为参考,将点云数据整体切分成多个子区域,然后依次单独处理各个子区域的点云数据,然而这种处理方式导致处理过程中的运算量较大,且效果不佳。
44.2、基于三维点云数据利用机器学习或者深度学习的方式搭建神经网络模型以进行点云数据的处理,一方面该方法运算量大,而且由于三维点云数据的无序性,导致点云数据的处理结果也不甚理想,另一方面,很多算法无法直接扩展至三维来处理点云数据。
45.3、基于投影方法将点云数据变换至二维空间后进行点云数据的处理,但是投影过程中会丧失点云数据本身的结构拓扑性,且丢失深度信息,并且还会引入大量的噪声。
46.因此,为解决上述问题,如图1所示,本发明的一个实施例提供了一种三维点云数据的处理方法,包括:
47.s1:对三维点云数据进行聚类操作并输出聚类结果,建立该三维点云数据的组织结构;
48.s3:根据所述聚类结果对所述三维点云数据进行三角剖分并输出多个剖分图,建立该三维点云数据的约束关系;
49.s5:分别将各剖分图包含的各样本点映射到二维子图像中,所述二维子图像包括该剖分图的各样本点的约束关系;
50.s7:将所述二维子图像进行拼接并输出所述三维点云数据映射的二维图像。
51.本发明实施例通过利用所述三维点云数据聚类操作后的聚类结果建立该三维点云数据的组织结构和约束关系,并通过将约束关系下的点云数据进行映射生成二维子图像,对二维子图像进行拼接以获得包含三维点云数据的结构拓扑性质的二维图像。本发明的三维点云数据处理方法得到的二维图像能够准确保留三维点云数据的位置信息、约束关系以及组织结构,还保留了三维点云数据之间的结构拓扑性质,该方法能够有效提高三维点云数据的处理速度,并能够减少处理过程中的噪声信息,具有广泛应用前景。
52.在一个具体的实施例中,以具体三维点云数据的处理过程进行说明:
53.s1:对三维点云数据进行聚类操作并输出聚类结果,建立该三维点云数据的组织
结构。
54.在该步骤中,本发明实施例通过对三维点云数据进行聚类操作以及根据聚类后的聚类结果进行组织结构的建立,可将无序混乱的点云数据建立为有序的组织结构,在加快后续三维点云数据的处理速度的同时,还能保留点云数据中每一个子数据的结构关系。该步骤将图2所示的无序繁多的三维点云数据进行聚类并生成聚类结果,每一聚类结果建立对应于该聚类结果的组织结构,当所有的三维点云数据遍历完成后,则输出包括有全部三维点云数据的所有聚类结果以及全部聚类结果对应的全部组织结构,此时该组织结构即为点云数据的整体组织结构。
55.在一个可选的实施例中,本发明实施例使用多层聚类方法对三维点云数据进行聚类操作。本实施例的多层聚类方法能将属性相近的点云数据进行划分,有效提高点云数据的搜索速度。聚类结果中的每层聚类的点云数据在距离上更接近,有利于加快处理过程中的点云数据搜索,并且每层聚类的点云数据之间的分布也可反应点云数据的整体分布,有效保证处理准确度。值得说明的是,聚类操作设置的层数越多则精度越高。
56.本实施例中,采用k-means聚类操作或均值漂移、密度聚类、层次聚类操作,或者同时采用k-means聚类操作和均值漂移、密度聚类、层次聚类操作。
57.在一个可选的实施例中,所述s1进一步包括:
58.s11:按照预设聚类分层数量进行聚类操作;
59.在该步骤中,如图2所示,三维点云数据表征为空间中若干无序分布的样本点,对于繁多的点云数据,其处理精度越高,所需的处理时间越长。本实施例通过按照预设聚类分层数量进行聚类操作,值得说明的是,本技术对多层聚类的分层数量不作限定,本领域技术人员应当根据需要的点云数据处理精度选择聚类操作的分层数量,以实现点云数据的处理精度与处理速度最优匹配为设计准则,在此不再赘述。
60.在一个具体示例中,如图3所示,以对点云数据进行两层聚类操作并构建的树状图为例,根节点n包含了所有的三维点云数据,对其进行第一层聚类后输出的第一层聚类结果作为第一层节点,可表示为n1,n2,

。再对第一层的每一节点进行聚类操作后输出第二层聚类结果作为第二层节点,如n1的第二层节点可表示为子节点n11,n12,n13

,n2的第二层节点可表示为子节点n21,n22,n23

,n3的第二层节点可表示为子节点n31,n32,n33

。在一个具体示例中,对点云数据进行两层聚类操作后可构建如图3所示的层级树状图,每一层级的一个节点都包括有聚类后的点云数据。
61.s13:从一个聚类分层的三维点云数据中选取多个第一聚类中心点;
62.该步骤中,根据点云的整体分布情况以及所需的处理精度进行第一聚类中心点的数量kn(n=1,2,3

n)的选择,记为k1,k2,k3,

。第一聚类中心点的数量越多,处理精度越高。
63.s15:遍历该聚类分层的三维点云数据,分别计算每个样本点与各第一聚类中心点的距离并将距离最小的第一聚类中心点作为该样本点的归属类,并获取所述三维点云数据的多个子分类;
64.该步骤通过遍历该聚类分层的点云数据的每一个样本点xm(m=1,2,3

m),可得到每一样本点xm对应于所有第一聚类中心k1~kn的若干距离,对应的所有距离中选择距离最小的第一聚类中心点作为该样本点的归属类。当距离最小时,则说明该样本点与该第一
聚类中心的距离最近,该样本点数据该第一聚类中心点划分的类。因此,将各样本点与每一第一聚类中心的距离进行比较后,可将该聚类分层下的所有点云数据的样本点进行精确地划分,且能保留原点云数据的距离信息。归属类对应于同一第一聚类中心点的若干样本点形成该层的归属类集合,即子分类。
65.在一个具体示例中,如图2所示,若从第一层聚类结果选择4个点云数据(k1,k2,k3以及k4)作为第一聚类中心点,将所有第一层聚类结果中的点云数据作为该层聚类下的样本点xm,以样本点x1为例,遍历x1分别与第一聚类中心点k1,k2,k3以及k4之间的距离,即l
x1k1
,l
x1k2
,l
x1k3
,l
x1k4
。若距离l
x1k1
最小,则说明x1的拓扑性质和组织结构与第一聚类中心点k1较为相似,可将该第一聚类中心k1作为样本点x1的归属类。依次遍历其余所有的样本点后,则可形成以第一聚类中心位置为基础的、与第一聚类中心数量一致的归属类集合,即子分类。该步骤有效地对点云数据进行有序切分,为后续的点云数据处理提供搜索基础。
66.s17:根据各子分类计算该聚类分层的三维点云数据的第二聚类中心点,并计算所述第二聚类中心点与第一聚类中心点的第一距离,判断所述第一距离是否满足预设距离阈值,若不满足则将所述第二聚类中心作为第一聚类中心并跳转至s15,若满足则以所述第一聚类中心点作为聚类节点并输出包括该聚类节点的聚类结果并判断是否完成所有聚类分层的聚类操作,若未完成则跳转至s13。
67.考虑到前一步骤中的第一聚类中心点为随机选取的,子分类中可能存在某些样本点与所有第一聚类中心的距离都比较远,但是必须从这些第一聚类中心选择归属类的情况,因此第一聚类中心可能无法准确且完全地表征对应子分类中的所有样本点(即,子分类所在聚类分层的三维点云数据)。
68.在本实施例中,该步骤通过获得可表征整个子分类对应的三维点云数据的第二聚类中心点,并计算理论上的第一聚类中心点与实际子分类的第二聚类中心点之间的第二距离,根据该第二距离可确定该子分类的第一聚类中心是否与第二聚类中心接近。若该第二距离不满足预设距离阈值,则将该第二聚类中心点作为第一聚类中心点后重新进行该聚类分层的所有三维点云数据的遍历直至能确定可完全表征子分类中每一点云数据的聚类节点。若该第二距离满足预设距离阈值,则说明第一聚类中心点可完全表征该子分类所在聚类分层的所有点云数据,将该第一聚类中心点直接作为聚类节点,并输出该聚类节点对应的聚类结果,聚类节点对应的子分类,聚类节点所表征的该聚类分层的所有点云数据等。若所有子分类的聚类节点均已确定,则可证明该聚类分层下的所有子分类均可被对应的聚类节点表征,且该聚类分层的所有点云数据均能被准确表征,且未被遗漏。该过程提高点云数据处理的准确性,提高点云数据处理的处理精度。
69.在一个具体示例中,如图2所示,若样本点x1、x3、x4、x5的归属类均为第一聚类中心k1,样本点x1、x3、x4以及x5构成一个子分类aa,该子分类的第二聚类中心点为该子分类的质心k1’,计算第二聚类中心点k1’与第一聚类中心点k1之间的距离l
k1’k1
,若该距离l
k1’k1
满足预设距离阈值,则确定该第一聚类中点k1即为该子分类的聚类节点,依次对所有的第一聚类中心点k1,k2,k3以及k4进行聚类节点的确定,直至输出均可表征对应子分类所在聚类分层的所有点云数据的聚类节点,则该步骤完成。
70.若该距离l
k1’k1
不满足预设距离阈值,则转至s15将该子分类的质心k1’作为新的第一聚类中心点k1,并重新进行新的子分类的确定以及重新进行子分类对应聚类节点的判
定。
71.s3:根据所述聚类结果对所述三维点云数据进行三角剖分并输出多个剖分图,建立该三维点云数据的约束关系;
72.该步骤在前述步骤s1输出全部三维点云数据的聚类结果的基础上,对每一聚类结果中的三维点云数据进行三角剖分,从而输出对应该聚类结果的剖分图。完成所有的聚类结果的三角剖分后,即能够输出保留全部三维点云数据的多个剖分图,从而建立了所有三维点云数据之间的约束关系。
73.在该步骤中,三角剖分可将输出的聚类结果中的离散点云数据全部剖分成多个剖分图,形成每一点云数据之间的相互紧密联系,可建立该聚类结果对应的聚类分层下的三维点云数据的约束关系,通过对点云之间进行约束,可使得生成的二维图像仍保持点云数据的拓扑性质和组织结构,进一步提高处理结果的精确性。在一个可选的实施例中,s3进一步包括:根据所述聚类结果的聚类节点分别进行剖分建图并输出对应的剖分图。
74.具体的,利用前述步骤获得的聚类结果以及对应的聚类节点,对当前聚类节点以及其对应子分类中的点云数据进行约束,在已经对这些点云数据进行归属类划分的基础上,进一步确定这些点云数据之间的约束关系,从而完整保留点云数据的组织结构和拓扑性质。
75.在一个具体示例中,如图4所示,三个点云数据之间形成一个三角形网格,利用三角形网络简洁的约束关系使得所在聚类分层下的点云数据之间形成有效的约束信息。剖分图要求三角形所有三边的两个端点为点云数据的两个样本点,且过这两个样本点存在一个圆,使圆内不包含其它样本点。利用三角剖分建图的方式对图3所示的树状图的每层节点做处理,以图3和图4为例,根据聚类节点分别进行剖分建图并输出对应的剖分图的过程如下:
76.s31:对根节点n所在聚类分层进行剖分建图,得到g0。
77.s32:依次对根节点n下属的第一层节点n1,n2,n3,

进行剖分建图,得到g1,g2,g3


78.s33:依次对每个第一层节点下属的第二层节点建图,即对n11,n12,n13,

进行剖分建图得到g1,g12,g13,


79.由于本示例的k-d树只有两层,因此第二层节点就是叶节点,每个叶节点都包含一部分点云数据。通过对聚类结果进行点云剖分建图,使得原本聚类结果中离散的样本点之间建立了约束关系,使其具有三角面的概念,具备结构上的拓扑性质,进一步提高处理结果的精确性。
80.s5:分别将各剖分图包含的各样本点映射到二维子图像中,所述二维子图像包括该剖分图的各样本点的约束关系。
81.本实施例通过将各剖分图进行映射操作能够将三维点云数据映射到二维子图像,映射操作后形成的二维子图像均保存有三维点云数据所包含的组织结构、拓扑性质以及约束关系,且该处理过程中的噪声信息极少,能够有效反应点云数据的整体分布于内在联系。
82.在一个可选的实施例中,步骤s5进一步包括:
83.s51:对一个剖分图中的各样本点分别建立映射函数以将该样本点映射到二维子图像中;
84.在一个具体示例中,通过映射函数f,可将三维点云的样本点映射到一个二维子图
像上,如图5所示,样本点v1,v2的映射结果分别为:f(v1),f(v2)。在前述步骤获得的多个剖分图的基础上,该步骤将每一剖分图中的各个样本点分别建立映射函数,使得每一剖分图中的每一样本点所包含的点云数据均能正确地映射至二维子图像中。
85.s53:从剖分图中任意选取两个样本点形成样本点对,并通过所述两个样本点对应的映射函数计算该样本点对的欧式距离以表征该两个样本点的约束关系;
86.该步骤通过具有约束关系的两个样本点形成样本点对,通过欧式距离以表征所述两个样本点的约束关系,可将每一聚类分层的点云数据具有的位置信息、拓扑性质以及约束关系准确清晰地映射至生成的二维子图像中。
87.在一个具体示例中,如图5所示,任取两个样本点v1和v2形成样本点对,若这两个样本点之间具有约束关系,则v1和v2由一条线段相连接。样本点之间的欧式距离则表示样本点对的结构拓扑性质,即:
88.线段长度d12=||f(v1)

f(v2)||。
89.s55:遍历所述剖分图中的所有样本点对并建立能量目标函数,通过最小化能量目标函数获取该剖分图映射的二维子图像;
90.在一个具体示例中,以遍历剖分图g0为例,其包括由前述聚类结果输出的样本点,对该剖分图所包含的样本点进行遍历并构建目标函数,其目标函数公式为:
[0091][0092]
当目标函数最小化时,点云g0的系统能量达到最小,样本点的映射结果也最终趋于稳定,从而可得出最接近的剖分图对应的二维子图像。
[0093]
s57:判断是否所有剖分图完成二维子图像映射,若否则跳转至s51。
[0094]
上述计算过程,可将剖分后获取的每个剖分图依次映射为一幅二维子图像,映射过程保留了点云之间的结构拓扑性质。
[0095]
本实施例通过构建映射函数、约束关系以及目标函数的方式将三维点云数据映射为二维图像,三维点云数据的所有样本点映射在二维图像的位置与整体分布严格遵循三维点云数据的数据信息。并且,在映射过程中点云数据的系统能量达到最小,有效保留了三维点云的整体结构拓扑性质。
[0096]
s7:将各剖分图映射获取的二维子图像进行拼接并输出所述三维点云数据映射的二维图像。
[0097]
本实施例通过对前述步骤获取的二维子图像进行拼接后,可输出完整地表征全部三维点云数据拓扑性质以及组织结构的二维图像,其精确度高,处理过程速度较快。
[0098]
在一个具体示例中,以输出两层聚类的聚类结果为例,其拼接过程如图6所示:
[0099]
s71:第二层节点分别包含了若干个点云数据,将每一第二层节点包含的点云数据的映射结果绘制在该节点对应的子二维图像中,例如,第二层节点n11包含的点云数据v1和v2的映射结果f(v1)和f(v2)形成剖分图g11,然后将剖分图g11中包含的点云数据进行映射后形成二维子图像i11。第二层节点n12经剖分后形成的剖分图g12进一步映射后生成二维子图像i12。
[0100]
s72:拼接所在的聚类分层的所有的第二层节点,例如:将g11和g12映射后得到的i11和i12拼合至i1中;将g21和g22映射后得到的i21和i22拼合至i2中。
[0101]
s73:拼接所在的聚类分层的所有的第一层节点,例如:将二维子图像i1和i2拼合至i0中。最终完成点云的拼合,得到一幅完整的可反应三维点云数据的二维图像i0。
[0102]
本实施例的二维子图像拼接过程,以聚类的点云组织结构为依据完成整体的点云映射,利用节点体现以聚类的点云组织结构,在此基础上形成的二维图像保存有原三维点云数据的组织结构、约束关系以及拓扑性质。
[0103]
在一个可选的实施例中,所述二维图像为浮点型数据。本实施例中,该二维图像保存有原三维点云数据件的组织结构、约束关系以及拓扑性质,因此该二维图像是连续的而非离散的。在一个具体示例中,如图7a所示,左侧为三维点云数据,利用本发明实施例的处理方法进行一层聚类操作、剖分、映射以及拼接后生成右侧的二维图像,由该图可知,三维点云数据中原图的数据信息、位置关系以及约束关系均能保留在该二维图像中,且点云数据并未遗漏,也并未新增噪声信息,得到的二维图像精确度较高。
[0104]
在另一具体示例中,如图7b所示,左侧为三维点云数据,利用本发明实施例的处理方法进行两层聚类操作、剖分、映射以及拼接后生成右侧的二维图像,由该图可知,由于进行了两层聚类操作,三维点云数据中原图的数据信息、位置关系以及约束关系通过多层的约束保留在右侧的二维图像中,且点云数据并未遗漏,也并未新增噪声信息,得到的二维图像精确度较高。
[0105]
本发明实施例通过利用所述三维点云数据聚类操作后的聚类结果建立该三维点云数据的组织结构和约束关系,并通过将约束关系下的点云数据进行映射生成二维子图像,对二维子图像进行拼接以获得包含三维点云数据的结构拓扑性质的二维图像。本发明的三维点云数据处理方法得到的二维图像能够精确地保留三维点云数据的位置信息、约束关系以及组织结构,还保留了三维点云数据之间的结构拓扑性质,该方法能够有效提高三维点云数据的处理速度,并能够减少处理过程中的噪声信息,具有广泛应用前景。
[0106]
与上述实施例提供的三维点云数据的处理方法相对应,如图8所示,本技术的一个实施例还提供一种可执行上述方法的处理系统,该系统包括:聚类单元、剖分单元、映射单元和拼接单元,其中,
[0107]
所述聚类单元,用于对三维点云数据进行聚类操作并输出聚类结果以建立该三维点云数据的组织结构;
[0108]
所述剖分单元,用于根据所述聚类结果对所述三维点云数据进行三角剖分并输出多个剖分图以建立该三维点云数据的约束关系;
[0109]
所述映射单元,用于分别将各剖分图包含的各样本点映射到二维子图像中,所述二维子图像包括该剖分图的各样本点的约束关系;
[0110]
所述拼接单元,用于将各剖分图映射获取的二维子图像进行拼接并输出所述三维点云数据映射的二维图像。
[0111]
本发明实施例通过利用所述三维点云数据聚类操作后的聚类结果建立该三维点云数据的组织结构和约束关系,并通过将约束关系下的点云数据进行映射生成二维子图像,对二维子图像进行拼接以获得包含三维点云数据的结构拓扑性质的二维图像。本发明的三维点云数据处理方法得到的二维图像能够精确地保留三维点云数据的位置信息、约束关系以及组织结构,还保留了三维点云数据之间的结构拓扑性质,该方法能够有效提高三维点云数据的处理速度,并能够减少处理过程中的噪声信息,具有广泛应用前景。
[0112]
由于本技术实施例提供的处理系统与上述几种实施例提供的处理方法相对应,因此在前实施方式也适用于本实施例提供的处理系统,在本实施例中不再详细描述。
[0113]
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:s1、对三维点云数据进行聚类操作并输出聚类结果以建立该三维点云数据的组织结构;s3、根据所述聚类结果对所述三维点云数据进行三角剖分并输出多个剖分图以建立该三维点云数据的约束关系;s5、分别将各剖分图包含的各样本点映射到二维子图像中,所述二维子图像包括该剖分图的各样本点的约束关系;s7、将各剖分图映射获取的二维子图像进行拼接并输出所述三维点云数据映射的二维图像。
[0114]
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0115]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0116]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0117]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0118]
如图9所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图9显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0119]
如图9所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0120]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,
外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0121]
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0122]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0123]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0124]
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图9所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图9中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0125]
处理器单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种三维点云数据的处理方法。
[0126]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1