首页> 中国专利> 基于集群环境的点云数据并行处理方法和装置、设备及存储介质

基于集群环境的点云数据并行处理方法和装置、设备及存储介质

摘要

本申请公开了一种基于集群环境的点云数据并行处理方法,该基于集群环境的点云数据并行处理方法包括获取原始点云文件,将原始点云文件按地理范围分割为多个子点云文件,构建点云算法的处理流程模型,通过处理流程模型集群调度并行处理多个子点云文件得到多个计算结果,将多个计算结果合并为目标点云文件。有效提升超大数据量点云数据处理效率。

著录项

  • 公开/公告号CN112363837A

    专利类型发明专利

  • 公开/公告日2021-02-12

    原文格式PDF

  • 申请/专利权人 北京航天泰坦科技股份有限公司;

    申请/专利号CN202011301162.0

  • 发明设计人 许青云;李莹;马丁;韩冰;谭靖;

    申请日2020-11-19

  • 分类号G06F9/50(20060101);G06T1/20(20060101);

  • 代理机构11751 北京市鼎立东审知识产权代理有限公司;

  • 代理人朱慧娟;刘瑛

  • 地址 100075 北京市海淀区北四环中路229号海泰大厦1107室

  • 入库时间 2023-06-19 09:54:18

说明书

技术领域

本公开涉及数据处理技术领域,尤其涉及一种基于集群环境的点云数据并行处理方法和装置、设备及存储介质。

背景技术

点云数据的行业应用越来越普遍,随着数据量不断增大,单一计算机进行处理的方式已经无法满足数据处理速度的要求,而集群式并行计算方法可以进行较大数据量点云数据的高效快速处理。现有技术中利用PC集群进行高性能并行计算的特点将配准方法与MPI并行程序相结合,将数据和程序进行并行分解,采用类似环形配准方案进行多个视点数据配准,设计适用于多视点下点云数据的配置方法,以更高效快速的处理数据,在配准过程中,一些阈值的选择往往是基于先验经验等方法得出的合理值。该方法引入并行处理的思想,将三维点云配准处理与集群并行计算相结合,探究算法的并行性,使三维数据可以进行并行化处理,但并没有提出使点云处理全过程进行集群并行处理的普适性方法。现有方法面对大量点云数据,数据处理速度慢。

发明内容

有鉴于此,本公开提出了一种基于集群环境的点云数据并行处理方法,包括:

获取原始点云文件;

将原始点云文件按地理范围分割为多个子点云文件;

构建点云算法的处理流程模型;

通过所述处理流程模型集群调度并行处理多个所述子点云文件得到多个计算结果;

将多个所述计算结果合并为目标点云文件。

在一种可能的实现方式中,将原始点云文件按地理范围分割为多个子点云文件包括:

统计所述原始点云文件的地理范围;

根据所述地理范围和预设点数得到所述子点云文件的子地理范围;其中,所述预设点数为所述子点云文件最多可包含的点数目;

根据所述子地理范围的邻域信息设定重叠区;

将所述重叠区和所述子地理范围形成所述子点云文件。

在一种可能的实现方式中,根据所述地理范围和预设点数得到所述子点云文件的子地理范围包括:

获取所述预设点数;

根据所述预设点数划分所述子点云文件的数目;

根据所述地理范围和所述子点云文件的数目划分所述子地理范围。

在一种可能的实现方式中,构建点云算法的处理流程模型包括:

获取所述原始点云文件的作业流程;

提取所述作业流程中带有需并行处理标记的算法;

对所述算法进行多处理器并行分解得到所述处理流程模型。

在一种可能的实现方式中,通过所述处理流程模型集群调度并行处理多个所述子点云文件得到多个计算结果包括:

将所述算法通过所述流程处理模型分配到多个集群计算节点;

每个集群计算点同时计算所述子点云文件得到所述计算结果。

在一种可能的实现方式中,将多个所述计算结果合并为目标点云文件包括:

将多个所述计算结果的重叠区去除;

将多个所述计算结果合并为目标点云文件。

在一种可能的实现方式中,所述处理流程模型为DAG模型。

根据本公开的另一方面,提供了一种基于集群环境的点云数据并行处理装置,其特征在于,包括:原始点文件获取模块、子点云文件分割模块、处理模型构建模块、子点云文件处理模块和目标点云文件合并模块;

所述原始点文件获取模块,被配置为获取原始点云文件;

所述子点云文件分割模块,被配置为将原始点云文件按地理范围分割为多个子点云文件;

所述处理模型构建模块,被配置为构建点云算法的处理流程模型;

所述子点云文件处理模块,被配置为通过所述处理流程模型集群调度并行处理多个所述子点云文件得到多个计算结果;

