CN104318035B - 针对海量地形大数据点云的总分式三角网多线程并行生成方法 - Google Patents
针对海量地形大数据点云的总分式三角网多线程并行生成方法 Download PDFInfo
- Publication number
- CN104318035B CN104318035B CN201410624511.0A CN201410624511A CN104318035B CN 104318035 B CN104318035 B CN 104318035B CN 201410624511 A CN201410624511 A CN 201410624511A CN 104318035 B CN104318035 B CN 104318035B
- Authority
- CN
- China
- Prior art keywords
- grid
- point
- triangle
- structure mould
- points
- 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
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种针对海量地形大数据点云的总分式三角网多线程并行生成方法,该方法首先提出自适应网格空间分割,实现海量点云数据的规模均衡网格分布;通过建立网格内点数据空间的距中排序规则,合理部署网格内中央点的参与构TIN的先后顺序;按总分方式优先运用传统构TIN的查找插入法、拓扑插入算法首先实现网格间的点数据建模,避免分治建模算法复杂低效的网格间合并过程;建立网格的拓扑闭包检测机制,分别针对各个空间网格,适时启动独立并行的多线程对余下的构模点按传统的拓扑插入算法进行建模,从而并行高效地、由总到分地完成整个空间下的三角网建模工作。本发明显著提高了针对海量点云大数据的空间建模支持能力。
Description
技术领域
本发明涉及工程仿真技术领域,具体地指一种针对海量地形大数据点云的总分式三角网多线程并行生成方法。
背景技术
学术上认可的Delaunay三角网构模的主流方法包括逐点插入法、生长法及分治-综合法。其中分治-综合法要以前两者为基础方法展开,而在两种基础方法中最成熟通用的三角网构模方法为逐点插入法,但该方法只适用于小规模点数据建模。
介绍插入法构建三角网技术的中外专业文献非常多,其中《快速构建三角网数字地形模型方法的研究》(2001.12,蒲浩,中国铁道科学)不仅简要地介绍了此方法,并给出了插入点影响域的定义与确立方法,这一概念及方法在本发明中予以引用。
三角网构模算法最大的问题是计算的时间复杂性,由于每个三角网的形成都涉及所有待处理的点,且难于通过简单的分块或排序予以彻底解决。点越多,问题越突出,因此对海量空间点的建模一直是一个复杂的难题,此前最理想的解决方法就是采用分治-综合建模方法,涌现了许多学术成果如《快速构建Delaunay三角网算法研究》(2001.10,宋占锋,铁道学报),其基本思想仍然是空间分割+网格内插入法构建子三角网+网格综合。但是主要的困难是网格综合的复杂度既影响构模的稳定性,同时也增加了额外的网格综合时间销耗。
发明内容
本发明的目的就是要提供一种针对海量地形大数据点云的总分式三角网多线程并行生成方法,本方法充分引用当前先进的多线程编程技术到传统算法实现中,与分治-综合方法相反,是一种新型的总分式空间建模方法,它由整体空间的采样建模再到局部网格的临近细节建模,实现了先整体、后局部的分化建模,从而避免了网格之间复杂的综合过程,并运用多线程技术高效地实现了网格的并行独立分布化完善建模。
为实现此目的,本发明所设计的针对海量地形大数据点云的总分式三角网多线程并行生成方法,其特征在于,它包括如下步骤:
步骤1:对海量点云数据进行给定规模的自适应网格划分,使得每一网格内的点数限定在预设的数量LN内(LN表示网格的限制点数,如LN=1000),即网格之间无缝无叠地覆盖整个点云数据空间;
步骤2:对每一个网格内的点按点距离网格中央的距离,由远及近地进行排序,这样网格内点队列的最后一个点就一定是距离网格中央最近的点,称为中央点;将中央点移动至网格点队列的最前面;
步骤3:按网格里包含点的数量从小到大对所有网格进行排序,同时标注各个网格中待构模点数RN为点队列中点的数量;
步骤4:从网格队列中第一个待构模点数RN>0的网格开始,依次从每一个网格的点队列中取出第i个点,其中0≤i<LN,用查找插入法构建初级的均衡的三角网,当网格中的一个点参加构模后,该网格的待构模点数RN减1;如此对所有网格重复操作K次,完成各个网格前K个点的插入法构模(1≤K<LN,通常可取K=4,5,6较适宜);
步骤5:在每一个网格中完成第K个点的查找插入法构模时,同时在插入法新增加的三角形中找到一个以该网格中央点为顶点的三角形,作为该网格进行拓扑检索的起始三角形予以记录;
步骤6:对网格队列中余下第i个点的插入(K<i≤LN)构模,根据标记的起始三角形,利用既有三角网的拓扑关系采用重心趋近方向搜索方法定位点所对应的三角形,按插入法构模,单个点插入后同样在新生成的三角形中找到一个以网格中央点为顶点的三角形作为新的起始三角形,这样能够保证后续点的插入构模效率不会因为三角网的增加而变低;依次对每一个网格完成第i点的插入构模后再次循环完成i=i+1个点的构模,直至所有网格的所有点均参与构模,主线程算法完成。
步骤7:在步骤6网格的第i点插入过程完成后,对该网格进行影响域闭合检测判断,判断方法为:
检索以网格中央点为顶点的所有三角形,如果三角形邻接三角形的所有顶点均位于本网格内,可认为后续插值点,即i=i+1个点的影响域在网格区域内闭合,且不存在与其它网格三角形的共享并发冲突,因而可以采用一个独立的线程对余下所有插值点进行独立插入法构网,进入步骤8启动一个新线程对网格余下点进行独立构模;
步骤8:将以中央点为顶点的所有三角形及其邻接三角形,作为网格的私有初始三角形,连同后续插值点交由独立的插入法构网程序完成建模操作,独立线程的数据来源均由网格私有,外围拓扑三角形以共享访问方式共享给所有独立线程,独立线程起动后,待构模点数RN=0,不再同时参加步骤6的检索插值过程;
步骤9:针对海量地形大数据点云的总分式三角网多线程并行生成算法处理结束的标志为步骤6的所有网格中的所有点均插入处理完成并且多线程队列同时为空。
本发明通过引入中央点概念及局部距中排序规则,采用网格遍历逐点插入实现区域均衡构网与物理空间的逻辑分割,充分结合查找插入法、拓扑插入法各自的优劣势,引入网格的起始三角形,分阶段地将不同的方法结合起来应用,具备其它算法所不具备的综合优势。同时运用新的编程技术,建立了局部逻辑闭合区域的检测机制,运用多线程并行运算技术实现了网格块的独立局部建模,显著提高了针对海量点云大数据的空间建模支持能力。本发明由整体空间的采样建模再到局部网格的临近细节建模,实现了先整体、后局部的分化建模,从而避免了网格之间复杂的综合过程,并运用多线程技术高效地实现了网格的并行独立分布化完善建模。
本发明的有益效果为:
1、本发明能够显著提升传统地形数据建模的吞吐量,有利于实现更大区域的实时整体建模,有利于实现更精细数据的细节建模;
2、本发明算法实现简单、运行稳定,有益于对空间大数据的流式渐进建模;
3、本发明能够为数字区域、数字城市、数字地球提供强有力的数据整合建模,对大型工程的数字化实现提供了非常现实的实现手段。
附图说明
图1为本发明的流程框图;
图2为本发明中三角网建模并行独立线程处理流程框图;
图3为本发明中自适应网格划分图;
图4为本发明中查找插入法建立的初级三角网;
图5为本发明中三角网建模插值到i=20时效果图;
图6为本发明中三角网建模插值到i=50时效果图;
图7为本发明中三角网建模插值到i=100时效果图;
图8为本发明中三角网建模插值到i=200时效果图;
具体实施方式
以下结合附图和具体实施例对本发明作进一步的详细说明:
如图1所示的针对海量地形大数据点云的总分式三角网多线程并行生成方法,它包括如下步骤:
步骤1:对海量点云数据进行给定规模的自适应网格划分,使得每一网格内的网格点数限定在预设的数量内(根据总点数/最大限制点数算一个大概的顶级网格数,并根据区域长宽比确定顶级网格的横向、纵向个数。这样就确定了顶点网格数,但有的网格可能一个点也不包括,有的点会超过最大限制点数,一个点也不包括的网格会自动过滤掉,点数超过了最大点数的网格又会继续再细分网格);如图3所示;
这种自适应网格不是传统的四叉树均分网格,其划分是假定点是均匀分布,按照总共需要的子网块数及空间的纵横比来确立。以规模上限LN=200为例,当一个网格里的点数大于200时,该网格需要平均地分为C×R个子网格,结合网格的空间大小(网格宽Gw、网格长Gh)与点集规模N,C与R的计算规则如下:
步骤2:对划分出的各个网格按点集距离网格中央的距离,由远及近地进行排序,这样网格点队列的最后一个点就一定距离网格中央最近,称为中央点,将中央点移动至网格点队列的最前面;
步骤3:按网格里包含点的数量从小到大对所有网格进行排序,同时标注各个网格中待构模点数RN为网格内队列中点的数量;
步骤4:从网格队列中第一个待构模点数RN>0的网格开始,依次从每一个网格的点队列中取出第i个点,其中0≤i<LN,用查找插入法构建初级的均衡的三角网,当网格中的一个点参加构模后,该网格的待构模点数RN减1;如此对所有网格重复操作K次,完成各个网格前K个点的插入法构模;
当K=LN时,此算法就是纯粹的插入法构模,与传统方法相比不能克服大量三角形遍历查找带来的低效率,因此通常限定1≤K≤5;
这种查找法由于要遍历所有的三角形,随着三角形的增多,每一个轮回会越来越慢,同时随着均衡网格的逐步完善,三角网的影响范围越来越趋近网格区域内部,三角网的拓扑关系非常有助于快速地定位插入点所对应的三角形,此时就需要使用拓扑插入法进行后续建模以保障构网的效率;
步骤5:在每一个网格中完成第K个点的查找插入法构模时,同时在插入法新增加的三角形中找到一个以该网格中央点为顶点的三角形,作为该网格进行拓扑检索的起始三角形予以记录;
步骤6:对网格队列中余下第i个点的插入(K<i≤LN)构模,根据标记的起始三角形,利用既有三角网的拓扑关系采用重心趋近方向搜索方法定位点所对应的三角形,按插入法构模,单个点插入后同样在新生成的三角形中找到一个以网格中央点为顶点的三角形作为新的起始三角形,这样能够保证后续点的插入构模效率不会因为三角网的增加而变低;依次对每一个网格完成第i点的插入构模后再次循环完成i=i+1个点的构模,直至所有网格的所有点均参与构模,主线程算法完成。
按照步骤6,逐块逐点插完所有点,也可以高效地完成整个区域的三角网建模,其效率优于基于纯粹DTM(Digital Terrain Model,数字地面模型)数据组织的建模方法,以LN=800,K=5为例,当块插入点分别插到i=20、i=50、i=100、i=200时分别可得到图5、6、7、8所示效果图。
可见,随着每个网格内插入点的增加,三角网始终呈现出由网格周边向中央进行收缩的格局,这是由网格内点的排序规则所决定,新的插入点其三角形影响域只会越来越向网格内部收缩,如果收缩到其影响域完全局限于网格内部时,该网格的后续插入点建模,事实上就是与其它网格完全不相关的独立的建模行为,因此可以考虑为剩余工作量较大的网格采用多线程方式进行独立并行的拓扑插入法建模;
步骤7:在步骤6网格的第i点插入过程完成后,对该网格进行影响域闭合检测判断,判断方法为:
检索以网格中央点为顶点的所有三角形,如果三角形邻接三角形的所有顶点均位于本网格内,可认为后续插值点,即i=i+1个点的影响域在网格区域内闭合,且不存在与其它网格三角形的共享并发冲突,因而可以采用一个独立的线程对余下所有插值点进行独立插入法构网,进入步骤8启动一个新线程对网格余下点进行独立构模;
步骤7作为步骤8的准入检测,本身也需要耗费些许的计算资源,同时对少量剩余点进行独立的线程构网也没有太大意义,因此,可以对步骤7的启用加以限制性条件:如剩余点数大于100时,i>50时,LN>500时等,以最大可能地提高检测的命中率与有效性。
步骤8:将以中央点为顶点的所有三角形及其邻接三角形,作为网格的私有初始三角形,连同后续插值点交由独立的插入法构网程序完成建模操作,独立线程的数据来源均由网格私有,外围拓扑三角形以共享访问方式共享给所有独立线程,独立线程起动后,待构模点数RN=0,不再同时参加步骤6的检索插值过程;
步骤9:针对海量地形大数据点云的总分式三角网多线程并行生成算法处理结束的标志为步骤6的所有网格中的所有点均插入处理完成并多线程队列同时为空。
本发明通过引入中央点概念及局部距中排序规则,采用网格遍历逐点插入实现区域均衡构网与物理空间的逻辑分割,充分结合查找插入法、拓扑插入法各自的优劣势,引入网格的起始三角形,分阶段地将不同的方法结合起来应用,具备其它算法所不具备的综合优势。同时运用新的编程技术,建立了局部逻辑闭合区域的检测机制,运用多线程并行运算技术实现了网格块的独立局部建模,显著提高了针对海量点云大数据的空间建模支持能力。
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (4)
1.一种针对海量地形大数据点云的总分式三角网生成方法,其特征在于,它包括如下步骤:
步骤1:对海量点云数据进行给定规模的自适应网格划分,使得每一网格内的点数限定在预设的数量LN内,LN表示网格的限制点数,即网格之间无缝无叠地覆盖整个点云数据空间;
步骤2:对每一个网格内的点按点距离网格中央的距离,由远及近地进行排序,这样网格内点队列的最后一个点就一定是距离网格中央最近的点,称为中央点;将中央点移动至网格点队列的最前面;
步骤3:按网格里包含点的数量从小到大对所有网格进行排序,同时标注各个网格中待构模点数RN为点队列中点的数量;
步骤4:从网格队列中第一个待构模点数RN>0的网格开始,依次从每一个网格的点队列中取出第i个点,其中0≤i<LN,用查找插入法构建初级的均衡的三角网,当网格中的一个点参加构模后,该网格的待构模点数RN减1;如此对所有网格重复操作K次,完成各个网格前K个点的插入法构模,其中,1≤K<LN;
步骤5:在每一个网格中完成第K个点的查找插入法构模时,同时在插入法新增加的三角形中找到一个以该网格中央点为顶点的三角形,作为该网格进行拓扑检索的起始三角形予以记录;
步骤6:对网格队列中余下第i个点的插入,其中K<i≤LN构模,根据标记的起始三角形,利用既有三角网的拓扑关系采用重心趋近方向搜索方法定位点所对应的三角形,按插入法构模,单个点插入后同样在新生成的三角形中找到一个以网格中央点为顶点的三角形作为新的起始三角形,这样能够保证后续点的插入构模效率不会因为三角网的增加而变低;依次对每一个网格完成第i点的插入构模后再次循环完成i=i+1个点的构模,直至所有网格的所有点均参与构模,主线程算法完成。
2.一种针对海量地形大数据点云的总分式三角网多线程并行生成方法,其特征在于,在权利要求1所述步骤6中,安插影响域闭合检测机制,可适时启动独立线程对子网格进行并行构模,包括如下步骤:
步骤7:在步骤6网格的第i点插入过程完成后,对该网格进行影响域闭合检测判断,判断方法为:
检索以网格中央点为顶点的所有三角形,如果三角形邻接三角形的所有顶点均位于本网格内,可认为后续插值点,即i=i+1个点的影响域在网格区域内闭合,且不存在与其它网格三角形的共享并发冲突,因而可以采用一个独立的线程对余下所有插值点进行独立插入法构网,进入步骤8启动一个新线程对网格余下点进行独立构模;
步骤8:将以中央点为顶点的所有三角形及其邻接三角形,作为网格的私有初始三角形,连同后续插值点交由独立的插入法构网程序完成建模操作,独立线程的数据来源均由网格私有,外围拓扑三角形以共享访问方式共享给所有独立线程,独立线程起动后,待构模点数RN=0,不再同时参加步骤6的检索插值过程;
步骤9:针对海量地形大数据点云的总分式三角网多线程并行生成算法处理结束的标志为步骤6的所有网格中的所有点均插入处理完成并多线程队列同时为空。
3.根据权利要求1所述的针对海量地形大数据点云的总分式三角网生成方法,其特征在于:步骤6中重心趋近方向搜索的方法为,从网格的起始三角形出发,对临接的三角形,分别判断其重心到插值点的距离,选择距离最近的三角形作为新的出发三角形,如此类推反复进行,直至最近距离最小并维持不变时,可认定最终得到的三角形就是包含插值点的三角形,作为拓扑检索影响域的起始三角形。
4.根据权利要求1所述的针对海量地形大数据点云的总分式三角网生成方法,其特征在于:所述步骤4中的K的取值为4或5或6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410624511.0A CN104318035B (zh) | 2014-11-07 | 2014-11-07 | 针对海量地形大数据点云的总分式三角网多线程并行生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410624511.0A CN104318035B (zh) | 2014-11-07 | 2014-11-07 | 针对海量地形大数据点云的总分式三角网多线程并行生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104318035A CN104318035A (zh) | 2015-01-28 |
CN104318035B true CN104318035B (zh) | 2017-05-10 |
Family
ID=52373266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410624511.0A Active CN104318035B (zh) | 2014-11-07 | 2014-11-07 | 针对海量地形大数据点云的总分式三角网多线程并行生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104318035B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548512B (zh) * | 2015-09-22 | 2019-10-29 | 中国石油化工股份有限公司 | 网格模型数据的生成方法 |
CN105404898B (zh) * | 2015-11-26 | 2018-11-06 | 福州华鹰重工机械有限公司 | 一种松散型点云数据分割方法和设备 |
CN111815691B (zh) * | 2020-09-10 | 2020-12-18 | 熵智科技(深圳)有限公司 | 一种网格数据结构的邻域访问方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158985A (zh) * | 2007-10-31 | 2008-04-09 | 深圳先进技术研究院 | 一种超维度河流动力学自适应并行监测的方法 |
US7774381B2 (en) * | 2008-02-07 | 2010-08-10 | Oracle Int'l Corp. | Triangulated irregular network |
-
2014
- 2014-11-07 CN CN201410624511.0A patent/CN104318035B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158985A (zh) * | 2007-10-31 | 2008-04-09 | 深圳先进技术研究院 | 一种超维度河流动力学自适应并行监测的方法 |
US7774381B2 (en) * | 2008-02-07 | 2010-08-10 | Oracle Int'l Corp. | Triangulated irregular network |
Non-Patent Citations (2)
Title |
---|
一种并行计算的流数据Delaunay构网算法;李坚等;《武汉大学学报 信息科学版》;20130731;第38卷(第7期);第794-798页 * |
数字高程模型TIN和等高线建模;黄晶晶;《中国优秀硕士学位论文全文数据库 信息科技辑》;20070615;第I138-941页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104318035A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hao et al. | FPGA/DNN co-design: An efficient design methodology for IoT intelligence on the edge | |
CN209560590U (zh) | 电子设备和集成电路 | |
CN105718996B (zh) | 细胞阵列计算系统以及其中的通信方法 | |
CN109255829A (zh) | 用于光线跟踪的混合层级 | |
CN108268933A (zh) | 矩阵处理架构中的最大池化 | |
CN105718994B (zh) | 细胞阵列计算系统 | |
CN105608490B (zh) | 细胞阵列计算系统以及其中的通信方法 | |
CN112650248B (zh) | 基于改进遗传算法的巡检机器人路径规划方法及系统 | |
CN108804220A (zh) | 一种基于并行计算的卫星任务规划算法研究的方法 | |
CN105654552B (zh) | 一种面向任意分布大规模点云数据的快速Delaunay构网方法 | |
CN104318035B (zh) | 针对海量地形大数据点云的总分式三角网多线程并行生成方法 | |
CN105468439A (zh) | 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行算法 | |
Rocki et al. | Large-scale parallel Monte Carlo tree search on GPU | |
CN104463322A (zh) | 一种异构系统的并行混合人工蜂群方法 | |
Gong et al. | Improving hw/sw adaptability for accelerating cnns on fpgas through a dynamic/static co-reconfiguration approach | |
CN110059805A (zh) | 用于二值阵列张量处理器的方法 | |
CN115756478A (zh) | 计算图的算子自动融合方法及相关产品 | |
CN109657794A (zh) | 一种基于指令队列的分布式深度神经网络性能建模方法 | |
CN110706780B (zh) | 放疗计划生成系统及存储介质 | |
CN102902742A (zh) | 一种云环境下的空间数据划分方法 | |
CN108446455B (zh) | 一种基于烟花算法的多目标软硬件划分方法 | |
CN106600054A (zh) | 基于mic卡的人工鱼群算法并行处理tsp问题的方法及装置 | |
CN109685844A (zh) | 一种编织网格标记和方向校准优化方法及装置 | |
Arenas et al. | GPU computation in bioinspired algorithms: a review | |
CN105718990B (zh) | 细胞阵列计算系统以及其中细胞之间的通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |