CN113190515A - 基于异构并行计算的城市级海量点云坐标转换方法 - Google Patents

基于异构并行计算的城市级海量点云坐标转换方法 Download PDF

Info

Publication number
CN113190515A
CN113190515A CN202110530019.7A CN202110530019A CN113190515A CN 113190515 A CN113190515 A CN 113190515A CN 202110530019 A CN202110530019 A CN 202110530019A CN 113190515 A CN113190515 A CN 113190515A
Authority
CN
China
Prior art keywords
point cloud
converted
memory
gpu
file
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
Application number
CN202110530019.7A
Other languages
English (en)
Other versions
CN113190515B (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.)
Chongqing Institute Of Surveying And Mapping Science And Technology Chongqing Map Compilation Center
Original Assignee
Chongqing Survey Institute
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 Chongqing Survey Institute filed Critical Chongqing Survey Institute
Priority to CN202110530019.7A priority Critical patent/CN113190515B/zh
Publication of CN113190515A publication Critical patent/CN113190515A/zh
Application granted granted Critical
Publication of CN113190515B publication Critical patent/CN113190515B/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/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)

Abstract

本发明提供一种基于异构并行计算的城市级海量点云坐标转换方法,包括以下步骤:S1.扫描待转换点云文件加入待转换列表;S2.读取待转换点云文件到计算机主机内存中;S3.根据点云坐标系和最小外接矩形自适应选择平面、高程转换参数模型,将点云划分为多个第一点云子集;S4.根据点云数据量大小、计算环境能力将第一点云子集分解为多个第二点云子集并依次加载到GPU全局内存中;S5.调用CUDA核函数对加载到GPU全局内存中的第二点云子集进行平面、高程转换处理并回传到计算机主机内存环境;S6.将点云进行合并后从内存写入磁盘文件。本发明可以解决对城市级海量点云坐标进行转换时,转换运算速度慢、效率较低、耗时长、容易造成卡顿,不能批量自动化处理的技术问题。

Description