所述目标点云文件合并模块,被配置为将多个所述计算结果合并为目标点云文件。

根据本公开的另一方面,提供了一种基于集群环境的点云数据并行处理设备,其特征在于,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述可执行指令时实现前面任一所述的方法。

根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现前面任一所述的方法。

通过获取原始点云文件,将原始点云文件按地理范围分割为多个子点云文件,构建点云算法的处理流程模型,通过处理流程模型集群调度并行处理多个子点云文件得到多个计算结果,将多个计算结果合并为目标点云文件。有效提升超大数据量点云数据处理效率。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出本公开一实施例的基于集群环境的点云数据并行处理方法的流程图;

图2示出本公开一实施例的基于集群环境的点云数据并行处理方法的原理图;

图3示出本公开一实施例的基于集群环境的点云数据并行处理方法的DAG原理图;

图4示出本公开一实施例的基于集群环境的点云数据并行处理装置的框图;

图5示出本公开一实施例的基于集群环境的点云数据并行处理设备的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实用新型的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

图1示出根据本公开一实施例的基于集群环境的点云数据并行处理方法的流程图。如图1所示,该基于集群环境的点云数据并行处理方法包括:

步骤S100,获取原始点云文件,步骤S200,将原始点云文件按地理范围分割为多个子点云文件,步骤S300,构建点云算法的处理流程模型,步骤S400,通过处理流程模型集群调度并行处理多个子点云文件得到多个计算结果,步骤S500,将多个计算结果合并为目标点云文件。

通过获取原始点云文件,将原始点云文件按地理范围分割为多个子点云文件,构建点云算法的处理流程模型,通过处理流程模型集群调度并行处理多个子点云文件得到多个计算结果,将多个计算结果合并为目标点云文件。有效提升超大数据量点云数据处理效率。

具体的,参见图1,执行步骤S100,获取原始点云文件。

在一种可能的实现方式中,通过移动硬盘获取原始点云文件,原始点云文件的格式为PTX文件,PTX是一种点云数据的交换格式,使用ASCII编码。它使用单独扫描的概念,将每个扫描点都定义在自己的坐标系中,然后将所有这些点"注册"到单个坐标系中。每个点的数据存储在它的原始坐标系中,点云的转换矩阵作为文件的标头信息提供。

进一步的,在得到原始点云文件后,参见图1,执行步骤S200,将原始点云文件按地理范围分割为多个子点云文件。

在一种可能的实现方式中,参见图2,执行步骤S200a和S200b,将原始点云文件按地理范围分割为多个子点云文件包括:统计原始点云文件的地理范围,根据地理范围和预设点数得到子点云文件的子地理范围,其中,预设点数为子点云文件最多可包含的点数目,根据子地理范围的邻域信息设定重叠区,将重叠区和子地理范围形成子点云文件。其中,根据地理范围和预设点数得到子点云文件的子地理范围包括:获取预设点数,根据预设点数划分子点云文件的数目,根据地理范围和子点云文件的数目划分子地理范围。举例来说:通过移动硬盘获取原始点云文件,原始点云文件的格式为PTX文件,先统计整个原始点云文件的地理范围,人工输入每个子地理范围最多可以包含的点数目,即,获取到了预设点数目,示例性的,工作人员输入点数目为1000点,则每个子点云文件中的点的个数不超过1000点。根据1000点的数据的覆盖的地理范围进行划分得到子点云文件,若原始点云文件包括10000个点,则子点云文件被划分为10个,并且对应的将原始点云文件的地理范围划分为10个子地理范围,进一步的,考虑到一些点云算法需要用到点云文件的邻域信息,所以根据算法设定重叠区,例如:第一点云算法需要用到相邻的十个点,则在原始点云文件包括10000个点、根据1000点的数据的覆盖的地理范围进行划分得到子点云文件的重叠区为10个点。接着,将子点云文件最终为对应的子地理范围和重叠区的全部点。

需要说明的是,本申请对于原始点云文件中的点不进行限制。

进一步的,参见图1,执行步骤S300,构建点云算法的处理流程模型。

在一种可能的实现方式中,构建点云算法的处理流程模型包括:获取原始点云文件的作业流程,提取所述作业流程中带有需并行处理标记的算法,对算法进行多处理器并行分解得到处理流程模型。举例来说,原始点云文件的格式为PTX文件,首先获取对于该原始点文件的作业流程,需并行处理标记为需要进行并行处理的算法,即,提取其中计算密集、且计算量大的处理算法和步骤,示例性的,作业流程中包括去噪、滤波、插值三个算法,其中经过人工评估了去噪过程比较慢的,挑选去噪算法,从算法层上对其进行多处理器并行分解,最后得到处理流程模型,示例性的,该模型为DAG模型。其中,DAG即有向无环图,DAG模型如图3所示,即多条链跟随主链,这些链之间大方向相同且不存在环路。DAG理论状态下是去中心化的、如果网络足够强大,安全性也可以保证,更重要的是能够大幅度的提高扩展性。

