CN115080680B - 用于高精地图的激光点云数据处理方法、装置及设备 - Google Patents

用于高精地图的激光点云数据处理方法、装置及设备 Download PDF

Info

Publication number
CN115080680B
CN115080680B CN202210848462.3A CN202210848462A CN115080680B CN 115080680 B CN115080680 B CN 115080680B CN 202210848462 A CN202210848462 A CN 202210848462A CN 115080680 B CN115080680 B CN 115080680B
Authority
CN
China
Prior art keywords
grid
point cloud
target
laser point
point
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.)
Active
Application number
CN202210848462.3A
Other languages
English (en)
Other versions
CN115080680A (zh
Inventor
荆迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Autonavi Software Co Ltd
Original Assignee
Autonavi Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Autonavi Software Co Ltd filed Critical Autonavi Software Co Ltd
Priority to CN202210848462.3A priority Critical patent/CN115080680B/zh
Publication of CN115080680A publication Critical patent/CN115080680A/zh
Application granted granted Critical
Publication of CN115080680B publication Critical patent/CN115080680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3837Data obtained from a single source
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开涉及一种用于高精地图的激光点云数据处理方法、装置及设备。本公开的至少一个实施例中,在获取目标区域的多个激光点云索引文件后,利用激光点云索引文件索引的激光点云空间位置信息,确定由目标区域划分得到的每个网格对应的点集;进而,通过对每个网格对应的点集进行多层级抽样,构建多层级网格,可以确定每个点所属网格的网格编码;从而,存储激光点云的属性信息,而非存储全部激光点云数据,便于激光点云数据压缩存储,减少存储占用空间,提升激光点云数据的读写效率。

Description

用于高精地图的激光点云数据处理方法、装置及设备
技术领域
本公开实施例涉及激光点云处理技术领域,具体涉及一种用于高精地图的激光点云数据处理方法、装置及设备。
背景技术
高精地图是智能驾驶车辆导航的基础设施,高精地图主要是通过对雷达设备(例如激光扫描设备)采集的激光点云数据进行地图元素提取和编辑获得的,其中,地图元素是用于构建高精地图的要素,地图元素的类型包括但不限于地面上的方向箭头、车道线、停止线、地面文字等地面元素以及地面之外的指示牌、测速架等地上元素。
然而一次采集作业得到的激光点云通常数据量巨大,使得激光点云数据存储成本较大,且随着道路数据越多,激光点云数据量会继续膨胀,因此需要对激光点云数据进行处理,以便后续流程使用的同时降低存储成本。
目前,采用开源的大规模激光点云渲染器(POTREE)进行激光点云数据的可视化处理,POTREE使用二进制(bin)文件存储激光点云数据,至少存在以下技术问题:由于bin文件不支持压缩,且激光点云的数据量巨大,会占用较大的存储空间,降低激光点云数据的读写效率,不便于后续处理,例如:使得激光点云的可视化加载时长较长,影响激光点云的可视化效果。
发明内容
本公开的至少一个实施例提供了一种用于高精地图的激光点云数据处理方法、装置及设备。
第一方面,本公开实施例提出一种用于高精地图的激光点云数据处理方法,该方法包括:
获取目标区域的多个激光点云索引文件,激光点云索引文件中包括目标区域的部分激光点云数据的存储位置;
将目标区域划分为多个网格,并基于每个网格在目标区域中的空间位置和空间范围以及多个激光点云索引文件,确定每个网格对应的点集;
基于预设的点数量阈值,对每个网格对应的点集进行多层级抽样,得到以每个网格为根节点的多层级网格,多层级网格中非最底层级网格包括的点数量为点数量阈值,且最底层级网格包括的点数量小于或等于点数量阈值;
存储每一层级网格包括的点集的属性信息,属性信息包括:每个点的空间位置信息和每个点所属网格的网格编码。
在一些实施例中,基于每个网格在目标区域中的空间位置和空间范围以及多个激光点云索引文件,确定每个网格对应的点集,包括:
基于每个网格在目标区域中的空间位置和空间范围,确定多个激光点云索引文件索引的每个点所属网格的网格编码;
针对目标网格,基于每个点所属网格的网格编码,确定网格编码与目标网格的网格编码相同的目标点;利用多个激光点云索引文件获取目标点的数据,得到目标网格对应的点集。
在一些实施例中,针对目标网格,基于每个点所属网格的网格编码,确定网格编码与目标网格的网格编码相同的目标点;利用多个目标激光点云索引文件获取目标点的数据,得到目标网格对应的点集,包括:
基于每个点所属网格的网格编码,确定每个激光点云索引文件对应的至少一个网格编码,得到网格与激光点云索引文件之间的对应关系;
针对目标网格,基于对应关系确定目标网格对应的至少一个目标激光点云索引文件;确定至少一个目标激光点云索引文件索引的每个点所属网格的网格编码,并确定网格编码与目标网格的网格编码相同的目标点;利用至少一个目标激光点云索引文件获取目标点的数据,得到目标网格对应的点集。
在一些实施例中,基于预设的点数量阈值,对每个网格对应的点集进行多层级抽样,得到以每个网格为根节点的多层级网格,包括:
针对目标网格,从目标网格对应的原始点集中抽取点数量阈值的点构成目标网格包括的目标点集;对原始点集中剩余点进行抽样,抽取点数量阈值的点构成目标网格的下一级网格包括的目标点集;直至原始点集中剩余点的数量小于或等于点数量阈值后停止抽样,并将原始点集中剩余点构成最底层级网格包括的目标点集,得到以目标网格为根节点的多层级网格。
在一些实施例中,基于预设的点数量阈值,对每个网格对应的点集进行多层级抽样,得到以每个网格为根节点的多层级网格之后,方法还包括:
确定多层级网格中每一层级网格的网格编码;
其中,网格编码包括父编码和子编码;多层级网格中作为根节点的每个网格的父编码的值不同、父编码的位数相同且子编码为预设值;同一根节点下的低层级网格的父编码均相同且子编码的位数基于网格所处的层级确定。
在一些实施例中,该方法还包括:
响应于目标点的增加或删除操作,获取目标点的属性信息;在目标点所属网格对应层级的存储空间中,对目标点的属性信息进行增加或删除操作。
在一些实施例中,该方法还包括:
响应于以网格编码为查询条件的激光点云查询操作,在存储的属性信息中查询网格编码对应的激光点云数据;
和/或,响应于以网格编码和属性项为查询条件的激光点云查询操作,在存储的属性信息中查询所述网格编码对应的激光点云数据中所述属性项的信息。
第二方面,本公开实施例还提出一种用于高精地图的激光点云数据处理装置,该装置包括:
获取单元,用于获取目标区域的多个激光点云索引文件,激光点云索引文件中包括目标区域的部分激光点云数据的存储位置;
确定单元,用于将目标区域划分为多个网格,并基于每个网格在目标区域中的空间位置和空间范围以及多个激光点云索引文件,确定每个网格对应的点集;
抽样单元,用于基于预设的点数量阈值,对每个网格对应的点集进行多层级抽样,得到以每个网格为根节点的多层级网格,多层级网格中非最底层级网格包括的点数量为点数量阈值,且最底层级网格包括的点数量小于或等于点数量阈值;
存储单元,用于存储每一层级网格包括的点集的属性信息,属性信息包括:每个点的空间位置信息和每个点所属网格的网格编码。
第三方面,本公开实施例还提出一种计算机设备,其中,包括至少一个计算装置和至少一个存储指令的存储装置;所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如第一方面任一实施例所述用于高精地图的激光点云数据处理方法的步骤。
第四方面,本公开实施例还提出一种计算机可读存储介质,其中,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如第一方面任一实施例所述激光点云数据处理方法的步骤。
第五方面,本公开实施例还提供一种计算机程序产品,其中,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,计算机的至少一个处理器从存储介质读取并执行该计算机程序,使得计算机执行如第一方面任一实施例所述用于高精地图的激光点云数据处理方法的步骤。
可见,本公开的至少一个实施例中,在获取目标区域的多个激光点云索引文件后,利用激光点云索引文件索引的激光点云空间位置信息,确定由目标区域划分得到的每个网格对应的点集;进而,通过对每个网格对应的点集进行多层级抽样,构建多层级网格,可以确定每个点所属网格的网格编码;从而,存储激光点云的属性信息,而非存储全部激光点云数据,便于激光点云数据压缩存储,减少存储占用空间,提升激光点云数据的读写效率。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种用于高精地图的激光点云数据处理方法的流程示意图;
图2为本公开实施例提供的一种多层级存储的架构示意图;
图3为本公开实施例提供一种确定网格对应点集的流程示意图;
图4为本公开实施例提供的一种网格与激光点云索引文件之间的对应关系示意图;
图5为本公开实施例提供的一种多层级抽样的流程示意图;
图6为本公开实施例提供的一种用于高精地图的激光点云数据处理装置的示意图;
图7为本公开实施例提供的一种计算机设备的示例性框图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。基于所描述的本公开的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
针对现有技术存在的至少一个问题,本公开实施例提供了一种用于高精地图的激光点云数据处理方法、装置、介质或计算机设备,在获取目标区域的多个激光点云索引文件后,利用激光点云索引文件索引的激光点云空间位置信息,确定由目标区域划分得到的每个网格对应的点集;进而,通过对每个网格对应的点集进行多层级抽样,构建多层级网格,可以确定每个点所属网格的网格编码;从而,存储激光点云的属性信息,而非存储全部激光点云数据,便于激光点云数据压缩存储,减少存储占用空间,提升激光点云数据的读写效率,进而提升激光点云的加载速率,使得激光点云可视化的效率提高。在一些实施例中,存储的激光点云的属性信息可以通过属性项的增删实现扩展,也可以增加或删除点,克服现有技术中采用bin文件方式存储无法扩展的问题。在一些实施例中,以网格编码实现查询,提供了激光点云查询能力,克服现有技术中没有提供激光点云查询功能,查询激光点云效率较低的问题。
图1为本公开实施例提供的一种用于高精地图的激光点云数据处理方法的流程示意图,该用于高精地图的激光点云数据处理方法的执行主体为电子设备,电子设备包括但不限于车载设备、智能手机、掌上电脑、平板电脑、带显示屏的可穿戴设备、台式机、笔记本电脑、一体机、智能家居设备、服务器等,其中,服务器可以是独立的服务器,也可以是多个服务器的集群,可以包括搭建在本地的服务器和架设在云端的服务器。
如图1所示,该用于高精地图的激光点云数据处理方法可以包括但不限于步骤101至104:
在步骤101中,获取目标区域的多个激光点云索引文件,激光点云索引文件中包括目标区域的部分激光点云数据的存储位置。
针对目标区域,例如一条道路,可以进行多趟激光点云采集,每趟采集作业(一趟采集作业记为一个工程)采集的激光点云数据会录入激光点云资料库中,其中,激光点云由采集的多个点构成,激光点云数据包括采集的多个点的数据,针对任一点,该点的数据包括但不限于点的空间位置信息、点的反射率信息、采集时刻等。
激光点云索引文件(poslog)会提供目标工程在目标采集粒度(例如某一时间段)下激光点云数据的存储位置,存储位置可以是某一个文件目录,也可能是多个文件目录。激光点云索引文件(poslog)还可以提供目标工程的标识、采集粒度的信息等。
例如,某个工程采集了一个小时,可能生成几千个poslog,但这些poslog的点可能是同一空间范围内的点。
可见,一个激光点云索引文件(poslog)是一趟采集作业过程采集的全部激光点云数据中的部分激光点云数据的索引文件,也即,一趟采集作业过程会对应多个激光点云索引文件。目标区域的多个激光点云索引文件可以理解为是同一趟采集作业过程对应的多个激光点云索引文件。
在步骤102中,将目标区域划分为多个网格,并基于每个网格在目标区域中的空间位置和空间范围以及多个激光点云索引文件,确定每个网格对应的点集。
在本公开实施例中,可以预先确定网格的空间范围,也即网格的尺寸,例如,预先确定网格的空间范围为长宽高均为128米的立方体;进而,基于预先确定的网格空间范围,将目标区域划分为多个网格,多个网格均为长宽高为128米的立方体。将目标区域划分为多个网格后,即可得到每个网格的空间位置和空间范围。
利用多个激光点云索引文件包括的部分激光点云数据的存储位置,可以索引到目标区域的每个点的空间位置信息,进而,基于每个点的空间位置信息以及每个网格的空间位置和空间范围,可以确定每个网格对应的点集。
在一些实施例中,基于目前的地球网格划分等级,将整个地球作为0级网格,长宽高为128米的立方体为17级网格,长宽高为64米的立方体为18级网格,长宽高为32米的立方体为19级网格,长宽高为16米的立方体为20级网格,长宽高为8米的立方体为21级网格,长宽高为4米的立方体为22级网格。
在步骤103中,基于预设的点数量阈值,对每个网格对应的点集进行多层级抽样,得到以每个网格为根节点的多层级网格,多层级网格中非最底层级网格包括的点数量为点数量阈值,且最底层级网格包括的点数量小于或等于点数量阈值。
其中,预设的点数量阈值为每个网格包括的点数量的最大值,也即,无论网格本身的空间范围是多少,网格包括的点数量不超过点数量阈值。
若将目标区域划分为多个17级网格(长宽高为128米),每个17级网格作为根节点,那么18级网格(长宽高为64米)则为根节点的下一层级网格。
在本公开实施例中,多层级抽样为自顶向下抽样,也即,第一次抽样,得到的是作为根节点的网格包括的点集,根节点的层级是最高层级;第二次抽样,得到的是根节点的下一层级的网格包括的点集,以此类推,实现自顶向下抽样,得到多层级网格。
在一些实施例中,多层级抽样得到的多层级网格的结构可以为多细节层次(Levels of Detail,LOD)树的结构,层级越低展示的细节信息越多,例如,作为根节点的网格是长宽高为128米的立方体,该立方体中包括4万个点;根节点下一层级的是长宽高为64米的立方体,该立方体中也包括4万个点,因此,层级越低展示的细节信息越多。
在进行LOD树加载时,可以分层显示激光点云。因此,在激光点云可视化时,显示的是作为根节点的网格包括的点集,可以看到目标区域的全貌;将目标区域进行放大,则进一步显示根节点的下一层级网格包括的点集,实现了目标区域更多细节信息的展示。
在步骤104中,存储每一层级网格包括的点集的属性信息,属性信息包括:每个点的空间位置信息和每个点所属网格的网格编码。
本公开实施例中,可以将每一层级网格包括的点集的属性信息存储到对应层级的存储空间中,实现多层级存储,也即,同一层级的网格包括的点集的属性信息均存储到该层级对应的存储空间中。
在一些实施例中,存储的每个点的属性信息除了包括每个点的空间位置信息和每个点所属网格的网格编码,还可以包括点的采集时间、点的反射率(reflectance)、点的道路标识(road flag)等,其中,道路标识用于指示道路是否为高速路。
可见,本公开实施例在获取目标区域的多个激光点云索引文件后,利用激光点云索引文件索引的激光点云空间位置信息,确定由目标区域划分得到的每个网格对应的点集;进而,通过对每个网格对应的点集进行多层级抽样,构建多层级网格,可以确定每个点所属网格的网格编码;从而,存储激光点云的属性信息,而非存储全部激光点云数据,便于激光点云数据压缩存储,减少存储占用空间,提升激光点云数据的读写效率,进而提升激光点云的加载速率,使得激光点云可视化的效率提高。
图2为本公开实施例提供的一种多层级存储的架构示意图,其中,多层级存储采用列式存储。本实施例中,根节点为17级网格,LOD树为八叉树的结构,若17级网格共有8个,记为Grid1至Grid8,则多层级存储共8列,分别对应Grid1至Grid8,Grid1至Grid8存储在不同目录中。17级网格包括的点集的属性信息均存储到17级对应的存储空间中,且采用列式存储;根节点的下一层级网格为18级网格,每个17级网格均对应8个18级网格,例如,Grid1对应的8个18级网格记为Grid11、Grid12、……、Grid18。其中,Grid11、Grid12、……、Grid18存储在不同文件中,但这些文件都处于Grid1存储的目录下。Grid1对应的8个18级网格包括的点集的属性信息均存储到Grid1所在列中18级对应的存储空间内,且采用列式存储,依次类推,实现多层级存储。同理,Grid2对应的8个18级网格记为Grid21、Grid22、……、Grid28。其中,Grid21、Grid22、……、Grid28存储在不同文件中,但这些文件都处于Grid2存储的目录下。
本公开实施例中,存储的是激光点云的属性信息,属性信息是便于后续处理流程使用的关键信息,例如属性信息包括:而点的空间位置信息和每个点所属网格的网格编码。
本领域技术人员可以根据处理需要,确定存储哪些属性信息,例如,还可以将每个点的反射率进行存储,以便后续根据点的反射率判断点是否为地图元素上的点,原因在于不同地图元素的材质不同,使得点的反射率不同;其中,地图元素是用于构建高精地图的要素,地图元素的类型包括但不限于地面上的方向箭头、车道线、停止线、地面文字等地面元素以及地面之外的指示牌、测速架等地上元素。
可见,本公开实施例中,存储的是激光点云的属性信息,并非存储全部激光点云数据,便于激光点云数据压缩存储,减少存储占用空间,提升激光点云数据的读写效率,从而提供可靠的激光点云可视化能力。另外,由于采用列式存储激光点云的属性信息,例如,采用ORC(Optimized Row Columnar,优化的行列)文件来存储激光点云的属性信息,列式存储支持多种压缩方式,可以进一步减少存储占用空间,提升激光点云数据的读写效率。
在上述实施例的基础上,步骤102中“基于每个网格在目标区域中的空间位置和空间范围以及多个激光点云索引文件,确定每个网格对应的点集”,具体为:
基于每个网格在目标区域中的空间位置和空间范围,确定多个激光点云索引文件索引的每个点所属网格的网格编码;针对目标网格,基于每个点所属网格的网格编码,确定网格编码与目标网格的网格编码相同的目标点;利用多个激光点云索引文件获取目标点的数据,得到目标网格对应的点集。
在一些实施例中,网格编码可以是针对网格进行编码得到的,例如,对8个17级网格分别进行编码,得到的对应的网格编码,进而,基于每个点的空间位置信息,确定每个点所属的网格编码。
在一些实施例中,网格编码可以基于点的空间位置信息进行网格编码得到,以使处于同一网格的不同点对应相同的网格编码。其中网格编码的方式例如为层次关系编码(记为Z-order编码),Z-order编码过程为:基于点的坐标(x,y,z)生成编码,其特点为:点的坐标在同一空间范围内(也即同一网格)的编码是聚合的(相同的)。因此,可以得到每个点所属的网格编码。网格编码越长表示网格的空间范围越小。
但是,由于Z-order编码的位数较长,例如,22级网格编码的位数为22位,而激光点云数量通常巨大,将大量的22位字符串缓存到磁盘,也会占用大量的磁盘空间,对磁盘性能要求较高,并且会影响激光点云读写效率。
例如,由于工程的激光点云数量巨大,内存放不下,不可能一次把工程所有的点都进行加载,因此,需要分批处理,例如,一个工程有上万个poslog,每一个poslog都能读进来几十万、上百万个点,但是这些点不能都放到内存里,所以读一部分往硬盘里写一部分,读完第一个poslog就有很多的Grid网格文件了,读第二个poslog就是不断的往里Grid网格文件增加了,读这些poslog是并行来读的,目的是为了提高效率,也即Grid文件是并行写的,只有在把这些poslog读完的情况下,才能再对网格进行计算。
因此,针对磁盘性能有限且激光点云数量巨大的场景,本公开实施例提供一种确定网格对应点集的流程示意图,如图3所示,包括如下步骤301和步骤302:
在步骤301中,基于每个点所属网格的网格编码,确定每个激光点云索引文件对应的至少一个网格编码,得到网格与激光点云索引文件之间的对应关系。
例如,图4为本公开实施例提供的一种网格与激光点云索引文件之间的对应关系示意图,本实施例中,激光点云索引文件poslog1索引点1、点2、点3和点4,点1和点2所属网格的网格编码均为Grid1的网格编码,点3所属网格的网格编码为Grid2的网格编码,点4所属网格的网格编码为Grid3的网格编码,则确定激光点云索引文件poslog1对应Grid1的网格编码、Grid2的网格编码和Grid3的网格编码。
激光点云索引文件poslog2索引点5、点6和点7,点5所属网格的网格编码为Grid1的网格编码,点6和点7所属网格的网格编码均为Grid2的网格编码,则确定激光点云索引文件poslog2对应Grid1的网格编码和Grid2的网格编码。
基于激光点云索引文件poslog1和poslog2各自对应的网格编码,可以确定网格与激光点云索引文件之间的对应关系为:网格Grid1对应激光点云索引文件poslog1和poslog2;网格Grid2对应激光点云索引文件poslog1和poslog2;网格Grid3对应激光点云索引文件poslog1。
在步骤302中,针对目标网格,基于对应关系确定目标网格对应的至少一个目标激光点云索引文件;确定至少一个目标激光点云索引文件索引的每个点所属网格的网格编码,并确定网格编码与目标网格的网格编码相同的目标点;利用至少一个目标激光点云索引文件获取目标点的数据,得到目标网格对应的点集。
在图4中,针对网格Grid1,网格Grid1对应激光点云索引文件poslog1和poslog2,进而,基于激光点云索引文件poslog1索引点1、点2、点3和点4,可以确定点1和点2所属网格的网格编码均为Grid1的网格编码,点3所属网格的网格编码为Grid2的网格编码,点4所属网格的网格编码为Grid3的网格编码;基于激光点云索引文件poslog2索引点5、点6和点7,可以确定点5所属网格的网格编码为Grid1的网格编码,点6和点7所属网格的网格编码均为Grid2的网格编码。因此,可以确定网格Grid1对应的点集包括点1、点2和点5。
在确定网格编码与目标网格的网格编码相同的目标点后,利用至少一个目标激光点云索引文件获取目标点的数据,目标点的数据包括但不限于:点的空间位置信息、点的反射率信息、采集时刻等。
综上,图3所示的确定网格对应点集的流程,通过确定每个点所属网格的网格编码,明确网格与激光点云索引文件之间的对应关系;进而针对目标网格对应的目标激光点云索引文件索引的每个点,再次确定网格编码,得到目标网格对应的点集。可见,本实施例通过两次确定网格编码,针对目标网格,可以将目标网格对应的点集进行落盘存储,两次确定网格编码的耗时远小于直接将激光点云数据(通常大于50G)落盘存储的耗时,因此,可以提升激光点云读写效率。另外,本实施例中第一次确定的网格编码无需缓存,不占用磁盘空间,不影响激光点云读写效率。
在一些实施例中,考虑到目标区域(例如对应一段路)划分为1500个网格,但是1000个网格(例如道路边缘的网格)中的激光点云比较少,而道路本身对应的网格相对少,只有500个网格,也即点少的网格占多数,这些网格不需要分配太多的存储空间,因此,在步骤102确定每个网格对应的点集后,粗略估计每个网格的抽样层级,粗略估计后可以预先分配存储空间,以便在步骤103进行多层级抽样时,可以在预先分配的存储空间的基础上再具体分配所需内存,提高效率。
例如,目标网格为作为根节点的任一17级网格,则基于目标网格对应的原始点集中的点数量和预设的点数量阈值,可以粗略估计抽样层级,例如,点数量阈值为4万个点,如果目标网格对应的原始点集中的点数量只有2000个,则一个层级即可够用;如果目标网格对应的原始点集中的点数量为6万个,则二个层级即可够用。只有经过多层级抽样,才能确定每层级有多少个网格。
在上述实施例的基础上,步骤103所述的基于预设的点数量阈值,对每个网格对应的点集进行多层级抽样,得到以每个网格为根节点的多层级网格,可以包括但不限于图5所示的以下步骤501至步骤503具体为:
501、针对目标网格,从目标网格对应的原始点集中抽取点数量阈值的点构成目标网格包括的目标点集。
本实施例中,基于目标网格对应的原始点集中的点数量和预设的点数量阈值,可以确定抽样比例,以便从目标网格对应的原始点集中抽取点数量阈值的点构成目标网格包括的目标点集。在一些实施例中,抽样的方式可以为任意的抽样方式,例如为随机抽样。
例如,目标网格对应的原始点集中的点数量为100万个点,点数量阈值为4万个点,则从100万个点中随机抽取4万个点,作为目标网格包括的目标点集。
502、对原始点集中剩余点进行抽样,抽取点数量阈值的点构成目标网格的下一级网格包括的目标点集。
例如,原始点集中剩余点的数量为96万个,因此,对原始点集中剩余点进行抽样,从96万个点中随机抽取4万个点,作为目标网格的下一级网格包括的目标点集,如果目标网格为17级网格,则目标网格的下一级网格为18级网格,18级网格包括的目标点集也为4万。
由于采用LOD树结构,目标网格的下一级网格共有8个,如果目标网格为17级网格,则18级网格共有8个,因此,在对所有18级网格完成抽点后,才进行19级网格的抽点。
503、继续抽样直至原始点集中剩余点的数量小于或等于点数量阈值后停止抽样,并将原始点集中剩余点构成最底层级网格包括的目标点集,得到以目标网格为根节点的多层级网格。
若原始点集中剩余点的数量不足4万个点,且19级网格中还有未抽样的网格,则将剩余点构成该网格包括的目标点集,则19级为LOD数的最底层级;若所有的19级网格均完成抽点,则原始点集中剩余点构成20级网格包括的目标点集,20级为LOD数的最底层级。
需要说明的是,抽样时,同一点只能存在于一个网格中,也即同一个点只存一次,也即一个点所处层级是根据随机抽样进行确定。
在上述实施例的基础上,步骤103得到以每个网格为根节点的多层级网格后,用于高精地图的激光点云数据处理方法还可以包括:确定多层级网格中每一层级网格的网格编码,以便步骤104中将每个点所属网格的网格编码作为属性信息进行存储。
其中,网格编码包括父编码和子编码;多层级网格中作为根节点的每个网格的父编码的值不同、父编码的位数相同且子编码为预设值;同一根节点下的低层级网格的父编码均相同且子编码的位数基于网格所处的层级确定。
例如,17级网格的父编码(parent_code)为17位,若17级网格为根节点,则17级网格的子编码(child_code)为预设值,例如为字符串“DEAFAULT”,表示该网格为根节点。
从根节点向下,每多一层级,则父编码不变,子编码多1位,例如,17级网格为根节点,则18级网格的父编码(parent_code)为17位,且父编码的值与其根节点的父编码的值相同;17级网格的子编码(child_code)的位数为1位;19级网格的父编码(parent_code)为17位,且父编码的值与其根节点的父编码的值相同;19级网格的子编码(child_code)的位数为2位,以此类推。
例如,17级网格的网格编码为60355755107503642,共17位;18级网格的网格编码为603557551075036425,由17位父编码(60355755107503642)和1位子编码(5)构成;19级网格的网格编码为6035575510750364254,由17位父编码(60355755107503642)和2位子编码(54)构成。
需要说明的是,图3对应的实施例中,由于并未确定每个点所处的层级,因此,每个点所属网格的网格编码的位数为预设的位数,例如为22位,代表22级网格;而图1对应实施例的步骤104中,存储的网格编码的位数则是基于点所属网格的层级确定,例如,17级网格的网格编码为17位,18级网格的网格编码为18位,19级网格的网格编码为19位,依次类推。
在一些实施例中,存储每个点所属网格的网格编码时,可以仅存储子编码,便于字符串压缩;而同一网格内不同点对应的父编码相同,因此同一网格内不同点对应的父编码只存储一次,进一步减少存储占用空间。
在上述实施例的基础上,用于高精地图的激光点云数据处理方法还可以提供激光点云数据扩展能力:
响应于目标点的增加或删除操作,获取目标点的属性信息;在目标点所属网格对应层级的存储空间中,对所述目标点的属性信息进行增加或删除操作。
例如,通常一个工程(可以理解为某一趟采集作业过程)会对应生成一个LOD树,本实施例中,可以将针对目标区域的不同工程生成的LOD树融合为一个树。
可见,本公开实施例由于采用列式存储(例如ORC存储),可以提供激光点云数据扩展能力,将不同工程生成的LOD树融合为一个树,克服了现有技术中采用bin文件存储激光点云数据不支持扩展的问题,例如,现有技术不能添加新的激光点云数据,只能重新构建POTREE树,得到新的bin文件。
在上述实施例的基础上,用于高精地图的激光点云数据处理方法还提供了基于网格编码的激光点云查询能力:
响应于以网格编码为查询条件的激光点云查询操作,在存储的属性信息中查询所述网格编码对应的激光点云数据。
本实施例中,可以通过点所属网格的网格编码的位数,确定点所属网格的网格层级,进一步通过网格编码的子编码的取值,确定点所属的具体网格,克服现有技术中POTREE本身没有提供查询功能,只能通过组装目录(可以理解为激光点云数据存储的路径)的方式来查询激光点云数据,查询的效率较低的问题。
例如,一个文件共10M,激光点云的属性信息的存储是采用列式存储(如图3所示),以网格编码为查询条件查询激光点云时,不需要加载这10M文件,只需要读网格编码对应的列,会过滤出所需的某一列的行号,然后只读这些行即可。可见,无论是从网络直接读这个文件,还是从本地缓存来读这个文件,可以减少网络的开销和本地磁盘的开销。
可选的,在图1所示的实施例中,步骤104存储的属性信息中,仅存储每个点所属网格的子编码,这样,可以将子编码的取值作为查询条件,即可快速查询激光点云。
上述实施例的基础上,用于高精地图的激光点云数据处理方法还提供了基于网格编码和属性项的激光点云查询能力:
响应于以网格编码和属性项为查询条件的激光点云查询操作,在存储的属性信息中查询所述网格编码对应的激光点云数据中所述属性项的信息。
例如,除了网格编码外,还存储了点的4个属性项:点的空间位置信息、点的采集时间、点的反射率(reflectance)、点的道路标识(road flag),其中,道路标识用于指示道路是否为高速路。
响应于以网格编码和属性项(例如为reflectance)为查询条件的激光点云查询操作,则首先通过网格编码的位数,确定点所属网格的网格层级,并通过网格编码的子编码的取值,确定点所属的具体网格,可以查询到具体网格下的所有点;然后查询具体网格下所有点的reflectance。
需要说明的是,以网格编码为查询条件是从空间上进行激光点云查询,还可以激光点云采集时间为查询条件从时间上进行激光点云查询,这样,可以查询到同一空间内,不同时间多趟采集的激光点云。其中,激光点云采集时间无需编码,可以作为激光点云的属性信息进行存储,可选的,为了降低存储占用的空间,存储的是时间偏移量,同理,对于点的空间位置信息,存储的是坐标偏移量。
例如,目标区域昨天采集了一次激光点云,今天又采集了一次激光点云,如果只查看今天采集的激光点云,可以先以网格编码为查询条件是从空间上查询目标区域的激光点云,然后再以激光点云采集时间为查询条件,查询今天采集的激光点云。
综上,本公开实施例以网格编码为查询条件可以快速查询激光点云,克服现有技术只能通过组装目录(可以理解为激光点云数据存储的路径)的方式来查询激光点云数据,查询的效率较低的问题。
图6为本公开实施例提供的一种用于高精地图的激光点云数据处理装置的示意图,该用于高精地图的激光点云数据处理装置可以应用于电子设备,电子设备包括但不限于车载设备、智能手机、掌上电脑、平板电脑、带显示屏的可穿戴设备、台式机、笔记本电脑、一体机、智能家居设备、服务器等,其中,服务器可以是独立的服务器,也可以是多个服务器的集群,可以包括搭建在本地的服务器和架设在云端的服务器。本公开实施例提供的用于高精地图的激光点云数据处理装置可以执行用于高精地图的激光点云数据处理方法实施例提供的处理流程,如图6所示,用于高精地图的激光点云数据处理装置包括:获取单元61、确定单元62、抽样单元63和存储单元64。
获取单元61,用于获取目标区域的多个激光点云索引文件,激光点云索引文件中包括目标区域的部分激光点云数据的存储位置;
确定单元62,用于将目标区域划分为多个网格,并基于每个网格在目标区域中的空间位置和空间范围以及多个激光点云索引文件,确定每个网格对应的点集;
抽样单元63,用于基于预设的点数量阈值,对每个网格对应的点集进行多层级抽样,得到以每个网格为根节点的多层级网格,多层级网格中非最底层级网格包括的点数量为点数量阈值,且最底层级网格包括的点数量小于或等于点数量阈值;
存储单元64,用于存储每一层级网格包括的点集的属性信息,属性信息包括:每个点的空间位置信息和每个点所属网格的网格编码。
在一些实施例中,确定单元62基于每个网格在目标区域中的空间位置和空间范围以及多个激光点云索引文件,确定每个网格对应的点集,包括:
基于每个网格在目标区域中的空间位置和空间范围,确定多个激光点云索引文件索引的每个点所属网格的网格编码;
针对目标网格,基于每个点所属网格的网格编码,确定网格编码与目标网格的网格编码相同的目标点;利用多个激光点云索引文件获取目标点的数据,得到目标网格对应的点集。
在一些实施例中,确定单元62针对目标网格,基于每个点所属网格的网格编码,确定网格编码与目标网格的网格编码相同的目标点;利用多个激光点云索引文件获取目标点的数据,得到目标网格对应的点集,包括:
基于每个点所属网格的网格编码,确定每个激光点云索引文件对应的至少一个网格编码,得到网格与激光点云索引文件之间的对应关系;
针对目标网格,基于对应关系确定目标网格对应的至少一个目标激光点云索引文件;确定至少一个目标激光点云索引文件索引的每个点所属网格的网格编码,并确定网格编码与目标网格的网格编码相同的目标点;利用至少一个目标激光点云索引文件获取目标点的数据,得到目标网格对应的点集。
在一些实施例中,抽样单元63基于预设的点数量阈值,对每个网格对应的点集进行多层级抽样,得到以每个网格为根节点的多层级网格,包括:
针对目标网格,从目标网格对应的原始点集中抽取点数量阈值的点构成目标网格包括的目标点集;对原始点集中剩余点进行抽样,抽取点数量阈值的点构成目标网格的下一级网格包括的目标点集;直至原始点集中剩余点的数量小于或等于点数量阈值后停止抽样,并将原始点集中剩余点构成最底层级网格包括的目标点集,得到以目标网格为根节点的多层级网格。
在一些实施例中,抽样单元63基于预设的点数量阈值,对每个网格对应的点集进行多层级抽样,得到以每个网格为根节点的多层级网格之后,还用于:
确定多层级网格中每一层级网格的网格编码;
其中,网格编码包括父编码和子编码;多层级网格中作为根节点的每个网格的父编码的值不同、父编码的位数相同且子编码为预设值;同一根节点下的低层级网格的父编码均相同且子编码的位数基于网格所处的层级确定。
在一些实施例中,用于高精地图的激光点云数据处理装置还包括扩展单元,用于:
响应于目标点的增加或删除操作,获取目标点的属性信息;在目标点所属网格对应层级的存储空间中,对目标点的属性信息进行增加或删除操作。
在一些实施例中,用于高精地图的激光点云数据处理装置还包括查询单元,用于:
响应于以网格编码为查询条件的激光点云查询操作,在存储的属性信息中查询网格编码对应的激光点云数据;
和/或,响应于以网格编码和属性项为查询条件的激光点云查询操作,在存储的属性信息中查询所述网格编码对应的激光点云数据中所述属性项的信息。
以上公开的用于高精地图的激光点云数据处理装置各实施例的细节可参考前述的用于高精地图的激光点云数据处理方法各实施例的细节,为避免重复不再赘述。
图7是本公开实施例提供的一种计算机设备的示例性框图。如图7所示,该计算机设备包括:至少一个计算装置71、至少一个存储指令的存储装置72。可以理解,本实施例中的存储装置72可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
在一些实施方式中,存储装置72存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序。
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础任务以及处理基于硬件的任务。应用程序,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用任务。实现本公开实施例提供的用于高精地图的激光点云数据处理方法的程序可以包含在应用程序中。
在本公开实施例中,至少一个计算装置71通过调用至少一个存储装置72存储的程序或指令,具体的,可以是应用程序中存储的程序或指令,至少一个计算装置71用于执行本公开实施例提供的用于高精地图的激光点云数据处理方法各实施例的步骤。
本公开实施例提供的用于高精地图的激光点云数据处理方法可以应用于计算装置71中,或者由计算装置71实现。计算装置71可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过计算装置71中的硬件的集成逻辑电路或者软件形式的指令完成。上述的计算装置71可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本公开实施例提供的用于高精地图的激光点云数据处理方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储装置72,计算装置71读取存储装置72中的信息,结合其硬件完成方法的步骤。
本公开实施例还提出一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如用于高精地图的激光点云数据处理方法各实施例的步骤,为避免重复描述,在此不再赘述。其中,计算机可读存储介质可以为非暂态计算机可读存储介质。
本公开实施例还提出一种计算机程序产品,其中,该计算机程序产品包括计算机程序,该计算机程序存储在非暂态计算机可读存储介质中,计算机的至少一个处理器从存储介质读取并执行该计算机程序,使得计算机执行如用于高精地图的激光点云数据处理方法各实施例的步骤,为避免重复描述,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。
本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
虽然结合附图描述了本公开的实施方式,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (8)

1.一种用于高精地图的激光点云数据处理方法,所述方法包括:
获取目标区域的多个激光点云索引文件,所述激光点云索引文件为点云采集作业过程中对应生成的文件,且所述激光点云索引文件中包括所述目标区域的部分激光点云数据的存储位置且不包括激光点云数据本身;
将所述目标区域划分为多个网格,并基于每个所述网格在所述目标区域中的空间位置和空间范围,确定所述多个激光点云索引文件索引的每个点所属网格的网格编码;基于所述每个点所属网格的网格编码,确定每个所述激光点云索引文件对应的至少一个网格编码,得到网格与激光点云索引文件之间的对应关系;针对目标网格,基于所述对应关系确定所述目标网格对应的至少一个目标激光点云索引文件;确定所述至少一个目标激光点云索引文件索引的每个点所属网格的网格编码,并确定网格编码与所述目标网格的网格编码相同的目标点;利用所述至少一个目标激光点云索引文件获取所述目标点的数据,得到所述目标网格对应的点集;
基于预设的点数量阈值,对每个所述网格对应的点集进行多层级抽样,得到以每个所述网格为根节点的多层级网格,所述多层级网格中非最底层级网格包括的点数量为所述点数量阈值,且最底层级网格包括的点数量小于或等于所述点数量阈值;
存储每一层级网格包括的点集的属性信息,所述属性信息包括:每个点的空间位置信息和每个点所属网格的网格编码。
2.根据权利要求1所述用于高精地图的激光点云数据处理方法,其中,所述基于预设的点数量阈值,对每个所述网格对应的点集进行多层级抽样,得到以每个所述网格为根节点的多层级网格,包括:
针对目标网格,从所述目标网格对应的原始点集中抽取所述点数量阈值的点构成所述目标网格包括的目标点集;对所述原始点集中剩余点进行抽样,抽取所述点数量阈值的点构成所述目标网格的下一级网格包括的目标点集;直至所述原始点集中剩余点的数量小于或等于所述点数量阈值后停止抽样,并将所述原始点集中剩余点构成最底层级网格包括的目标点集,得到以所述目标网格为根节点的多层级网格。
3.根据权利要求2所述用于高精地图的激光点云数据处理方法,其中,所述基于预设的点数量阈值,对每个所述网格对应的点集进行多层级抽样,得到以每个所述网格为根节点的多层级网格之后,所述方法还包括:
确定所述多层级网格中每一层级网格的网格编码;
其中,所述网格编码包括父编码和子编码;所述多层级网格中作为根节点的每个网格的父编码的值不同、父编码的位数相同且子编码为预设值;同一根节点下的低层级网格的父编码均相同且子编码的位数基于网格所处的层级确定。
4.根据权利要求1所述用于高精地图的激光点云数据处理方法,其中,所述方法还包括:
响应于目标点的增加或删除操作,获取所述目标点的属性信息;在所述目标点所属网格对应层级的存储空间中,对所述目标点的属性信息进行增加或删除操作。
5.根据权利要求1所述用于高精地图的激光点云数据处理方法,其中,所述方法还包括:
响应于以网格编码为查询条件的激光点云查询操作,在存储的属性信息中查询所述网格编码对应的激光点云数据;
和/或,响应于以网格编码和属性项为查询条件的激光点云查询操作,在存储的属性信息中查询所述网格编码对应的激光点云数据中所述属性项的信息。
6.一种用于高精地图的激光点云数据处理装置,所述装置包括:
获取单元,用于获取目标区域的多个激光点云索引文件,所述激光点云索引文件为点云采集作业过程中对应生成的文件,且所述激光点云索引文件中包括所述目标区域的部分激光点云数据的存储位置且不包括激光点云数据本身;
确定单元,用于将所述目标区域划分为多个网格,并基于每个所述网格在所述目标区域中的空间位置和空间范围,确定所述多个激光点云索引文件索引的每个点所属网格的网格编码;基于所述每个点所属网格的网格编码,确定每个所述激光点云索引文件对应的至少一个网格编码,得到网格与激光点云索引文件之间的对应关系;针对目标网格,基于所述对应关系确定所述目标网格对应的至少一个目标激光点云索引文件;确定所述至少一个目标激光点云索引文件索引的每个点所属网格的网格编码,并确定网格编码与所述目标网格的网格编码相同的目标点;利用所述至少一个目标激光点云索引文件获取所述目标点的数据,得到所述目标网格对应的点集;
抽样单元,用于基于预设的点数量阈值,对每个所述网格对应的点集进行多层级抽样,得到以每个所述网格为根节点的多层级网格,所述多层级网格中非最底层级网格包括的点数量为所述点数量阈值,且最底层级网格包括的点数量小于或等于所述点数量阈值;
存储单元,用于存储每一层级网格包括的点集的属性信息,所述属性信息包括:每个点的空间位置信息和每个点所属网格的网格编码。
7.一种计算机可读存储介质,其中,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至5任一项所述用于高精地图的激光点云数据处理方法的步骤。
8.一种计算机设备,其中,包括至少一个计算装置和至少一个存储指令的存储装置;所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至5任一项所述用于高精地图的激光点云数据处理方法的步骤。
CN202210848462.3A 2022-07-19 2022-07-19 用于高精地图的激光点云数据处理方法、装置及设备 Active CN115080680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210848462.3A CN115080680B (zh) 2022-07-19 2022-07-19 用于高精地图的激光点云数据处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210848462.3A CN115080680B (zh) 2022-07-19 2022-07-19 用于高精地图的激光点云数据处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN115080680A CN115080680A (zh) 2022-09-20
CN115080680B true CN115080680B (zh) 2022-11-25

Family

ID=83260392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210848462.3A Active CN115080680B (zh) 2022-07-19 2022-07-19 用于高精地图的激光点云数据处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN115080680B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111862292A (zh) * 2020-07-29 2020-10-30 中国南方电网有限责任公司 输电线路走廊的数据渲染方法、装置和计算机设备
CN113760917A (zh) * 2021-09-09 2021-12-07 武汉大学 一种矢量瓦片存储构建方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921947B (zh) * 2018-07-23 2022-06-21 百度在线网络技术(北京)有限公司 生成电子地图的方法、装置、设备、存储介质以及采集实体
CN113496543A (zh) * 2020-04-02 2021-10-12 北京京东叁佰陆拾度电子商务有限公司 一种点云数据筛选方法、装置、电子设备和存储介质
CN113934686A (zh) * 2021-03-22 2022-01-14 湖北工业大学 面向海量机载激光点云的分布式多级空间索引方法
CN114185933A (zh) * 2021-12-14 2022-03-15 北京博超时代软件有限公司 一种激光点云数据的空间存储与检索方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111862292A (zh) * 2020-07-29 2020-10-30 中国南方电网有限责任公司 输电线路走廊的数据渲染方法、装置和计算机设备
CN113760917A (zh) * 2021-09-09 2021-12-07 武汉大学 一种矢量瓦片存储构建方法及系统

Also Published As

Publication number Publication date
CN115080680A (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
US9965821B2 (en) Fully parallel in-place construction of 3D acceleration structures in a graphics processing unit
CN111444196B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
US10818083B1 (en) Pyramid generation via depth-first walk
US10235401B2 (en) Method and system for handling binary large objects
CN106503260B (zh) 一种提高数据库的有效存储空间的方法和装置
CN115562587A (zh) 应用于存储介质的数据存储方法、装置、设备及存储介质
CN111984651A (zh) 一种基于持久性内存的列式存储方法、装置及设备
CN109634960B (zh) 键值数据存储方法、装置、设备以及存储介质
CN107894875B (zh) 一种rtu数据存储方法
CN115080680B (zh) 用于高精地图的激光点云数据处理方法、装置及设备
KR102354343B1 (ko) 블록체인 기반의 지리공간 데이터를 위한 공간 데이터 인덱싱 방법 및 장치
CN110928910B (zh) 高速读写Shapfile中的矢量要素的方法和装置
CN112328630A (zh) 数据查询方法、装置、设备及存储介质
US6933940B2 (en) Incremental resolution changes in multi-resolution meshes with update records
CN112487039A (zh) 一种数据处理方法、装置、设备及可读存储介质
CN114625816A (zh) 地图瓦片处理方法、装置、电子设备及计算机存储介质
CN115688494B (zh) 数据处理方法、装置、电子设备及计算机可读取存储介质
US7996366B1 (en) Method and system for identifying stale directories
CN117807154B (zh) 一种用于展示系统的时序数据可视化方法、设备和介质
CN104809217B (zh) 一种gis栅格数据云存储方法
EP4345644A1 (en) Processing spatially referenced data
CN114491307B (zh) 一种设备聚合方法及装置
CN115587140B (zh) 基于大数据的电子工程项目数据可视化管理方法及装置
US20210326302A1 (en) Determining shared blocks among snapshots in a storage system
US10762263B1 (en) Searching for values of a bus in digital waveform data

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