基于异构并行计算的城市级海量点云坐标转换方法
技术领域
本发明涉及点云数据处理技术领域,具体涉及一种基于异构并行计算的城市级海量点云坐标转换方法。
背景技术
三维激光扫描技术利用激光测距的方法,对被测物体高速、高密度地发射激光,通过反射回来的回波信号快速获取目标空间实体表面的三维坐标、从而可以快速且直接地采集各种大型的、繁杂的、形态规则或不规则的空间实体的三维信息。近年来,车载和机载激光雷达平台的广泛使用,使得精确、快速地采集城市级大范围点云成为现实。车载移动三维激光扫描一天可以采集100千米的道路点云数据,无人机机载雷达飞行一个架次就可以采集0.5平方千米的地形点云数据,点云密度可以达到100-2000点/平方米。采集效率的提高,使得生产的点云数据量急剧增长,达到数百GB甚至TB级。
目前,移动三维激光扫描系统通过三维激光扫描设备获取获得空间实体的高精度测距信息后,计算出每个地面目标在世界坐标系中的坐标时,一般选用WGS84或者CGCS2000坐标系,高程为椭球高。在城市测量中为了控制投影变形,一般采用的是投影变形较小的当地独立坐标系,高程系统一般采用1985年国家高程基准或者1956年黄海高程系,因此需要将点云的坐标系转换到当地独立坐标系下,高程转换到1985年国家高程基准或者1956年黄海高程系。面对城市级海量的点云数据,若要对其进行坐标转换,快速、高效地进行读取是关键的步骤,同时为了满足工程需求,需要对城市级海量点云数据作坐标转换,如何提高转换效率是亟待解决的问题。
现有的点云数据读取方法一般是采用传统的I/O文件串行读取方式,即通过文件流的方式,逐行读取的方式遍历整个文本文件,将每一点的信息读取到内存中。点云的坐标转换则是通过利用测量同名点计算七参数或者四参数,得到旋转平移缩放矩阵,然后进行矩阵运算遍历所有点,将其转换到新的坐标系内,高程转换一般采用局部高程拟合的方式。但对于数十亿甚至数千亿的城市级海量点云数据来说,采用传统方法运算速度慢,效率较低,耗时长,容易造成卡顿,而且对于城市级海量点云数目前还未有批量自动化处理解决方案。
发明内容
针对现有技术存在的不足,本发明提出一种基于异构并行计算的城市级海量点云坐标转换方法,以解决现有技术中存在的对城市级海量点云坐标进行转换时,转换运算速度慢、效率较低、耗时长、容易造成卡顿,不能批量自动化处理的技术问题。
本发明采用的技术方案如下:
第一方面,提供了一种基于异构并行计算的城市级海量点云坐标转换方法,在第一种可实现方式中,包括以下步骤:
S1.扫描待转换点云文件,将待转换点云文件的路径信息加入待转换列表;
S2.采用内存映射和多进程方式,读取待转换列表中的待转换点云文件到计算机主机内存中;
S3.根据点云坐标系和最小外接矩形自适应选择平面、高程转换参数模型,并根据平面转换参数的范围将点云划分为多个第一点云子集;
S4.根据点云的数据量大小、计算环境能力将第一点云子集分解为多个第二点云子集,再将多个第二点云子集依次加载到GPU全局内存中;
S5.调用CUDA的核函数对加载到GPU全局内存中的第二点云子集进行平面、高程转换处理,处理完成后将数据回传到计算机主机内存环境;
S6.在计算机主机内存环境中将转换完成后的点云进行合并,然后将合并后的点云从内存写入磁盘文件;
S7.重复步骤S2-S6,直至处理完待转换列表中所有待转换点云文件。
结合第一种可实现方式,在第二种可实现方式中,在步骤S1之前还包括根据系统硬件信息对计算环境参数进行配置;
系统硬件信息包含:物理CPU数、CPU核心数、CPU逻辑核数、计算机主机内存大小、硬盘基本信息、硬盘剩余空间大小、能够使用GPU设备的数量、GPU流式多处理器的数量、GPU内存大小、GPU的CUDA核数、每个线程块的最大线程数;
对计算环境参数进行配置,具体如下:对于能处理的单个点云文件的大小,最大设置为计算机主机内存的一半;
为待转换的点云文件分配合适的存储空间,大小与待转换文件一致;
检查存储点云文件的硬盘是否为高速存储设备:如果不是高速存储设备,禁止多进程读取点云文件,是如果高速存储设备,开启内存映射和多进程读取功能,进程数设置为CPU核心数;
根据GPU的数量选择是否开启多GPU数据处理方式,根据GPU的内存大小设置每次从CPU中读入到GPU的数据量大小,不超过GPU内存空间的一半。
结合第一种可实现方式,在第三种可实现方式中,步骤S2中,读取待转换列表中的待转换点云文件时,根据点云格式获取到每个点云数据记录的长度,用计算机主机内存容量的一半除以每个点云数据记录的长度得出每次进行处理的点云数量;
若可以处理的点云数量小于点云文件总点云数,进行分段处理,记录每段点云的起始位置使每段点云的数量小于可以处理的点云数量;
若可以处理的点云数量大于或等于点云文件总点云数据,一次性读取所有的点云。
结合第三种可实现方式,在第四种可实现方式中,读取待转换列表中的待转换点云文件时,如果计算环境中开启了多进程读取的功能,将待读取的点云文件按照每一千万点进行分段,计算每段点云数据的开始和结束位置,然后根据分段数量及CPU内核数启动多进程进行并行读取,使同时启动的进程数量不大于CPU内核数;
各子进程读取完成后将数据回传到主进程中进行合并,直到所有的分段点云数据被读取并且合并,将读取的点云数据采用数组形式进行保存。由上述技术方案可知,本发明的有益技术效果如下:点云数据读取采用了内存映射、多线程并行及延迟加载处理技术,相比于传统的串行I/O方法,使用内存映射方法处理文件时将不必再为文件申请并分配缓存,取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,同时将点云数据文件进行分块并行读取,可以较大提高点云数据读取效率,延迟加载处理技术可以满足超大点云数据处理问题,避免了因计算机主机内存不足无法处理点云文件的问题。
结合第一种可实现方式,在第五种可实现方式中,步骤S3中,根据点云坐标系和最小外接矩形自适应选择平面、高程转换参数模型时,点云坐标系为WGS84坐标系的UTM投影,或CGCS2000坐标系的高斯投影。
结合第五种可实现方式,在第六种可实现方式中,步骤S3中,自适应选择平面、高程转换参数模型具体如下:
将待转换的点云坐标经过投影反算为大地经纬度坐标,根据转换参数矩形区域的划分将待转换的点云坐标划分为多个第一点云子集,多个第一点云子集各自适应选择并记录相应的平面、高程转换参数模型信息。由上述技术方案可知,本发明的有益技术效果如下:通过加载点云后的空间分布以及事先集成的平面转换模型的范围,能够自适应将点云划分为相应的子集进行转换处理,无需针对每一个项目采集的点云单独计算转换参数后再进行转换,在城市级范围内能够做到点云大数据自动转换批处理。
结合第一种可实现方式,在第七种可实现方式中,步骤S4中,将多个第二点云子集依次加载到GPU全局内存时,同时加载到GPU全局内中的还包括待转的点云坐标系统椭球的参数、独立坐标系统椭球的参数、七参数转换模型、似大地水准面模型。
结合第七种可实现方式,在第八种可实现方式中,步骤S4中,一次加载到GPU全局内存的点云的数据大小不超过GPU内存的一半;若待转换的第一点云子集中的数据量大于可以一次性加载到GPU全局内存的点云的数据量,则需要对该第一点云子集进行再次划分。
结合第一种可实现方式,在第九种可实现方式中,步骤S5中,调用CUDA的核函数对加载到GPU全局内存中的点云进行平面、高程转换处理,具体如下:
将点云大地坐标B、L、H转换成空间直角坐标;
采用布尔莎七参数转换模型,经过椭球基准转换将点云空间直角坐标转换到独立坐标系椭球下的空间直角坐标;
将已转换的独立坐标系椭球下的空间直角坐标转换到大地坐标系B独立、L独立;
将大地坐标B独立、L独立进行高斯投影得到平面坐标x、y;
根据平面坐标x、y检索似大地水准面模型,找到所在格网四个角点以及高程异常值,采用双线性内插法求得点所在位置的高程异常,椭球高加上高程异常得到正常高。
由上述技术方案可知,本发明的有益技术效果如下:在坐标转换方面,采用了CPU+GPU异构协同并行加速技术,充分利用GPU多核并行计算的高并发优点,将整个点云数据坐标转换过程变成高并发的多线程高效运算程序,一次性完成点云的平面和高程转换,相比于现有的基于CPU串行运算转换完平面后再转换高程的方法,能够较大地提高点云大数据坐标转换的效率。
可以批量自动化处理城市级海量点云的坐标和高程转换,由于采用了内存映射和多进程读取可以大大提高大文件的IO读取效率,采用基于CPU+GPU的异构计算架构对点云进行坐标、高程转换相对于传统基于单核CPU顺序计算加速幅度在20倍以上,通过自适应选择转换参数无需对每个点云文件单独计算转换参数,能够适用于城市级海量点云的一次性进行平面和高程的自动化转换。
第二方面,提供了一种电子设备,包括:
一个或多个处理器;存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现第一方面提供的基于异构并行计算的城市级海量点云坐标转换方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明实施例1的方法流程图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
实施例1
本实施例提供了一种基于异构并行计算的城市级海量点云坐标转换方法,如图1所示,具体包括以下步骤:
1、根据系统硬件信息对计算环境参数进行配置
(1)检查系统硬件信息
系统硬件信息包含:物理CPU数、CPU核心数、CPU逻辑核数、计算机主机内存大小、硬盘基本信息、硬盘剩余空间大小、能够使用GPU设备的数量、GPU流式多处理器的数量、GPU内存大小、GPU的CUDA核数、每个线程块的最大线程数;CPU表示中央处理器,GPU表示图形处理器,CUDA表示并行计算架构。
(2)对计算环境参数进行配置;
在具体的实施方式中,对计算环境参数作如下配置:
对于能处理的单个点云文件的大小,最大设置为计算机主机内存的一半;
为待转换的点云文件分配合适的存储空间,大小与待转换文件一致;
检查存储点云文件的硬盘是否为高速存储设备:如果不是高速存储设备,禁止多进程读取点云文件,是如果高速存储设备,开启内存映射和多进程读取功能,进程数设置为CPU核心数;
根据GPU的数量选择是否开启多GPU数据处理方式,默认为1个GPU进行处理,根据GPU的内存大小设置每次从CPU中读入到GPU的数据量大小,不超过GPU内存空间的一半。
2、扫描待转换点云文件,将点云文件路径信息加入待转换列表
在具体的实施方式中,点云文件的格式为las,待转换列表为点云文件路径表。
3、采用内存映射和多进程方式,读取待转换列表中的点云文件到计算机主机内存中
对待转换列表中的点云文件依次进行处理。选取一个点云文件,为该点云文件建立内存映射。内存映射文件就是将文件中的数据直接映射到进程逻辑地址空间中,获取映射后的内存指针后,对文件进行操作,使处理程序可以通过内存指针对磁盘上的文件进行访问。使用内存映射文件处理存储于磁盘上的文件时,不必再对文件执行I/O操作,不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,适用于多进程处理大数据量的文件。
读取点云文件头信息,获取点数据记录数,点云数据格式ID,点云数据开始的位置,X,Y,Z比例因子,X,Y,Z偏移量,坐标系信息。根据点云格式获取到每个点云数据记录的长度,用计算机主机内存容量的一半除以每个点云数据记录的长度得出每次进行处理的点云数量,若可以处理的点云数量小于点云文件总点云数,进行分段处理,记录每段点云的起始位置使每段点云的数量小于可以处理的点云数量;若可以处理的点云数量大于或等于点云文件总点云数据,一次性读取所有的点云。
在具体的实施方式中,如果计算环境中开启了多进程读取的功能,将待读取的点云文件按照每一千万点进行分段,计算每段点云数据的开始和结束位置,然后根据分段数量及CPU内核数启动多进程进行并行读取,同时启动的进程数量不大于CPU内核数,各子进程读取完成后将数据回传到主进程中进行合并,直到所有的分段点云数据被读取并合并,将读取的点云数据采用数组形式进行保存,根据X,Y,Z比例因子,X,Y,Z偏移量将点云坐标转换到点云指定的投影坐标系,其中Xcoordinate、Ycoordinate、zcoordinate为点云指定的投影坐标系中的坐标,Xrecord、Yrecord、zrecord为点云文件中记录的点云坐标,存储为长整型,Xscale、Yscale、zscale为点云的X,Y,Z比例因子,Xoffset、Yoffset、zoffset为点云的X,Y,Z偏移量。
Xcoordinate=Xrecord*Xscale+Xoffset
Ycoordinate=Yrecord*Yscale+Yoffset
zcoordinate=zrecord*zscale+zoffset
如果计算环境中没有开启多进程读取的功能,则按单进程方式顺序读取点云文件。
点云数据读取采用了内存映射、多线程并行及延迟加载处理技术,相比于传统的串行I/O方法,使用内存映射方法处理文件时将不必再为文件申请并分配缓存,取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,同时将点云数据文件进行分块并行读取,可以较大提高点云数据读取效率,延迟加载处理技术可以满足超大点云数据处理问题,避免了因计算机主机内存不足无法处理点云文件的问题。
4、根据点云坐标系和最小外接矩形自适应选择平面、高程转换参数模型并根据平面转换参数的范围将点云划分为多个第一点云子集
点云文件坐标系一般为WGS84坐标系的UTM投影或者CGCS2000坐标系的高斯投影,根据点云文件记录的坐标系信息进行判断,若点云文件未记录坐标系信息则需要人工指定或输入。
在具体的实施方式中,首先建立好WGS84或CGCS2000坐标系与地方坐标系的转换参数模型,以及高程转换的似大地水准面精化模型。一般中、小型城市平面坐标转换只需一套七参数转换模型就能满足转换要求,对于一些大型城市为兼容以前测量精度不是很高的老控制点,导致一套七参数不能满足整个城市坐标转换精度,需要分区进行计算参数,分区时按照矩形区域进行划分,记录矩形区域的经纬度信息;优选的,每个区域内的控制重合点不少于6个,转后点位坐标中误差小于3cm。
将待转换的点云坐标经过投影反算为大地经纬度坐标;根据平面转换参数矩形区域的划分将待转换的点云坐标划分为第一点云子集。
通过加载点云后的空间分布以及事先集成的平面、高程转换模型的空间范围,能够自适应将点云划分为相应的点云子集进行转换处理,无需针对每一个项目采集的点云单独计算转换参数后再进行转换,在城市级范围内能够做到点云大数据自动转换批处理。
5、根据点云的数据量大小、计算环境能力将第一点云子集分解为多个第二点云子集,将多个第二点云子集依次加载到GPU全局内存中
在具体的实施方式中,第一点云子集具有同一平面、高程转换参数。一次加载到GPU全局内存的点云的数据大小不超过GPU内存的一半。待转换的点坐标由大地经度B、纬度L、大地高H组成,均为双精度浮点数,因此一个点坐标所占空间为24字节,用GPU内存空间一半容量除以24字节可以得到一次性加载到GPU全局内存的点云数据量,一般设置为略小于该值。若待转换的第一点云子集中的数据量大于可以一次性加载到GPU全局内存的点云的数据量,则需要对该第一点云子集进行再次划分为第二点云子集,确保分配给GPU设备的每个数据集所需的内存空间不超过GPU设备的内存容量的一半。
将划分好的第二点云子集依次加载到GPU全局内存中,如果有系统中有多个GPU可用,则将第二点云子集均衡分配到各个GPU,然后依次将第二点云子加载到GPU中,即处理完一批再加载下一批点云。同时加载到GPU全局内中的还有待转的点云坐标系统椭球的常用参数、独立坐标系统椭球的常用参数、七参数转换模型、似大地水准面模型。对于坐标转换中需要计算的待转换坐标系、独立坐标系各种椭球和投影的参数,只要是固定不变的参数均应在CPU主机环境中一次性计算完成后再加载GPU全局内存中,避免在GPU中多次重复计算该参数。
6、调用CUDA的核函数对加载到GPU的第二点云子集进行平面、高程转换处理,处理完成后将数据回传到计算机主机内存环境
把第二点云子集、点云坐标系统椭球的常用参数、独立坐标系统椭球的常用参数、七参数转换模型、似大地水准面模型加载到GPU的全局内存中之后,将调用CUDA的核函数对点云进行坐标转换进行处理,核函数中封装了具体的平面、高程转换操作。GPU启动多个并行化的轻量级线程,一个线程负责转换一个点云,所启动的所有线程称为一个网格(grid),同一个网格上的线程共享相同的全局内存空间,grid是线程结构的第一层次,而网格又可以分为很多线程块(block),一个线程块里面包含很多线程,这是第二个层次,需要指定网格中线程块的数量以及线程块中线程的数量。在具体的实施方式中,线程块中的线程数不能超过GPU每个线程块的最大线程数,而且应是32的倍数,目前硬件的线程最大数一般为1024,为防止内存溢出,优选将线程数设置为768。网格中线程块的数量个数可以由点云子集的点数量除以线程块设置的最大线程数768,并向上取整。当线程数与计算次数不一致时,使用判断语句以保证某个线程的计算不会影响其他线程的数据。
CUDA提供了一系列内置变量,以记录thread和block的大小及索引下标,每个线程(thread)对应的在一个格网(grid)中的编号为线程块中线程编号(thread Id)+线程块号(block Id)×线程块大小(block Dim),通过线程的全局编号可以与点云子集中每个点的顺序号一一对应起来。GPU全局内存中的所有点都转换完成之后,将其回传至计算机主机内存,同时将GPU内存进行释放。
在坐标转换核函数中,按照以下步骤对点云进行坐标、高程转换处理:
(1)将点云大地坐标B、L、H转换成空间直角坐标;
(2)采用布尔莎七参数转换模型,经过椭球基准转换,将点云空间直角坐标转换到独立坐标系椭球下的空间直角坐标;
(3)将已转换的独立坐标系椭球下的空间直角坐标转换到大地坐标系B独立、L独立;
(4)将大地坐标B独立、L独立进行高斯投影得到平面坐标x、y,完成平面坐标转换;
(5)根据平面坐标x、y检索似大地水准面模型,找到所在格网四个角点以及高程异常值,采用双线性内插法求得点所在位置的高程异常,椭球高加上高程异常得到正常高,完成高程转换。
7、在计算机主机内存环境中将转换完成后的点云进行合并,然后将合并后的点云从内存写入磁盘文件
将计算机主机内存中所有已转换的点云坐标进行合并,然后将原点云文件中的x,y,z信息替换为已转换的坐标,然后将点云文件从内存写入磁盘。如果las格式的点云文件大小大于计算机主机内存的一半,则转换完成一批就写入文件,记录点云的位置信息,后续处理完成之后追加进行写入。
在坐标转换方面,采用了CPU+GPU异构协同并行加速技术,充分利用GPU多核并行计算的高并发优点,将整个点云数据坐标转换过程变成高并发的多线程高效运算程序,一次性完成点云的平面和高程转换,相比于现有的基于CPU串行运算转换完平面后再转换高程的方法,能够较大地提高点云大数据坐标转换的效率。
8、重复2-7步,直至处理完待转换列表中所有待转换的点云文件。
采用本实施例的技术方案,可快速地读取数十亿甚至数百亿的点云数据量,高效率完成大范围的海量点云数据的平面和高程转换。比如:在Intel(R)Core(TM)i7-10875HCPU@2.30GHz,动态加速频率:5.1GHz,核心/线程:八核心/十六线程,32GB计算机主机内存,硬盘西部数据WD Blue SN550NVMe SSD 1TB,最高顺序读取速度2400MB/s,显卡NVIDIAGeForce RTX2060,显存6GB,流式多处理器(Multiprocessors)30个,CUDA核心1920个,操作系统为Windows10 64位的实验平台上测试读取和转换20个las文件,共108GB,34.2亿个点,最大文件12.4GB,最小文件625MB,转换总耗时(包含文件读取和写入的时间)为7019s,转换效率为68.8秒/GB,而采用传统方法耗时146322s,采用本方法相对于传统方法加速比为20.8,加速比=传统方法耗时/本方法耗时,可以极大地提高点云大数据坐标转换的效率,从而便于后续点云进一步数据处理和加工。
实施例2
提供了一种电子设备,包括:
一个或多个处理器;存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现实施例1提供的基于异构并行计算的城市级海量点云坐标转换方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (10)