进一步的,参见图1,执行步骤S400,通过处理流程模型集群调度并行处理多个子点云文件得到多个计算结果。

在一种可能的实现方式中,通过处理流程模型集群调度并行处理多个子点云文件得到多个计算结果包括:将算法通过流程处理模型分配到多个集群计算节点,每个集群计算点同时计算子点云文件得到计算结果。举例来说,原始点云文件的格式为PTX文件,首先获取对于该原始点文件的作业流程,需并行处理标记为需要进行并行处理的算法,即,提取其中计算密集、且计算量大的处理算法和步骤,示例性的,参见图2,执行步骤S400a和步骤S400b,作业流程中包括去噪、滤波、插值三个算法,其中经过人工评估了去噪过程比较慢的,挑选去噪算法,从算法层上对其进行多处理器并行分解,最后得到处理流程模型,通过将去噪算法的计算任务自动分配到各个集群计算节点上进行运算,其中,有依赖关系的算法任务通过集群调度系统传递上下文参数,参见图2,最后得到步骤S400的计算结果。

进一步的,参见图1,执行步骤S500,将多个计算结果合并为目标点云文件。

在一种可能的实现方式中,将多个计算结果合并为目标点云文件包括:将多个计算结果的重叠区去除,将多个计算结果合并为目标点云文件。举例来说,通过将去噪算法的计算任务自动分配到各个集群计算节点上进行运算,其中,有依赖关系的算法任务通过集群调度系统传递上下文参数,最后得到计算结果,将计算结果的重叠区排除,示例性的,第一点云算法需要用到相邻的十个点,则在原始点云文件包括10000个点、根据1000点的数据的覆盖的地理范围进行划分得到子点云文件的重叠区为10个点,在计算的时候,将重叠区的十个点排除在外进行合并,即,将子地理区域合并,得到目标点云文件。这样就有效地提升了效率。

需要说明的是,尽管以上述各个步骤作为示例介绍了本公开基于集群环境的点云数据并行处理方法如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定基于集群环境的点云数据并行处理方法,只要达到所需功能即可。

这样,通过获取原始点云文件,将原始点云文件按地理范围分割为多个子点云文件,构建点云算法的处理流程模型,通过处理流程模型集群调度并行处理多个子点云文件得到多个计算结果,将多个计算结果合并为目标点云文件。有效提升超大数据量点云数据处理效率。

进一步的,根据本公开的另一方面,还提供了一种基于集群环境的点云数据并行处理装置100。由于本公开实施例的基于集群环境的点云数据并行处理装置100的工作原理与本公开实施例的基于集群环境的点云数据并行处理方法的原理相同或相似,因此重复之处不再赘述。参见图4,本公开实施例的基于集群环境的点云数据并行处理装置100包括:原始点文件获取模块110、子点云文件分割模块120、处理模型构建模块130、子点云文件处理模块140和目标点云文件合并模块150;

原始点文件获取模块110,被配置为获取原始点云文件;

子点云文件分割模块120,被配置为将原始点云文件按地理范围分割为多个子点云文件;

处理模型构建模块130,被配置为构建点云算法的处理流程模型;

子点云文件处理模块140,被配置为通过处理流程模型集群调度并行处理多个子点云文件得到多个计算结果;

目标点云文件合并模块150,被配置为将多个计算结果合并为目标点云文件。

更进一步地,根据本公开的另一方面,还提供了一种基于集群环境的点云数据并行处理设备200。参阅图5,本公开实施例基于集群环境的点云数据并行处理设备200包括处理器210以及用于存储处理器210可执行指令的存储器220。其中,处理器210被配置为执行可执行指令时实现前面任一所述的基于集群环境的点云数据并行处理方法。

此处,应当指出的是,处理器210的个数可以为一个或多个。同时,在本公开实施例的基于集群环境的点云数据并行处理设备200中,还可以包括输入装置230和输出装置240。其中,处理器210、存储器220、输入装置230和输出装置240之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。

存储器220作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的基于集群环境的点云数据并行处理方法所对应的程序或模块。处理器210通过运行存储在存储器220中的软件程序或模块,从而执行基于集群环境的点云数据并行处理设备200的各种功能应用及数据处理。

输入装置230可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置240可以包括显示屏等显示设备。

根据本公开的另一方面,还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器210执行时实现前面任一所述的基于集群环境的点云数据并行处理方法。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号