三角网的构建方法、构建装置和数字表面模型的生成方法转让专利

申请号 : CN202010422765.X

文献号 : CN111553986B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王兰兰其他发明人请求不公开姓名

申请人 : 北京数字绿土科技有限公司

摘要 :

本发明涉及三角网的构建方法、构建装置和数字表面模型的生成方法,该构建方法包括:结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据,每个预设缓存子区间的区间长度均与每层激光点云数据所在的高程值区间相对应,对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网,根据所述初始三角网对多层激光点云数据中除位于所述最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据分别进行所述三角剖分处理以得到无凹坑三角网,能够提高三角网的构建质量,并从整体上提高了现有三角网生成的算法效率。

权利要求 :

1.一种三角网的构建方法,其特征在于,所述构建方法包括:

结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据,每个预设缓存子区间的区间长度均与每层激光点云数据所在的高程值区间相对应;

对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网;

根据所述初始三角网对多层激光点云数据中除位于所述最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据分别进行所述三角剖分处理,以得到无凹坑三角网;

所述三角剖分处理采用数据逐点插入法,所述对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网的步骤之前还包括:对于每层激光点云数据在水平平面上分别进行排序,以得到排序后的多层激光点云数据;

所述根据所述初始三角网对多层激光点云数据中除位于所述最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据分别进行所述三角剖分处理,以得到无凹坑三角网的步骤包括:以所述初始三角网为基础,采用所述数据逐点插入方法对排序后的多层激光点云数据中除位于所述最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据进行三角剖分处理;

在所述剩余各层激光点云数据各自对应的三角剖分处理过程中,当每次新增插入点时,判断所述新增插入点的当前所在三角形是否满足预设冻结条件;

当满足所述预设冻结条件时,所述当前所在三角形内不再进行所述新增插入点;

所述预设冻结条件包括所述当前所在三角形的三边边长均小于预设长度阈值以及所述新增插入点与所述当前所在三角形的三个角点之间的各个连线之间所形成的夹角均小于预设角度阈值。

2.根据权利要求1所述的构建方法,其特征在于,所述结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据的步骤之前还包括:对实时采集的三维激光点云数据进行预处理,所述预处理包括合并处理、分类处理和去噪处理中的至少一种。

3.根据权利要求2所述的构建方法,其特征在于,所述预设长度阈值的取值范围为所述新增插入点对应点云平均密度的1-3倍,所述预设角度阈值为[30°,45°]。

4.一种数字表面模型的生成方法,其特征在于,采用权利要求1-3中任意一项所述的三角网的构建方法,所述生成方法还包括:对所述无凹坑三角网进行格网划分,并进行插值处理以生成对应的数字表面模型。

5.一种设备终端,其特征在于,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述设备终端执行权利要求1至3中任一项所述的构建方法。

6.一种可读存储介质,其特征在于,所述可读存储介质存储有计算机程序,所述计算机程序在被处理器运行时执行权利要求1至3中任一项所述的构建方法。

说明书 :

三角网的构建方法、构建装置和数字表面模型的生成方法

技术领域

[0001] 本发明涉及遥感测绘领域,尤其涉及一种三角网的构建方法、构建装置和数字表面模型的生成方法。

背景技术

[0002] 近年来,激光雷达已经成为一种较为常见的遥感技术,并在各个行业中得到了广泛应用,例如在林业中,激光雷达可以全面、快速、准确和客观地获取大范围林区的植被分布状况,减少人力成本支出。激光扫描系统所获得的数据称为三维点云,它包含目标的位置、回波数、类别和颜色等信息。大多数三维点云是离散化的不规则分布的三维空间信息,经过处理可以得到地形产品,例如数字表面模型(Digital Surface Model,DSM),其中,DSM产品的精度和质量极大程度上取决于三维点云所生成三角网(TIN)的品质。
[0003] 然而,三维激光扫描仪在上述扫描过程中,通常会形成多个回波,同时还会受到仪器精度的影响形成噪声点,用含有噪点和多回波的点云直接生成的TIN模型会含有针状的“凹坑”或“尖峰”,这将直接降低DSM的精度和质量。

发明内容