1.一种基于异构并行计算的城市级海量点云坐标转换方法,其特征在于,包括以下步骤:
S1.扫描待转换点云文件,将待转换点云文件的路径信息加入待转换列表;
S2.采用内存映射和多进程方式,读取待转换列表中的待转换点云文件到计算机主机内存中;
S3.根据点云坐标系和最小外接矩形自适应选择平面、高程转换参数模型,并根据平面转换参数的范围将点云划分为多个第一点云子集;
S4.根据点云的数据量大小、计算环境能力将第一点云子集分解为多个第二点云子集,再将多个第二点云子集依次加载到GPU全局内存中;
S5.调用CUDA的核函数对加载到GPU全局内存中的第二点云子集进行平面、高程转换处理,处理完成后将数据回传到计算机主机内存环境;
S6.在计算机主机内存环境中将转换完成后的点云进行合并,然后将合并后的点云从内存写入磁盘文件;
S7.重复步骤S2-S6,直至处理完待转换列表中所有待转换点云文件。
2.根据权利要求1所述的基于异构并行计算的城市级海量点云坐标转换方法,其特征在于,在步骤S1之前还包括根据系统硬件信息对计算环境参数进行配置;
所述系统硬件信息包含:物理CPU数、CPU核心数、CPU逻辑核数、计算机主机内存大小、硬盘基本信息、硬盘剩余空间大小、能够使用GPU设备的数量、GPU流式多处理器的数量、GPU内存大小、GPU的CUDA核数、每个线程块的最大线程数;
对计算环境参数进行配置,具体如下:对于能处理的单个点云文件的大小,最大设置为计算机主机内存的一半;
为待转换的点云文件分配合适的存储空间,大小与待转换文件一致;
检查存储点云文件的硬盘是否为高速存储设备:如果不是高速存储设备,禁止多进程读取点云文件,是如果高速存储设备,开启内存映射和多进程读取功能,进程数设置为CPU核心数;
根据GPU的数量选择是否开启多GPU数据处理方式,根据GPU的内存大小设置每次从CPU中读入到GPU的数据量大小,不超过GPU内存空间的一半。
3.根据权利要求1所述的基于异构并行计算的城市级海量点云坐标转换方法,其特征在于:步骤S2中,读取待转换列表中的待转换点云文件时,根据点云格式获取到每个点云数据记录的长度,用计算机主机内存容量的一半除以每个点云数据记录的长度得出每次进行处理的点云数量;
若可以处理的点云数量小于点云文件总点云数,进行分段处理,记录每段点云的起始位置使每段点云的数量小于可以处理的点云数量;
若可以处理的点云数量大于或等于点云文件总点云数据,一次性读取所有的点云。
4.根据权利要求3所述的基于异构并行计算的城市级海量点云坐标转换方法,其特征在于:读取待转换列表中的待转换点云文件时,如果计算环境中开启了多进程读取的功能,将待读取的点云文件按照每一千万点进行分段,计算每段点云数据的开始和结束位置,然后根据分段数量及CPU内核数启动多进程进行并行读取,使同时启动的进程数量不大于CPU内核数;
各子进程读取完成后将数据回传到主进程中进行合并,直到所有的分段点云数据被读取并且合并,将读取的点云数据采用数组形式进行保存。
5.根据权利要求1所述的基于异构并行计算的城市级海量点云坐标转换方法,其特征在于:步骤S3中,根据点云坐标系和最小外接矩形自适应选择平面、高程转换参数模型时,点云坐标系为WGS84坐标系的UTM投影,或CGCS2000坐标系的高斯投影。
6.根据权利要求5所述的基于异构并行计算的城市级海量点云坐标转换方法,其特征在于:步骤S3中,自适应选择平面、高程转换参数模型具体如下:
将待转换的点云坐标经过投影反算为大地经纬度坐标,根据转换参数矩形区域的划分将待转换的点云坐标划分为多个第一点云子集,多个第一点云子集各自适应选择并记录相应的平面、高程转换参数模型信息。
7.根据权利要求1所述的基于异构并行计算的城市级海量点云坐标转换方法,其特征在于:步骤S4中,将多个第二点云子集依次加载到GPU全局内存时,同时加载到GPU全局内中的还包括待转的点云坐标系统椭球的参数、独立坐标系统椭球的参数、七参数转换模型、似大地水准面模型。
8.根据权利要求7所述的基于异构并行计算的城市级海量点云坐标转换方法,其特征在于:步骤S4中,一次加载到GPU全局内存的点云的数据大小不超过GPU内存的一半;若待转换的第一点云子集中的数据量大于可以一次性加载到GPU全局内存的点云的数据量,则需要对该第一点云子集进行再次划分。
9.根据权利要求1所述的基于异构并行计算的城市级海量点云坐标转换方法,其特征在于:步骤S5中,调用CUDA的核函数对加载到GPU全局内存中的点云进行平面、高程转换处理,具体如下:
将点云大地坐标B、L、H转换成空间直角坐标;
采用布尔莎七参数转换模型,经过椭球基准转换将点云空间直角坐标转换到独立坐标系椭球下的空间直角坐标;
将已转换的独立坐标系椭球下的空间直角坐标转换到大地坐标系B独立、L独立;
将大地坐标B独立、L独立进行高斯投影得到平面坐标x、y;
根据平面坐标x、y检索似大地水准面模型,找到所在格网四个角点以及高程异常值,采用双线性内插法求得点所在位置的高程异常,椭球高加上高程异常得到正常高。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-9中任一所述的基于异构并行计算的城市级海量点云坐标转换方法。
CN202110530019.7A 2021-05-14 2021-05-14 基于异构并行计算的城市级海量点云坐标转换方法 Active CN113190515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110530019.7A CN113190515B (zh) 2021-05-14 2021-05-14 基于异构并行计算的城市级海量点云坐标转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110530019.7A CN113190515B (zh) 2021-05-14 2021-05-14 基于异构并行计算的城市级海量点云坐标转换方法

