CN111552765A - 海量点云空间索引构建方法、装置、构建设备 - Google Patents
海量点云空间索引构建方法、装置、构建设备 Download PDFInfo
- Publication number
- CN111552765A CN111552765A CN202010422764.5A CN202010422764A CN111552765A CN 111552765 A CN111552765 A CN 111552765A CN 202010422764 A CN202010422764 A CN 202010422764A CN 111552765 A CN111552765 A CN 111552765A
- Authority
- CN
- China
- Prior art keywords
- storage area
- sampling points
- spatial index
- information
- point cloud
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及海量点云空间索引构建方法、装置、构建设备。本申请通过目标对象输入的配置内容在存储区中设置若干个层级,采用对存储区预分层和各层分块对点云数据的采样点的空间索引信息进行构建,当某一层级(不是最稀疏的层级)出现饱和时,代表该层级当前存储的采样点可以构建索引,此时无需预知点云的整体信息,即可通过直接确定采样点在所述存储区内的位置得到各采样点的空间索引信息,提升了构建空间索引信息的效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种海量点云空间索引构建方法、装置、构建设备。
背景技术
LiDAR(Light Detection And Ranging)激光雷达探测技术,是近十年开始应用并快速发展的一种新兴的三维数据获取技术。它能够快速获取物体表面的三维坐标数据、强度、颜色等丰富的信息。一方面随着激光雷达扫描仪设备技术的发展,扫描设备在获取效率、数据密集度、数据精度以及数据总量上都有了很大的提升。常用的扫描设备每秒均能产生成千上万个点,每次扫描获取的采样点数能达到数十万或数百万,数据量达几十至几百G甚至达到TB级的点云数据,而为了方便对单个采样点的读取,需要对每个采样点建立索引信息。
但是,发明人在研究过程中发现,现有技术构建点云数据空间索引信息需要预知点云的整体信息,而点云整体信息往往需要遍历全部采样点才能确定,所以导致构建空间索引信息的效率低下。
发明内容
为了解决上述现有技术中对每个点的邻域特征进行分析的方式,只考虑到了局部信息,从而影响对点分类的精确度的技术问题,本申请提供了一种海量点云空间索引构建方法、装置、构建设备。
第一方面,本申请提供了一种海量点云空间索引构建方法,所述方法包括:
根据目标对象输入的配置内容在存储区中设置若干个层级和点云数据的构建采样率;
获取包含多个采样点的点云数据,并将所述点云数据中的采样点逐个输入所述存储区;
根据所述构建采样率确定与所述采样点对应层级;
判断与所述采样点对应层级是否饱和;
若与所述采样点对应层级已饱和,判断饱和的层级是否为最稀疏的层级;
若所述饱和的层级不是最稀疏的层级,针对所述饱和的层级中的每个采样点,确定所述饱和的层级中采样点的空间索引信息,所述空间索引信息用于表示所述采样点在所述存储区内的位置;
若所述点云数据中的采样点均存储至所述存储区,根据多个所述存储区中的采样点的空间索引信息生成点云数据的空间索引信息。
可选地,判断饱和的层级是否为最稀疏的层级的步骤之后,还包括:
若所述饱和的层级是最稀疏的层级,判断所述点云数据中的采样点是否存在未存储至所述存储区的采样点;
若所述点云数据中有采样点未存储至所述存储区,将最稀疏的层级中的多个所述采样点输出到临时存储区中,并确定所述点云数据的空间索引信息。
可选地,确定所述点云数据的空间索引信息的步骤,包括:
针对所述点云数据中未存储至所述存储区的采样点,重新执行将所述点云数据中的采样点逐个输入所述存储区的步骤;
若所述点云数据中的采样点均存储至所述存储区,计算所述临时存储区中的采样点个数与存储区域中采样点个数的和,得到采样点总量;
根据所述采样点总量和所述构建采样率以及最稀疏的层级的预设支持点数信息计算在所述存储区中设置的目标层级数量;
基于所述目标层级数量确定用于调整所述存储区中层级数量的配置信息;
根据所述配置信息和所述存储区中采样点的空间索引信息生成调整后的空间索引信息;
根据所述配置信息确定所述未存储至存储区的采样点的空间索引信息;
根据所述调整后的空间索引信息和所述未存储至存储区的采样点的空间索引信息生成点云数据的空间索引信息。
可选地,其特征在于,根据所述配置信息确定所述未存储至存储区的采样点的空间索引信息的步骤,包括:
根据所述配置信息调整所述存储区中层级数量,得到新存储区;
将所述临时存储区中的采样点输入所述新存储区,并针对临时存储区中每个所述采样点,根据所述采样点所在的新存储区中的层级构建所述未存储至存储区的采样点的空间索引信息。
可选地,确定所述饱和的层级中采样点的空间索引信息的步骤,包括:
获取与所述采样点对应的属性信息;
确定所述采样点所在的存储区的层级,得到存储位置信息;
根据所述属性信息和所述存储位置信息生成所述存储区中采样点的空间索引信息。
可选地,所述属性信息的构建过程包括:
获取预设的自定义属性列表,所述自定义属性列表中包括若干个数据类型和每个类型对应的占用字节数;
获取与所述采样点对应的自定义信息;
在所述自定义属性列表中确定用于表示所述自定义信息的数据类型信息和数据分量;
根据数据类型信息和数据分量生成所述属性信息。
可选地,在所述自定义属性列表中确定用于表示所述自定义信息的数据类型信息和数据分量的步骤,包括:
根据自定义信息至少确定一个用于表示自定义内容信息的分量,得到用于表示所述分量个数的数据分量;
在所述自定义属性列表中确定与每个所述分量对应的数据类型,得到用于表示至少一个所述分量对应的数据类型的集合的数据类型信息。
第二方面,本申请提供了一种海量点云空间索引构建装置,包括:
设置模块,用于根据目标对象输入的配置内容在存储区中设置若干个层级和点云数据的构建采样率;
获取模块,用于获取包含多个采样点的点云数据,并将所述点云数据中的采样点逐个输入所述存储区;
第一确定模块,用于根据所述构建采样率确定与所述采样点对应层级;
第一判断模块,用于判断与所述采样点对应层级是否饱和;
第二判断模块,用于若与所述采样点对应层级已饱和,判断饱和的层级是否为最稀疏的层级;
第二确定模块,用于若所述饱和的层级不是最稀疏的层级,针对所述饱和的层级中的每个采样点,确定所述饱和的层级中采样点的空间索引信息,所述空间索引信息用于表示所述采样点在所述存储区内的位置;
生成模块,用于若所述点云数据中的采样点均存储至所述存储区,根据多个所述存储区中的采样点的空间索引信息生成点云数据的空间索引信息。
第三方面,本申请提供了一种海量点云空间索引构建设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法的步骤。
第四方面,本申请提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行第一方面任一所述方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请包括通过根据目标对象输入的配置内容在存储区中设置若干个层级和所述层级的构建采样率;获取包含多个采样点的点云数据,并将所述点云数据中的采样点逐个输入所述存储区;根据所述构建采样率确定与所述采样点对应层级;判断与所述采样点对应层级是否饱和;若与所述采样点对应层级已饱和,判断饱和的层级是否为最稀疏的层级;若所述饱和的层级不是最稀疏的层级,针对每个所述采样点,确定存储区中采样点的空间索引信息;当所述点云数据中的多个采样点均输入所述存储区时,根据多个所述存储区中的采样点的空间索引信息生成点云数据的空间索引信息。
请通过目标对象输入的配置内容在存储区中设置若干个层级,采用对存储区预分层和各层分块对点云数据的采样点的空间索引信息进行构建,当某一层级(不是最稀疏的层级)出现饱和时,代表该层级当前存储的采样点可以构建索引,此时无需预知点云的整体信息,即可通过直接确定采样点在所述存储区内的位置得到各采样点的空间索引信息,提升了构建空间索引信息的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种点云数据分类方法的流程图;
图2为本申请实施例提供的图1中步骤S105之后的步骤的流程图;
图3为本申请实施例提供的图2中步骤S202的流程图;
图4为本申请实施例提供的图3中步骤S306的流程图;
图5为本申请实施例提供的图1中步骤S106的流程图;
图6为本申请实施例提供的属性信息的构建过程的流程图;
图7为本申请实施例提供的一种构建设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,扫描设备在获取效率、数据密集度、数据精度以及数据总量上都有了很大的提升,常用的扫描设备每秒均能产生成千上万个点,每次扫描获取的采样点的数量能达到数十万或数百万,数据量达几十至几百G甚至达到TB级,如此庞大的数据量给数据的存储、处理、查询和展示均带来了负担。当前为了能够从海量的点云数据中快速的提取到所需的采样点,在将点云数据存储时,会预先构建每个采样点的空间索引信息,但是现有技术构建点云数据空间索引信息需要预知点云的整体信息,而点云整体信息往往需要遍历全部采样点才能确定,所以导致构建空间索引信息的效率低下。
基于此,本发明一种完整的海量点云空间索引构建方法,所述方法包括:
步骤S101,根据目标对象输入的配置内容在存储区中设置若干个层级和点云数据的构建采样率;
在本发明实施例中,目标对象是指操作人员,操作人员的配置内容中包含了对存储区的预设分层数以及每个层级的构建采样率,其中每个层级的构建采样率均相同。
在实际应用过程中,可根据运行环境信息以及常用的点云数据量大小进行层级数的预设置。运行环境信息可包括内存容量等,此处的内存容量具体可指终端的可用内存容量。例如,可综合考虑内存容量的大小和当前分块点数来确定预分层级数,如果当前分块点数为50万个点,内存容量能容纳150-200万点的情况下,我们可以预分层4层,确保除0层以外的细节层次1,2,3进行空间索引构建时,内存能完全满足构建需求,不需要额外的占有硬盘进行数据的临时存储,增加构建效率,具体配置内容可以根据经验值而定,本发明实施例对此不作具体限定。
步骤S102,获取包含多个采样点的点云数据,并将所述点云数据中的采样点逐个输入所述存储区;
在本发明实施例中,点云数据可以是一次扫描任务采集到包含多个用于反映实际物体空间信息的采样点的集合,点云数据中往往包含海量的采样点,另外,存储区可以是磁盘或者是数据库等具备存储功能的模块。
步骤S103,根据所述构建采样率确定与所述采样点对应层级;
在实际应用中,确定与所述采样点对应层级是根据构建采样率计算确定的,例如预分层共3层(定义为0层、1层和2层),构建采样率是10%的情况下,且当前传入的是第10个(如第20个,第30个),则该点会加到第1层,若当前传入的是第100个点(如第200个,第300个),则该点会加到第0层。
步骤S104,判断与所述采样点对应层级是否饱和;
若是,执行步骤S105,判断饱和的层级是否为最稀疏的层级;
在本发明实施例中,当前采样点根据采样点构建采样率计算确定对应的层级后,判断该层级是否饱和,若是,则继续判断饱和的层级是否为最稀疏的层级。
若否,步骤S106,针对所述饱和的层级中的每个采样点,确定所述饱和的层级中采样点的空间索引信息;
在本发明实施例中,所述空间索引信息用于表示所述采样点在所述存储区内的位置,具体地,存储区中预先分有若干个分层,例如:将存储区预先分为三层,(定义为0层、1层和2层),构建采样率是10的情况下,且当前传入的是第10个(如第20个,第30个),则该点会加到第1层,若当前传入的是第100个点(如第200个,第300个),则该点会加到第0层,此时定义0层为稀疏层,除了最稀疏层其他层级都可以由多个分块组成,如第1层饱和后,则构建该层的第一分块,后续若继续输入采样点,当该层级再次饱和,则构建该层的第二分块,但是一般最稀疏层不能组成成块,所以若确定饱和的层级不是最稀疏的层级(0级),当点云数据中的采样点没有全部输入到存储区时,还可以继续输入存储区,当存储区的某一层的某一个分块饱和后即启用该层的另一分块存储,当点云数据中的采样点全部输入到存储区时,且最稀疏的层级还没有饱和,即可确定每个采样点在存储区的层级中的位置,得到空间索引信息。
步骤S107,若所述点云数据中的采样点均存储至所述存储区,根据多个所述存储区中的采样点的空间索引信息生成点云数据的空间索引信息。
在本发明实施例中,当某个层级的饱和时,则记录该层级中采样点的空间索引信息,并启用该层级的另一分块(判断层级饱和实际上只是层级的某一个分块饱和,在实际应用中层级由多个分块组成)此时点云数据中还存在未输入存储区的采样点,所以继续将采样点输入到存储区中,重复上述过程,直至点云数据中的采样点均输入到存储区中,最后将多个存储区中的采样点的空间索引信息集合得到点云数据的空间索引信息,以便于后续调取采样点时,可以通过空间索引信息快速的获取采样点。
本申请通过目标对象输入的配置内容在存储区中设置若干个层级和所述层级的构建采样率,采用对存储区预分层和各层分块对点云数据的采样点的空间索引信息进行构建,当某一层级(不是最稀疏的层级)出现饱和时,则记录当前层级中采样点的空间索引信息,此时无需预知点云的整体信息,即可通过直接确定采样点在所述存储区内的位置得到各采样点的空间索引信息,提升了构建空间索引信息的效率。
针对于饱和的层级为最稀疏的层级(0级)的情况,由于最稀疏的层级在实际应用中无法由多个分块组成,基于此,本发明还提供一种实施方式,步骤S105,判断饱和的层级是否为最稀疏的层级的步骤之后,还包括:
若是,执行步骤S201,判断所述点云数据中是否存在未存储至所述存储区的采样点;
在本发明实施例中,若所述饱和的层级是最稀疏的层级,由于最稀疏的层级在饱和后无法组成成块,所以出于存储控制的角度,需要判断所述点云数据中是否存在未存储至所述存储区的采样点。
若是,步骤S202,将最稀疏的层级中的多个所述采样点输出到临时存储区中,并确定所述点云数据的空间索引信息;
在本发明实施例中,若所述点云数据中存在未存储至所述存储区的采样点,则需要将最稀疏的层级中的多个所述采样点输出到临时存储区中,然后再确定点云数据中未输入存储区的采样点的空间索引信息,结合之前已经输入至存储区中的采样点的空间索引信息即可得到完成对整个点云数据中采样点空间索引信息的构建。
进一步地,步骤S202中,确定所述点云数据的空间索引信息的步骤,如图3所示,包括:
步骤S301,针对所述点云数据中未存储至所述存储区的采样点,重新执行将所述点云数据中的采样点逐个输入所述存储区的步骤;
在本发明实施例中,将点云数据中还未存储至所述存储区的采样点逐个输入到存储区,具体根据构建采样率确定每个采样点对应的层级的过程可以参照上述实施例。
步骤S302,若所述点云数据中的采样点均存储至所述存储区,计算所述临时存储区中的采样点个数与存储区域中采样点个数的和,得到采样点总量;
在本发明实施例中,若最稀疏的层级没有饱和,且点云数据中的采样点均输入到存储区中,则计算临时存储区中的采样点个数与存储区域中采样点个数的和,得到采样点总量。
步骤S303,根据所述采样点总量和所述构建采样率以及最稀疏的层级的预设支持点数信息确定在所述存储区中设置的目标层级数量;
在实际应用中,每个层级的构建采样率均相同,假设构建采样率为N,最稀疏的层级(0层)支持点数为M,则第1层支持的点数为M*N,第2层支持的点数为M*N*N,以此类推,当存储区中所有层级支持的点数的加和大于或者等于采样点总量时,即可确定目标层级数量,另外,具体的计算方式还可以根据实际情况而定,其中目标层级数量为正整数,所以计算得到的目标层级数量需要向上取整,以保证点云数据中所有采样点都可以输入存储区。
步骤S304,基于所述目标层级数量确定用于调整所述存储区中层级数量的配置信息;
在实际应用中,当需要拆分层级时,例如在存储区中预分了4个层级,而实际需要6个层级,则需要从现有存储区的0层的数据中(具体参照上述实施例)进行按构建采样率,分配数据到新的0层,1层和2层中。
另外,当需要合并层级时,在存储区中预分了4个层级,而实际需要2个层级,将当前0层,1层的数据合并到2层中(具体参照上述实施例)。
步骤S305,根据所述配置信息和所述存储区中采样点的空间索引信息生成调整后的空间索引信息;
具体的,例如预分的1、2、3层分别调整为3、4、5层,而新的0、1、2层加上调整的3、4、5层,即调整层级的序号,在实际应用中针对之前构建的空间索引信息,是否在层级序号变更后,只需要替换序号对应的字段即可。
步骤S306,根据所述配置信息确定所述未存储至存储区的采样点的空间索引信息;
步骤S307,根据所述调整后的空间索引信息和所述未存储至存储区的采样点的空间索引信息生成点云数据的空间索引信息。
本发明实施例获取的原始点云数据进行预分层和分块处理,并根据实际点信息进行了层级修正获取点云数据中各采样点的空间索引信息,面对海量数据,对大多数的点云数据块进行了近实时的空间索引构建,对所有层索引信息进行合并处理,得到原始点云数据的空间索引结构。通过采用上述技术方案,对传统的八叉树索引结构进行了改进,通过预分层和对原始点云数据进行分块处理,可将海量点云数据进行分解,减少在构建空间索引时对内存空间的占用。
进一步地,如图4所示,步骤S306,根据所述配置信息确定所述未存储至存储区的采样点的空间索引信息的步骤,包括:
步骤S401,根据所述配置信息调整所述存储区中层级数量,得到新存储区;
步骤S402,将所述临时存储区中的采样点输入所述新存储区,并针对临时存储区中每个所述采样点,根据所述采样点所在的新存储区中的层级构建所述未存储至存储区的采样点的空间索引信息。
在本发明实施例中,将所述临时存储区中的采样点输入所述新存储区的步骤,同理如初始将点云数据中的采样点依次输入存储区的步骤,直至确定与所述采样点对应层级;确定与所述采样点对应层级是根据构建采样率计算确定的,例如在实际应用中预分层共3层(定义为0层、1层和2层),构建采样率是10的情况下,且当前传入的是第10个(如第20个,第30个),则该点会加到第1层,若当前传入的是第100个点(如第200个,第300个),则该点会加到第0层,最后通过合并调整后的空间索引信息和所述未存储至存储区的采样点的空间索引信息即可得到点云数据的空间索引信息,以达到确定点云数据整体空间索引信息的目的。
在本发明提供的又一实施例中,如图5所示,步骤S106,确定所述饱和的层级中采样点的空间索引信息的步骤,包括:
步骤S501,获取与所述采样点对应的属性信息;
在本发明实施例中,采样点的属性信息可以是采样点本身包含了固有属性信息,例如通用的如强度,颜色、时间等用于反映物体在实际空间中的信息,这部分属性都是有固定数据结构的。
步骤S502,确定所述采样点所在的存储区的层级,得到存储位置信息;
在本发明实施例中,存储区中的层级可以是预先设置的,也可以是后续根据点云数据的采样点总量确定的,其中,存储位置信息可以具体到某个层级的某个分块,或者更细致的分区,具体情况可以根据实际情况而定。
步骤S503,根据所述属性信息和所述存储位置信息生成所述存储区中采样点的空间索引信息。
在本发明实施例中,空间索引信息中具体可以包括采样点的存储位置信息,还有采样点的属性信息,便于后续在使用该采样点时,能够更加直观的展示采样点的属性信息,在实际应用中,属性信息都是根据索引信息进行存储,所以在根据属性信息确定空间索引信息的步骤中主要是先确定采样点的存储位置后,对应将采样点的属性信息存储到该位置,以便在后续计算中快速的调取该采样点的属性信息。属性信息中可以包含有自定义属性和固有属性,基于此,本发明实施例还提供了属性信息的构建过程,如图6所示,包括:
步骤S601,获取预设的自定义属性列表,所述自定义属性列表中包括若干个数据类型和每个类型对应的占用字节数;
在实际应用中,自定义属性列表中的数据类型可以根据实际情况设置,参见表1为实际应用中定义了10种基础的属性数据类型及其占用的存储空间:
序号 | 类型 | 占用的存储空间(字节数) |
1 | unsinged char | 1 |
2 | char | 1 |
3 | unsinged short | 2 |
4 | short | 2 |
5 | unsigned int | 4 |
6 | int | 4 |
7 | float | 4 |
8 | unsigned long long | 8 |
9 | long long | 8 |
10 | double | 8 |
步骤S602,获取与所述采样点对应的自定义信息;
在本发明实施例中,自定义信息可以是用户自定义的内容,例如应用到某林业行业,点云点可以再加上一个该点所属哪棵树的自定义属性,这个属性可以是用一个unsignedlong long 的类型来存储所属的树的序号。
步骤S603,在所述自定义属性列表中确定用于表示所述自定义信息的数据类型信息和数据分量;
在该步骤中,由于所有属性都可以有数据类型和数据分量数组成,例如:对应Las标准中data_type值为11的数据类型,其真实的数据类型为unsigned char[2]。在本单点单个自定义属性数据结构中,我们可以定义类型序号为1(如表1中unsigned char 型),分量数为2就能代替该Las标准中定义的自定义属性数据类型。此外,Las标准中最多支持3分量的数据,当超过时不再支持,而本设计使用分量数的方式,不限定分量个数。所以,本发明实施例通过通过基础数据类型和数量分量个数的定义,本发明能完全涵盖Las标准中定义的30种自定义属性数据类型,并在该基础上实现不限分量数的扩充。
进一步地,步骤S603,在所述自定义属性列表中确定用于表示所述自定义信息的数据类型和数据分量的步骤,包括:
根据自定义信息至少确定一个用于表示自定义内容信息的分量,得到用于表示所述分量个数的数据分量;
在所述自定义属性列表中确定与每个所述分量对应的数据类型,得到用于表示至少一个所述分量对应的数据类型的集合的数据类型信息。
在本发明实施例中,自定义信息可以是用户自定义的内容,例如应用到某林业行业,点云点可以再加上一个该点所属哪棵树的自定义属性,这个属性可以是用一个unsigned long long 的类型来存储所属的树的序号,如应用到电力线行业,可能需要标注某个点的危险类型,这个自定义属性可以是一组bool类型,第一个bool表示是否是A类危险,第二个bool表示是否是B类危险等等,所以根据用户不同的需求,可以输入不同的自定义内容(不同分量表示不同定义内容)添加到该采样点的属性中,通过确定分量对应的数据类型的集合即可得到数据类型信息。
本发明实施例通过自定义属性数据结构的应用,能有效解决各行业点云处理过程中定制化的单点特性存储和展示需求,解决点云现有的固有属性数据结构不能满足业务需求的问题。
步骤S604,根据数据类型信息和数据分量生成所述属性信息。
本发明实施例自定义属性的数据结构的设计方案,够解决点云固有属性结构随着技术发展不断扩展,为每一个点云单点类型设计一个数据结构存在开发效率低下、维护困难的问题。而涵盖全部属性的点云结构又造成了内存空间的浪费等问题。并且,利用自定义属性数据结构,当不需要对应属性时,不需要进行额外的内存和硬盘空间的占用,提高点云存储和构建效率。
在本发明的又一实施例中,还以供了一种海量点云空间索引构建装置,包括:
设置模块,用于根据目标对象输入的配置内容在存储区中设置若干个层级和点云数据的构建采样率;
获取模块,用于获取包含多个采样点的点云数据,并将所述点云数据中的采样点逐个输入所述存储区;
第一确定模块,用于根据所述构建采样率确定与所述采样点对应层级;
第一判断模块,用于判断与所述采样点对应层级是否饱和;
第二判断模块,用于若与所述采样点对应层级已饱和,判断饱和的层级是否为最稀疏的层级;
第二确定模块,用于若所述饱和的层级不是最稀疏的层级,针对所述饱和的层级中的每个采样点,确定所述饱和的层级中采样点的空间索引信息,所述空间索引信息用于表示所述采样点在所述存储区内的位置;
生成模块,用于若所述点云数据中的采样点均存储至所述存储区,根据多个所述存储区中的采样点的空间索引信息生成点云数据的空间索引信息。
在本发明的又一实施例中,还提供一种构建设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现方法实施例所述的通道方法。
本发明实施例提供的构建设备,处理器通过执行存储器上所存放的程序实现了通过目标对象输入的配置内容在存储区中设置若干个层级和所述层级的构建采样率,采用对存储区预分层和各层分块对点云数据的采样点的空间索引信息进行构建,当某一层级(不是最稀疏的层级)出现饱和时,代表点云数据已输入完成,此时无需预知点云的整体信息,即可通过直接确定采样点在所述存储区内的位置得到各采样点的空间索引信息,提升了构建空间索引信息的效率。
上述构建设备提到的通信总线1140可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述构建设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器1110可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明的又一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传输方法的程序,所述信息传输方法的程序被处理器执行时实现方法实施例所述的信息传输方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidStateDisk(SSD))等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种海量点云空间索引构建方法,其特征在于,所述方法包括:
根据目标对象输入的配置内容在存储区中设置若干个层级和点云数据的构建采样率;
获取包含多个采样点的点云数据,并将所述点云数据中的采样点逐个输入所述存储区;
根据所述构建采样率确定与所述采样点对应层级;
判断与所述采样点对应层级是否饱和;
若与所述采样点对应层级已饱和,判断饱和的层级是否为最稀疏的层级;
若所述饱和的层级不是最稀疏的层级,针对所述饱和的层级中的每个采样点,确定所述饱和的层级中采样点的空间索引信息,所述空间索引信息用于表示所述采样点在所述存储区内的位置;
若所述点云数据中的采样点均存储至所述存储区,根据多个所述存储区中的采样点的空间索引信息生成点云数据的空间索引信息。
2.根据权利要求1所述的海量点云空间索引构建方法,其特征在于,判断饱和的层级是否为最稀疏的层级的步骤之后,还包括:
若所述饱和的层级是最稀疏的层级,判断所述点云数据中的采样点是否存在未存储至所述存储区的采样点;
若所述点云数据中有采样点未存储至所述存储区,将最稀疏的层级中的多个所述采样点输出到临时存储区中,并确定所述点云数据的空间索引信息。
3.根据权利要求2所述的海量点云空间索引构建方法,其特征在于,确定所述点云数据的空间索引信息的步骤,包括:
针对所述点云数据中未存储至所述存储区的采样点,重新执行将所述点云数据中的采样点逐个输入所述存储区的步骤;
若所述点云数据中的采样点均存储至所述存储区,计算所述临时存储区中的采样点个数与存储区域中采样点个数的和,得到采样点总量;
根据所述采样点总量和所述构建采样率以及最稀疏的层级的预设支持点数信息计算在所述存储区中设置的目标层级数量;
基于所述目标层级数量确定用于调整所述存储区中层级数量的配置信息;
根据所述配置信息和所述存储区中采样点的空间索引信息生成调整后的空间索引信息;
根据所述配置信息确定所述未存储至存储区的采样点的空间索引信息;
根据所述调整后的空间索引信息和所述未存储至存储区的采样点的空间索引信息生成点云数据的空间索引信息。
4.根据权利要求3所述的海量点云空间索引构建方法,其特征在于,根据所述配置信息确定所述未存储至存储区的采样点的空间索引信息的步骤,包括:
根据所述配置信息调整所述存储区中层级数量,得到新存储区;
将所述临时存储区中的采样点输入所述新存储区,并针对临时存储区中每个所述采样点,根据所述采样点所在的新存储区中的层级构建所述未存储至存储区的采样点的空间索引信息。
5.根据权利要求1所述的海量点云空间索引构建方法,确定所述饱和的层级中采样点的空间索引信息的步骤,包括:
获取与所述采样点对应的属性信息;
确定所述采样点所在的存储区的层级,得到存储位置信息;
根据所述属性信息和所述存储位置信息生成所述存储区中采样点的空间索引信息。
6.根据权利要求5所述的海量点云空间索引构建方法,所述属性信息的构建过程包括:
获取预设的自定义属性列表,所述自定义属性列表中包括若干个数据类型和每个类型对应的占用字节数;
获取与所述采样点对应的自定义信息;
在所述自定义属性列表中确定用于表示所述自定义信息的数据类型信息和数据分量;
根据数据类型信息和数据分量生成所述属性信息。
7.根据权利要求6所述的海量点云空间索引构建方法,在所述自定义属性列表中确定用于表示所述自定义信息的数据类型信息和数据分量的步骤,包括:
根据自定义信息至少确定一个用于表示自定义内容信息的分量,得到用于表示所述分量个数的数据分量;
在所述自定义属性列表中确定与每个所述分量对应的数据类型,得到用于表示至少一个所述分量对应的数据类型的集合的数据类型信息。
8.一种海量点云空间索引构建装置,其特征在于,包括:
设置模块,用于根据目标对象输入的配置内容在存储区中设置若干个层级和点云数据的构建采样率;
获取模块,用于获取包含多个采样点的点云数据,并将所述点云数据中的采样点逐个输入所述存储区;
第一确定模块,用于根据所述构建采样率确定与所述采样点对应层级;
第一判断模块,用于判断与所述采样点对应层级是否饱和;
第二判断模块,用于若与所述采样点对应层级已饱和,判断饱和的层级是否为最稀疏的层级;
第二确定模块,用于若所述饱和的层级不是最稀疏的层级,针对所述饱和的层级中的每个采样点,确定所述饱和的层级中采样点的空间索引信息,所述空间索引信息用于表示所述采样点在所述存储区内的位置;
生成模块,用于若所述点云数据中的采样点均存储至所述存储区,根据多个所述存储区中的采样点的空间索引信息生成点云数据的空间索引信息。
9.一种海量点云空间索引构建设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010422764.5A CN111552765B (zh) | 2020-05-19 | 2020-05-19 | 海量点云空间索引构建方法、装置、构建设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010422764.5A CN111552765B (zh) | 2020-05-19 | 2020-05-19 | 海量点云空间索引构建方法、装置、构建设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552765A true CN111552765A (zh) | 2020-08-18 |
CN111552765B CN111552765B (zh) | 2021-06-08 |
Family
ID=72001973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010422764.5A Active CN111552765B (zh) | 2020-05-19 | 2020-05-19 | 海量点云空间索引构建方法、装置、构建设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552765B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2339481A1 (en) * | 2009-12-03 | 2011-06-29 | National Digital Research Centre | Enablement of three-dimensional hosting, indexing, analysing and querying structure for spatial systems |
CN102306180A (zh) * | 2011-08-29 | 2012-01-04 | 北京建筑工程学院 | 一种基于海量激光雷达栅格点云数据的建模方法 |
CN106407408A (zh) * | 2016-09-22 | 2017-02-15 | 北京数字绿土科技有限公司 | 一种海量点云数据的空间索引构建方法及装置 |
CN107798721A (zh) * | 2016-08-31 | 2018-03-13 | 北京四维图新科技股份有限公司 | 一种点云数据的处理方法及装置和点云渲染方法及装置 |
CN108632621A (zh) * | 2018-05-09 | 2018-10-09 | 北京大学深圳研究生院 | 一种基于层次划分的点云属性压缩方法 |
-
2020
- 2020-05-19 CN CN202010422764.5A patent/CN111552765B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2339481A1 (en) * | 2009-12-03 | 2011-06-29 | National Digital Research Centre | Enablement of three-dimensional hosting, indexing, analysing and querying structure for spatial systems |
CN102306180A (zh) * | 2011-08-29 | 2012-01-04 | 北京建筑工程学院 | 一种基于海量激光雷达栅格点云数据的建模方法 |
CN107798721A (zh) * | 2016-08-31 | 2018-03-13 | 北京四维图新科技股份有限公司 | 一种点云数据的处理方法及装置和点云渲染方法及装置 |
CN106407408A (zh) * | 2016-09-22 | 2017-02-15 | 北京数字绿土科技有限公司 | 一种海量点云数据的空间索引构建方法及装置 |
US10585948B2 (en) * | 2016-09-22 | 2020-03-10 | Beijing Greenvalley Technology Co., Ltd. | Method and device for constructing spatial index of massive point cloud data |
CN108632621A (zh) * | 2018-05-09 | 2018-10-09 | 北京大学深圳研究生院 | 一种基于层次划分的点云属性压缩方法 |
Non-Patent Citations (1)
Title |
---|
王雷: "海量三维激光点云数据的组织与可视化研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111552765B (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10242116B2 (en) | Grid-based geofence data indexing | |
CN111400304A (zh) | 一种获取截面日期全量数据的方法、装置、电子设备及存储介质 | |
CN110968585A (zh) | 面向列的存储方法、装置、设备及计算机可读存储介质 | |
CN110209748B (zh) | 索引地理围栏的方法和装置 | |
CN111858613B (zh) | 一种业务数据的检索方法 | |
CN111400334A (zh) | 数据处理方法、装置、存储介质及电子装置 | |
CN111552765B (zh) | 海量点云空间索引构建方法、装置、构建设备 | |
EP4258153A1 (en) | Method, apparatus and device for transferring grid data of finite element model for nuclear island structure | |
CN110930101B (zh) | 确定订单的配送时间的方法、装置、电子设备和可读介质 | |
CN117519682A (zh) | 组件布局方法、装置、计算机设备及存储介质 | |
KR20130126012A (ko) | 비즈니스 인텔리전스의리포트 제공 방법 및 장치 | |
CN113572721A (zh) | 一种异常访问检测方法、装置、电子设备及存储介质 | |
CN113254480A (zh) | 一种数据查询方法及装置 | |
CN113762864B (zh) | 一种物流站点的选址方法和装置 | |
CN111552847B (zh) | 一种变更对象数量的方法和装置 | |
CN112015929B (zh) | 栅格数据访问方法、装置、电子设备及计算机存储介质 | |
CN105991400B (zh) | 一种群组搜索方法及其设备 | |
CN113362097B (zh) | 一种用户确定方法和装置 | |
CN111125593A (zh) | 基于区块链的家谱信息处理方法、设备及存储介质 | |
CN110674090A (zh) | 一种资源文件处理方法和装置 | |
CN110990394A (zh) | 分布式面向列数据库表的行数统计方法、装置和存储介质 | |
CN112307025B (zh) | 一种分布式索引的构建方法及装置 | |
CN111309592B (zh) | 一种权限检查方法、装置、存储介质及终端 | |
CN115687673B (zh) | 图片归档的方法、装置、电子设备及可读存储介质 | |
CN112600756B (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 | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 2301-2308, third floor, building 2, incubator, Zhongguancun Software Park, Dongbeiwang, Haidian District, Beijing 100094 Patentee after: Beijing Digital Green Earth Technology Co.,Ltd. Address before: Room 2301-2308, floor 3, building 2, incubator, Dongbeiwang Software Park, Haidian District, Beijing 100094 Patentee before: BEIJING GREENVALLEY TECHNOLOGY Co.,Ltd. |