[0004] 鉴于此,本发明提供一种三角网的构建方法、构建装置和数字表面模型的生成方法,能够通过结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据,然后在对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网的基础上,对剩余的各层激光点云数据分别进行三角剖分处理以得到无凹坑三角网,通过结合高程值的大小以及分层处理,能够防止将一些高程较低的点过早地被插入到三角网中形成凹坑,提高了三角网的构建质量,并从整体上提高了现有三角网生成的算法效率。
[0005] 一种三角网的构建方法,该构建方法包括:
[0006] 结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据,每个预设缓存子区间的区间长度均与每层激光点云数据所在的高程值区间相对应;
[0007] 对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网;
[0008] 根据初始三角网对多层激光点云数据中除位于最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据分别进行三角剖分处理以得到无凹坑三角网。
[0009] 在一个实施例中,结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据”的步骤之前还包括:
[0010] 对实时采集的三维激光点云数据进行预处理,预处理包括合并处理、分类处理和去噪处理中的至少一种。
[0011] 在一个实施例中,三角剖分处理采用数据逐点插入法,对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网的步骤之前还包括:
[0012] 对于每层激光点云数据在水平平面上分别进行排序,以得到排序后的多层激光点云数据。
[0013] 在一个实施例中根据初始三角网对多层激光点云数据中除位于最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据分别进行三角剖分处理以得到无凹坑三角网的步骤包括:
[0014] 以初始三角网为基础,采用数据逐点插入方法对排序后的多层激光点云数据中除位于最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据进行三角剖分处理;
[0015] 在剩余各层激光点云数据各自对应的三角剖分处理过程中,当每次新增插入点时,判断新增插入点的当前所在三角形是否满足预设冻结条件;
[0016] 当满足预设冻结条件时,当前所在三角形内不再进行新增插入点。
[0017] 在一个实施例中,预设冻结条件包括当前所在三角形的三边边长均小于预设长度阈值以及新增插入点与当前所在三角形的三个角点之间的各个连线之间所形成的夹角均小于预设角度阈值。
[0018] 在一个实施例中,预设长度阈值的取值范围为新增插入点对应点云平均密度的1-3倍,预设角度阈值为[30°,45°]。
[0019] 此外,还提供一种三角网的构建装置,构建装置包括:
[0020] 点云数据分层单元,用于结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据,每个预设缓存子区间的区间长度均与每层激光点云数据所在的高程值区间相对应;
[0021] 初始三角网生成单元,用于对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网;
[0022] 三角网生成单元,用于根据初始三角网对多层激光点云数据中除位于最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据分别进行三角剖分处理以得到无凹坑三角网。
[0023] 一种数字表面模型的生成方法,采用上述三角网的构建方法,生成方法还包括:
[0024] 对无凹坑三角网进行格网划分,并进行插值处理以生成对应的数字表面模型。
[0025] 此外,还提供一种设备终端,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使设备终端执行上述构建方法。
[0026] 此外,一种可读存储介质,可读存储介质存储有计算机程序,计算机程序在被处理器运行时执行上述构建方法。
[0027] 上述三角网的构建方法、构建装置和数字表面模型的生成方法,能够通过结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据,然后在对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网的基础上,对剩余的各层激光点云数据分别进行三角剖分处理以得到无凹坑三角网,通过结合高程值的大小以及分层处理,能够防止将一些高程较低的点过早地被插入到三角网中形成凹坑,提高了三角网的构建质量,并从整体上提高了现有三角网生成的算法效率。

附图说明

[0028] 为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
[0029] 图1为一个实施例中提供的一种三角网的构建方法的流程示意图;
[0030] 图2为另一个实施例中提供的一种三角网的构建方法的流程示意图;
[0031] 图3为又一个实施例中提供的一种三角网的构建方法的流程示意图;
[0032] 图4为一个实施例中提供的一种进行三角剖分处理以得到无凹坑三角网的方法流程示意图;
[0033] 图5为一个实施例中提供的一种三角网的构建装置的结构框图。

具体实施方式