Publications (2)

Publication Number Publication Date
CN113190515A true CN113190515A (zh) 2021-07-30
CN113190515B CN113190515B (zh) 2022-11-29

Family

ID=76982057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110530019.7A Active CN113190515B (zh) 2021-05-14 2021-05-14 基于异构并行计算的城市级海量点云坐标转换方法

Country Status (1)

Country Link
CN (1) CN113190515B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113836095A (zh) * 2021-09-26 2021-12-24 广州极飞科技股份有限公司 一种点云数据存储方法、装置、存储介质及电子设备
CN113987587A (zh) * 2021-11-30 2022-01-28 重庆贝特计算机系统工程有限公司 一种便捷式数据分级分类的处理方法
CN114490693A (zh) * 2022-02-17 2022-05-13 平安普惠企业管理有限公司 数据修改方法、装置、电子设备及存储介质
CN114693505A (zh) * 2022-06-01 2022-07-01 中汽创智科技有限公司 一种点云数据的存储处理方法和装置
CN115496835A (zh) * 2022-09-20 2022-12-20 北京数字绿土科技股份有限公司 一种基于cpu和gpu异构并行架构的点云数据赋色方法和系统
CN116932673A (zh) * 2023-05-30 2023-10-24 昆明市测绘研究院 Lidar点云数据坐标转换方法

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615191A (zh) * 2009-07-28 2009-12-30 武汉大学 海量点云数据的存储与实时可视化方法
CN102419794A (zh) * 2011-10-31 2012-04-18 武汉大学 一种机载激光点云数据的快速滤波方法
US20120194516A1 (en) * 2011-01-31 2012-08-02 Microsoft Corporation Three-Dimensional Environment Reconstruction
CN103177417A (zh) * 2013-01-06 2013-06-26 中国人民解放军信息工程大学 基于GPGPU的数学形态学LiDAR点云快速滤波方法
CN104123119A (zh) * 2014-07-07 2014-10-29 北京信息科技大学 基于gpu的动态视觉测量特征点中心快速定位方法
CN104268096A (zh) * 2014-09-26 2015-01-07 西南科技大学 基于内存预分配和多点并写技术的大规模点云数据快速读取方法
CN105808672A (zh) * 2016-03-01 2016-07-27 重庆市勘测院 基于浏览器的海量三维点云数据的发布方法
US20160321838A1 (en) * 2015-04-29 2016-11-03 Stmicroelectronics S.R.L. System for processing a three-dimensional (3d) image and related methods using an icp algorithm
US20180035134A1 (en) * 2015-04-15 2018-02-01 Lytro, Inc. Encoding and decoding virtual reality video
CN108595373A (zh) * 2018-01-31 2018-09-28 中南林业科技大学 一种无控制dem配准方法
CN109871633A (zh) * 2019-03-01 2019-06-11 中国水利水电第七工程局有限公司 一种碾压混凝土压实质量实时可视化馈控方法
CN109884676A (zh) * 2019-01-03 2019-06-14 自然资源部第三大地测量队 一种基于cors系统的地方坐标实时定位服务方法
US10509947B1 (en) * 2017-04-11 2019-12-17 Zoox, Inc. Converting multi-dimensional data for image analysis
CN111338804A (zh) * 2020-05-19 2020-06-26 北京数字绿土科技有限公司 激光雷达点云数据的解算方法、装置及多线程处理系统
CN111433818A (zh) * 2018-12-04 2020-07-17 深圳市大疆创新科技有限公司 目标场景三维重建方法、系统及无人机
CN111611540A (zh) * 2020-04-08 2020-09-01 中国电建集团西北勘测设计研究院有限公司 一种基于千寻位置的像控点高程精密云计算的转换方法
CN111694012A (zh) * 2020-05-29 2020-09-22 北京航空航天大学合肥创新研究院 一种基于机载激光雷达的三维地形在线生成方法及系统
CN112508767A (zh) * 2020-12-14 2021-03-16 北京超星未来科技有限公司 一种基于gpu的gmm点云配准算法

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615191A (zh) * 2009-07-28 2009-12-30 武汉大学 海量点云数据的存储与实时可视化方法
US20120194516A1 (en) * 2011-01-31 2012-08-02 Microsoft Corporation Three-Dimensional Environment Reconstruction
CN102419794A (zh) * 2011-10-31 2012-04-18 武汉大学 一种机载激光点云数据的快速滤波方法
CN103177417A (zh) * 2013-01-06 2013-06-26 中国人民解放军信息工程大学 基于GPGPU的数学形态学LiDAR点云快速滤波方法
CN104123119A (zh) * 2014-07-07 2014-10-29 北京信息科技大学 基于gpu的动态视觉测量特征点中心快速定位方法
CN104268096A (zh) * 2014-09-26 2015-01-07 西南科技大学 基于内存预分配和多点并写技术的大规模点云数据快速读取方法
US20180035134A1 (en) * 2015-04-15 2018-02-01 Lytro, Inc. Encoding and decoding virtual reality video
US20160321838A1 (en) * 2015-04-29 2016-11-03 Stmicroelectronics S.R.L. System for processing a three-dimensional (3d) image and related methods using an icp algorithm
CN105808672A (zh) * 2016-03-01 2016-07-27 重庆市勘测院 基于浏览器的海量三维点云数据的发布方法
US10509947B1 (en) * 2017-04-11 2019-12-17 Zoox, Inc. Converting multi-dimensional data for image analysis
CN108595373A (zh) * 2018-01-31 2018-09-28 中南林业科技大学 一种无控制dem配准方法
CN111433818A (zh) * 2018-12-04 2020-07-17 深圳市大疆创新科技有限公司 目标场景三维重建方法、系统及无人机
CN109884676A (zh) * 2019-01-03 2019-06-14 自然资源部第三大地测量队 一种基于cors系统的地方坐标实时定位服务方法
CN109871633A (zh) * 2019-03-01 2019-06-11 中国水利水电第七工程局有限公司 一种碾压混凝土压实质量实时可视化馈控方法
CN111611540A (zh) * 2020-04-08 2020-09-01 中国电建集团西北勘测设计研究院有限公司 一种基于千寻位置的像控点高程精密云计算的转换方法
CN111338804A (zh) * 2020-05-19 2020-06-26 北京数字绿土科技有限公司 激光雷达点云数据的解算方法、装置及多线程处理系统
CN111694012A (zh) * 2020-05-29 2020-09-22 北京航空航天大学合肥创新研究院 一种基于机载激光雷达的三维地形在线生成方法及系统
CN112508767A (zh) * 2020-12-14 2021-03-16 北京超星未来科技有限公司 一种基于gpu的gmm点云配准算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄武陵: "基于ROS构建无人驾驶车辆环境感知系统", 《单片机与嵌入式系统应用》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113836095A (zh) * 2021-09-26 2021-12-24 广州极飞科技股份有限公司 一种点云数据存储方法、装置、存储介质及电子设备
CN113987587A (zh) * 2021-11-30 2022-01-28 重庆贝特计算机系统工程有限公司 一种便捷式数据分级分类的处理方法
CN113987587B (zh) * 2021-11-30 2022-10-28 重庆贝特计算机系统工程有限公司 一种便捷式数据分级分类的处理方法
CN114490693A (zh) * 2022-02-17 2022-05-13 平安普惠企业管理有限公司 数据修改方法、装置、电子设备及存储介质
CN114693505A (zh) * 2022-06-01 2022-07-01 中汽创智科技有限公司 一种点云数据的存储处理方法和装置
CN115496835A (zh) * 2022-09-20 2022-12-20 北京数字绿土科技股份有限公司 一种基于cpu和gpu异构并行架构的点云数据赋色方法和系统
CN115496835B (zh) * 2022-09-20 2023-10-20 北京数字绿土科技股份有限公司 一种基于cpu和gpu异构并行架构的点云数据赋色方法和系统
CN116932673A (zh) * 2023-05-30 2023-10-24 昆明市测绘研究院 Lidar点云数据坐标转换方法

Also Published As

Publication number Publication date
CN113190515B (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
CN113190515B (zh) 基于异构并行计算的城市级海量点云坐标转换方法
EP3757899A1 (en) Neural architecture for self supervised event learning and anomaly detection
CN102542035B (zh) 基于扫描线法的多边形栅格化并行转换方法
US11327900B2 (en) Securing memory accesses in a virtualized environment
US20090106530A1 (en) System, method, and computer program product for generating a ray tracing data structure utilizing a parallel processor architecture
US10810784B1 (en) Techniques for preloading textures in rendering graphics
KR20110015439A (ko) 로컬 및 글로벌 데이터 공유
CN108229740B (zh) 一种商圈边界的确定方法、装置、服务器及存储介质
Osterman et al. An IO-efficient parallel implementation of an R2 viewshed algorithm for large terrain maps on a CUDA GPU
US20200013174A1 (en) Method and apparatus for obtaining sampled positions of texturing operations
US20200210805A1 (en) Neural Network Generator
US7999808B1 (en) Parallel processing system, method, and computer program product for executing node traversal or primitive intersection
CN110135569A (zh) 一种异构平台神经元定位三级流水并行方法、系统及介质
US20240078255A1 (en) Method and apparatus for determining spatial two-tuple, computer device, and storage medium
Zhou et al. A streaming framework for seamless building reconstruction from large-scale aerial lidar data
US8072454B1 (en) Parallel processing system, method, and computer program product for selecting a ray tracing entity from a group of ray tracing entities for processing
US20240289132A1 (en) Programmatically controlled data multicasting across multiple compute engines
US11513686B2 (en) Techniques for dynamically compressing memory regions having a uniform value
CN109634960A (zh) 键值数据存储方法、装置、设备以及存储介质
CN117705119A (zh) 大场景3d地图动态加载的导航定位方法、设备及存储介质
Fan et al. Rasterization computing-based parallel vector polygon overlay analysis algorithms using OpenMP and MPI
CN103675763B (zh) 一种基于硬件加速的矢量化vts系统雷达视频绘制方法
Zhou et al. A Parallel Scheme for Large‐scale Polygon Rasterization on CUDA‐enabled GPUs
CN115756605A (zh) 一种基于多gpu的浅积云对流参数化方案异构计算方法
CN111790152B (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
TR01 Transfer of patent right

Effective date of registration: 20240318

Address after: No. 6 Qingzhu East Road, Dazhulin Street, Yubei District, Chongqing, 400000

Patentee after: Chongqing Institute of Surveying and Mapping Science and Technology (Chongqing Map Compilation Center)

Country or region after: China

Address before: 401121 No. 6, Qingzhu East Road, Yubei District, Chongqing

Patentee before: CHONGQING SURVEY INSTITUTE

Country or region before: China

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240320

Address after: No. 6 Qingzhu East Road, Dazhulin Street, Yubei District, Chongqing, 400000

Patentee after: Chongqing Institute of Surveying and Mapping Science and Technology (Chongqing Map Compilation Center)

Country or region after: China

Address before: 401121 No. 6, Qingzhu East Road, Yubei District, Chongqing

Patentee before: CHONGQING SURVEY INSTITUTE

Country or region before: China

TR01 Transfer of patent right