海量机载LiDAR点云Delaunay三角网并行构建方法和装置
技术领域
本发明涉及测绘技术领域,更具体地,涉及一种海量机载LiDAR点云Delaunay三角网并行构建方法和装置。
背景技术
激光雷达在地形测绘领域中已经得到广泛的应用。使用机载激光雷达进行地形扫描,可以获得海量机载LiDAR点云数据。基于点云数据中所包含的高精度的三维空间坐标信息,能够精细地表现出扫描对象的表面空间特征,是实现等各类测绘应用的基础,在地理空间信息研究、城市规划、国土管理等方面也具有重要的意义。但是,LiDAR点云数据通常具有海量的点数,各点空间分布有一定的离散性,所以需要科学高效的方法进行LiDAR数据的后处理。
在LiDAR数据后处理中,Delaunay三角网是重要手段之一,被广泛应用于点云数据的平差、自动/手动滤波、边界线的提取、地形可视化、DEM生成等处理过程中,对LiDAR点云的数据后处理处理有着举足轻重的重要性,是实现LiDAR点云的数据的可视化、DEM生成等实际应用的必要步骤。
众多学者已经对Delaunay三角网的构建算法进行了大量研究。Lawson于1977年提出了一种通过逐点插入的方式构建Delaunay三角网的方法,我们称之为逐点插入算法。1978年Green和Sibson提出了一种新的Delaunay三角网构建算法,根据其计算过程我们称之为生长算法。在生长法的基础上,许多学者又提出了改进算法,对生长算法第三点搜寻策略提出了不同的改进。另一种被广泛应用的构网算法——分治算法由Lewis和Robinson提出,采用分割-合并的方式构建散乱点集的Delaunay三角网。该方法的时间效率较高,后来被众多学者改进并应用,是如今常用的构网方法之一。上述的三大构网方法基本上概括了主流的Delaunay三角网生成算法,并行算法也是基于上述三种算法的思想进行研究。Christos等人于2005年提出采用多粒度的并行算法,并对这些粒度分级性能进行了分析。NIKOS和ANDREY于2006年提出一种基于Bowyer-Watson算法的并行二维多边形的Delaunay剖分方法。在约束边的处理上采用了二分法,获得了很好的效果。易法令等人2001年提出了一种提出了一种基于网格的Delaunay三角剖分并行算法。该算法基于分治法针对四点共圆的不唯一性及并行处理边界的任意性问题进行了探讨,在任务分配上较好地保证了负载的均衡。
虽然这些算法已经比较成熟,但是处理对象一般只是少量离散点云。而LiDAR获取的数据为了保证高密度和高精度,点云的数目往往都很大。当点云的数目较大时,构建Delaunay三角网过程中Delaunay三角剖分计算量大,现有的算法执行速度很慢、效率低,已经不能满足目前海量数据的构网应用。
因此,高效、快速,面向大数据量的Delaunay三角网构建方法和相关装置是目前LiDAR数据处理中急需解决的关键技术之一。
发明内容
针对现有技术的上述需求,本发明旨在提高海量机载LiDAR点云Delaunay三角网的构建速度,提高构网效率,解决海量机载LiDAR点云的构网问题,从而为机载激光雷达地形扫描所形成的LiDAR点云数据的后处理提供一种高效、快速、适于大数据量处理的新方法和新装置。
本发明所述的海量机载LiDAR点云Delaunay三角网并行构建方法,其特征在于,包括以下步骤:
步骤1,对海量机载LiDAR点云数据进行数据块划分和任务分配,将所述海量机载LiDAR点云数据划分为等数据量的均匀条带数据块;
步骤2,对所述各数据块分别应用逐点插入算法并行构建子三角网,获得子三角网集合;
步骤3,采用合并算法对相邻的两个子三角网进行连接生成合并的三角网;
步骤4,采用优化算法对新生成的三角形以及其邻接三角形进行优化,得到符合Delaunay规则的合并的三角网;
步骤5,重复步骤3、4,将所有子三角网合并得到完整的Delaunay三角网。
其中,优选地,所述步骤3的合并算法具体包括:
步骤3A:通过遍历所述子三角网,找到所有邻接三角形数量为1的边界,并将这些边界的端点作为三角网边界点,提取所述相邻的两个子三角网的边界;
步骤3B:采用三角网的生长算法将两块相邻三角网进行连接,所述生长算法包括:首先在边界点集中利用余弦定理寻找最优点构建三角形,然后将新生成两条有向边加入待扩展边,最后,直到所有待扩展边都完成最优点的选取。
其中,优选地,所述步骤4的优化算法为LOP算法。
本发明基于上述方法还提供了一种海量机载LiDAR点云Delaunay三角网并行构建装置,其特征在于,包括以下模块:
数据分块单元,对海量机载LiDAR点云数据进行数据块划分和任务分配,将所述海量机载LiDAR点云数据划分为等数据量的均匀条带数据块;
多个计算单元,对所述各数据块分别应用逐点插入算法并行构建子三角网,获得子三角网集合;
合并单元,采用合并算法对相邻的两个子三角网进行连接生成合并的三角网;
优化单元,采用优化算法对新生成的三角形以及其邻接三角形进行优化,得到符合Delaunay规则的合并的三角网;
所述合并单元和优化单元重复执行合并算法和优化算法,将所有子三角网合并得到完整的Delaunay三角网。
本发明实现了LiDAR点云的Delaunay三角网并行构建方法和装置。该方法大大提高了海量机载LiDAR点云在数据量较大的情况下构建Delaunay三角网的速度,经实验测试速度最高可以达到每秒处理约110万个点,远远高于现有的相关方法(目前最快方法处理速度约为40-50万个点每秒),大幅度的提高了机载LiDAR点云后处理效率。
附图说明
图1是本发明实施例的合并相邻三角网边界的过程示意图;
图2是本发明实施例的局部优化算法示意图;
图3是本发明实施例对狭长三角形进行优化的实验结果示意图;
图4是本发明实施例的子三角网合并的实验结果示意图;
图5是本发明实施例的所有子三角网合并后的实验结果示意图;
图6是本发明实施例的海量机载LiDAR点云Delaunay三角网并行构建装置结构示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合具体实施方式并配合附图详予说明。
本发明旨在提高海量机载LiDAR点云Delaunay三角网的构建速度,提高构网效率,解决海量机载LiDAR点云的构网问题,为机载激光雷达扫描数据的后处理和相关应用提供高效、快速的新方法和新装置。
本发明的实施步骤可以概括为任务划分、子任务三角网构建、合并子三角网和优化等步骤。下面对各实施步骤进行进一步的阐述:
1)任务划分:
本步骤对海量机载LiDAR点云数据进行数据块划分和任务分配,将所述海量机载LiDAR点云数据划分为等数据量的均匀条带数据块;由于本发明的算法是基于数据量的并行算法,因此在任务的划分上采用等数据量均匀条带划分,这样能够尽量的保证各个处理单元计算时间的一致性,从而提高计算效率。
2)子三角网的构建
对所述各数据块分别应用逐点插入算法并行构建子三角网,获得子三角网集合;本发明采用了单机多线程的并行方式,建立多个计算单元,在每个计算单元中应用逐点插入算法分别对各数据块构建子三角网,一个计算单元处理一块数据,运用经典Delaunay构建算法,从而并行构建子三角网。当所有计算单元完成计算之后,我们就得到了一个子三角网集合。
3)合并子三角网
在完成子三角网的构建后,需要对两个相邻的子三角网进行拼接处理。拼接算法可以分为以下两个步骤:
(1)提取三角网边界
如图1中(a),(b)所示,首先需要提取两个相邻子三角网的边界。通过遍历子三角网,找到所有邻接三角形数量为1的边界,这些边界的端点就是三角网边界点,从而提取所述相邻的两个子三角网的边界。
(2)合并相邻边界
我们用第(1)步得到的边界点集P,采用三角网的生长算法将两块相邻三角网进行连接。所述生长算法的过程如下:首先在边界点集P中利用余弦定理寻找最优点构建三角形,然后将新生成两条有向边加入待扩展边,最后,直到所有待扩展边都完成了最优点的选取,算法结束,如图1(c),(d),(e)所示。
最优点的选取规则为:i.该点与待扩展边的两个端点构成的新三角形满足空圆特性:即根据余弦定理,如公式1,cosC值最小的点即为满足Delaunay规则的点;其中公式1中的a,b,c分别表示图1的(c)所示角A、B、C所对的边:ii.新生成的待扩展边不与任意一条现有边界边相交(不包含相切)。
cosC=(a2+b2-c2)/2*a*b (公式1)
4)优化接边处的三角形
采用优化算法对新生成的三角形以及其邻接三角形进行优化,得到符合Delaunay规则的合并的三角网。由上一步我们得到了一张由相邻的两张子三角网合并的三角网。在生成的边界处的三角形多为狭长三角形,它们与边界以内原有的三角形并不满足Delaunay三角网的规则。因此,我们应用优化算法对新生成的三角形以及其邻接三角形进行了优化,这样就得到了一个合并后的、符合Delaunay规则的三角网;优化算法可以采用本领域公知的由Lawson提出的LOP算法。图2为局部优化的算法示意图,图3为对狭长三角形进行优化的实验结果图。
5)在对上述两个相邻的子三角网进行的合并和优化完成后,重复步骤3)和4),将所有子三角网合并得到完整的Delaunay三角网,最终就得到了一张完整的Delaunay三角网。图4是子三角网合并的实验结果示意图,图5是本发明实施例的所有子三角网合并后的实验结果示意图。
本发明基于上述方法还提供了一种海量机载LiDAR点云Delaunay三角网并行构建装置,其结构如图6所示。其中,数据分块单元10,对海量机载LiDAR点云数据进行数据块划分和任务分配,将所述海量机载LiDAR点云数据划分为等数据量的均匀条带数据块。多个计算单元20A-D,对所述各数据块分别应用逐点插入算法并行构建子三角网,获得子三角网集合;一个计算单元处理一块数据,运用经典Delaunay构建算法,从而并行构建子三角网。对于由各计算单元所形成的子三角网集,合并单元30采用合并算法对相邻的两个子三角网进行连接生成合并的三角网;优化单元40采用优化算法对新生成的三角形以及其邻接三角形进行优化,得到符合Delaunay规则的合并的三角网,从而完成对上述两个相邻子三角网的合并。然后,所述合并单元30和优化单元40重复执行合并算法和优化算法,直至将所有子三角网合并得到完整的Delaunay三角网。
综上所述,本发明实现了LiDAR点云的Delaunay三角网并行构建方法和装置。本发明大大提高了海量机载LiDAR点云在数据量较大的情况下构建Delaunay三角网的速度,经实验测试速度最高可以达到每秒处理约110万个点,远远高于现有的相关方法(目前最快方法处理速度约为40-50万个点每秒),大幅度的提高了机载LiDAR点云后处理效率。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。