[0034] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0035] 在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
[0036] 除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
[0037] 如图1所示,提供了一种三角网的构建方法,该构建方法包括以下步骤:
[0038] 步骤110,结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据,每个预设缓存子区间的区间长度均与每层激光点云数据所在的高程值区间相对应。
[0039] 其中,在进行分层时,通常结合高程值的从大到小或者从小到大的顺序,将获取的激光点云数据进行排序,然后进一步将排序后的激光点云数据按照高程值划分为多个高程值区间以进行分层,并分别存储到预设缓存区中的各个预设缓存子区间内,每个预设缓存子区间的区间长度均与每层激光点云数据所在的高程值区间相对应。
[0040] 其中,通过对获取的激光点云数据进行分层,能够防止将一些高程较低的点过早地被插入到三角网中形成凹坑,有效地去除了凹坑,提高了三角网的构建质量。
[0041] 需要说明的是,上述激光点云数据,采用全部的点云数据进行处理,不区分回波数,最终生成的三角网可以更好代表实际地形真实的起伏效果。
[0042] 步骤120,对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网。
[0043] 其中,在三角剖分处理时,通常按照高程值从高到低的顺序处理,每层激光点云数据,因而为保证去除凹坑,首先需对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网,从而为后续各层激光点云数据的三角剖分处理奠定基础。
[0044] 步骤130,根据初始三角网对多层激光点云数据中除位于最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据分别进行三角剖分处理以得到无凹坑三角网。
[0045] 其中,在初始三角网的基础上,可进一步对除位于最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据分别进行三角剖分处理以得到无凹坑三角网。
[0046] 上述三角网的构建方法、构建装置和数字表面模型的生成方法,能够通过结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据,然后在对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网的基础上,对剩余的各层激光点云数据分别进行三角剖分处理以得到无凹坑三角网,通过结合高程值的大小以及分层处理,能够防止将一些高程较低的点过早地被插入到三角网中形成凹坑,有效地去除了凹坑,提高了三角网的构建质量,并从整体上提高了现有三角网生成的算法效率。
[0047] 在一个实施例中,如图2所示,步骤S110之前还包括:
[0048] S140,对实时采集的三维激光点云数据进行预处理,预处理包括合并处理、分类处理和去噪处理中的至少一种。
[0049] 在一个实施例中,三角剖分处理采用数据逐点插入法,如图3,所示,步骤S120之前还包括:
[0050] S150,对于每层激光点云数据在水平平面上分别进行排序,以得到排序后的多层激光点云数据。
[0051] 其中,每层激光点云数据在水平平面上分别进行排序时,可按照x从小到大进行排序,排序过程中若发现x相同,则激光点云数据的顺序将由y坐标决定,y值同样按照从小到大进行排序,同样地,也可按照y从小到大进行排序,排序过程中若发现y相同,则激光点云数据的顺序将由x坐标决定,x值同样按照从小到大进行排序。
[0052] 其中,x值或y值的排序方式也可按照从大到小的方式进行。
[0053] 在一个实施例中,如图4所示,步骤S130包括:
[0054] S132,以初始三角网为基础,采用数据逐点插入方法对排序后的多层激光点云数据中除位于最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据进行三角剖分处理。
[0055] 其中,采用数据逐点插入方法构建初始Delaunay三角网,且分别对剩余的每一层激光点云数据在x、y平面上排序可大幅减少调整三角形的次数,进而大幅提升上述处理过程的效率,而排序所用的时间可以忽略不计,总体上大大提高了三角剖分处理效率。
[0056] S134,在剩余各层激光点云数据各自对应的三角剖分处理过程中,当每次新增插入点时,判断新增插入点的当前所在三角形是否满足预设冻结条件,当满足预设冻结条件时,进入步骤S136。
[0057] 其中,通过设置预设冻结条件,能够进一步减少凹坑的出现,减少不必要的计算量,且使得局部三角网的形状得到了有效控制,在上述激光点云数据分层处理的基础上,能够防止过早地产生冻结三角形而导致其它的激光点云数据无法被插入的缺点。
[0058] 步骤S136,当前所在三角形内不再进行新增插入点。
[0059] 其中,当满足预设冻结条件时,新增插入点所在的当前所在三角形后续步骤处理过程中不再新增插入点,能够进一步有效的去除凹坑。
[0060] 在一个实施例中,预设冻结条件包括当前所在三角形的三边边长均小于预设长度阈值以及新增插入点与当前所在三角形的三个角点之间的各个连线之间所形成的夹角均小于预设角度阈值。
[0061] 其中,预设长度阈值将作为输入参数参与到上述三角剖分处理过程中,预设长度阈值值越大,生成的三角网精度越低,反之,精度越高。预设长度阈值的选取通常可根据具体需求来进行调整。
[0062] 其中,新增插入点与当前所在三角形的三个角点的连线所形成的夹角均小于预设角度阈值。在进行上述三角剖分处理过程中,上述夹角值越大,尖峰效应就越明显,但若过小则会降低三角网精度。
[0063] 因此,通过上述冻结条件,能够有效的去除凹坑且避免明显的尖峰效应。
[0064] 在一个实施例中,预设长度阈值的取值范围为新增插入点对应点云平均密度的1-3倍,预设角度阈值为[30°,45°]。
[0065] 其中,一般情况下,预设长度阈值取1-3倍的点云平均密度即可达到良好效果,点云平均密度为每个点云到最近点的距离的平均值。
[0066] 其中,,预设长度阈值取2倍的点云平均密度即可进一步达到更良好的效果。
[0067] 此外,如图5所示,还提供一种三角网的构建装置200,该构建装置200包括:
[0068] 点云数据分层单元210,用于结合高程值的大小,利用预设缓存区将获取的激光点云数据进行分层,得到位于各个预设缓存子区间内的多层激光点云数据,每个预设缓存子区间的区间长度均与每层激光点云数据所在的高程值区间相对应;
[0069] 初始三角网生成单元220,用于对位于最大高程值区间的对应层激光点云数据进行三角剖分处理以得到初始三角网;
[0070] 三角网生成单元230,用于根据初始三角网对多层激光点云数据中除位于最大高程值区间的对应层激光点云数据之外的剩余各层激光点云数据分别进行三角剖分处理以得到无凹坑三角网。
[0071] 此外,还提供一种数字表面模型的生成方法,采用上述三角网的构建方法,生成方法还包括:
[0072] 对无凹坑三角网进行格网划分,并进行插值处理以生成对应的数字表面模型。
[0073] 此外,还提供一种设备终端,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使设备终端执行上述构建方法。
[0074] 此外,一种可读存储介质,可读存储介质存储有计算机程序,计算机程序在被处理器运行时执行上述构建方法。
[0075] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0076] 另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
[0077] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0078] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。