非完全模拟树木水分养分传输的枝干点云骨架提取方法技术

技术编号:36072149 阅读:12 留言:0更新日期:2022-12-24 10:42
本发明专利技术公开一种非完全模拟树木水分养分传输的枝干点云骨架提取方法,采用递归实现算法计算骨架点,生成骨架线的集合;利用分段递归加速算法,将递归实现算法的递归深度拆分成若干区间,加速递归;采用断点连接算法,减少分段递归加速算法分段中过少的点造成的断点。本发明专利技术以真实树木的枝干点云作为输入对象,在获取到最短路径后,根据需要的骨架的精细程度,获取树木枝干骨架。重建的拓扑能够反映树木真实情况,降低了后续应用由于拓扑问题而造成的潜在问题,并且所需时间约为现有算法的50%,在速度上,与现有算法相比,本算法同等优秀;在模型质量上,与现有算法相比,本算法更加优秀,可为树木三维建模提供一种新方法。可为树木三维建模提供一种新方法。可为树木三维建模提供一种新方法。

【技术实现步骤摘要】
非完全模拟树木水分养分传输的枝干点云骨架提取方法


[0001]本专利技术属于树木建模
,具体涉及一种非完全模拟树木水分养分传输的枝干点云骨架提取方法。

技术介绍

[0002]树木建模广泛应用于林业、虚拟现实、计算机游戏、电影场景等领域。在林业上,高精度的树木模型可以帮助林业工作者精准地掌握出树木的真实情况;而在虚拟现实、计算机游戏、电影场景上,能够增加真实感,进而增加用户的沉浸感。目前,由于激光雷达技术的快速发展,这一获取物体表面信息并将其以点云形式存储的方式成为了与图像、规则或过程、草图共同构成的树木建模的四大主要方法的基础。虽然点云数据能够直接有效地表现模型的几何信息,本身就可以作为一种树木的三维模型,但是其占用存储空间、散乱且无拓扑、存在噪声的弊端局限了其表达更多信息的能力,因而通常作为数据源,经过一定的处理后转换成其它模型后进行树木建模,通常转换成(广义)圆柱模型。(广义)圆柱模型采用多个圆柱(或圆台)表达枝干,生成这些圆柱(圆台)的轴线即为树木枝干的骨架,因而骨架提取算法的性能直接影响到枝干模型的整体几何形态。
[0003]枝干点云骨架提取算法主要有三大类——基于体素空间、基于点云收缩和基于几何特征。现有的基于几何特征的枝干点云骨架提取算法仅在运算速度上略不占优势,在三者中排在第二,比点云收缩慢约50%,而在模型质量的指标上均为最优或同等优秀。正因为模型质量更好,树木定量模型(QSM)采用了这一类算法,用于计算树木的材积。现有的算法是以点云分层与最小生成树结合的方法 (Xu,H.;Gossett,N.;Chen,B.Knowledge and heuristic

based modeling oflaser

scanned trees.ACM Transactions on Graphics,2007),核心思想是按照一定的规则对点云分层,对每一层分别聚类,每个聚类计算得到骨架线,然后利用最小生成树算法确定骨架线,虽然实现起来简单,运行速度较快,但骨架线的确定并未考虑枝干点云本身,因而存在较多的拓扑上的错误。
[0004]聚类算法是影响树木骨架精度的最重要因素之一,现有聚类算法普遍存在的问题包括对初值敏感,难以找到最优聚类,聚类效率和对噪声的敏感度,每一种聚类算法都或多或少存在四类问题中的一类或几类。能够适用于树木枝干点云骨架提取方面的更加优良的聚类算法有待提出。
[0005]任何枝干骨架提取算法对数据源的要求均为枝干点云是完整的,且不能有枝条与枝条十分接近乃至相交的情况。

技术实现思路

[0006]本专利技术解决的技术问题:提供一种进一步对算法加速,可为树木建模提供更好的参考的非完全模拟树木水分养分传输的枝干点云骨架提取方法。
[0007]技术方案:为了解决上述技术问题,本专利技术采用的技术方案如下:
[0008]S1:采用递归实现算法计算骨架点,生成骨架线的集合;
[0009]S2:利用分段递归加速算法,将步骤S1的递归深度拆分成若干区间,加速递归;
[0010]S3:采用断点连接算法,减少分段递归加速算法分段中过少的点造成的断点。
[0011]进一步的,步骤S1中,将所有未经探索的点分割成合适的类别作为不同的枝干,并且对每一个枝干执行以下操作:(1)在一定步长范围内的点计算骨架点; (2)在一定步长范围外的点作为继续“传输水分养分”的部分;(3)将一定步长范围内的点从当前枝干中未经探索的点去除,并用此时剩余的未经探索的点作为输入,重复(1)。
[0012]进一步的,递归实现算法的实现包括以下步骤:
[0013]S11:首先初始化已经“传输”的距离d,初始化骨架点Q(最初点不存在),初始化骨架线的集合E;然后输入枝干点云序列P;
[0014]S12:采用聚类算法将未经探索的点分类;
[0015]S13:计算并存储每一个点与根节点间最短路径距离的序列;
[0016]S14:步长内的部分用于计算骨架点,步长外的部分用于递归;
[0017]S15:质心作为骨架点。
[0018]进一步的,步骤S2中,步骤S1的递归深度,将递归深度拆分成若干区间,每一个区间由整棵树的一部分组成,最初,聚类并判断该部分分枝类别数量,然后在每一个分枝类别上进一步递归。
[0019]进一步的,为了保证区间长度能够被步长整除,引入每区间步长数h,h∈N
*
,调节h,l,通常设置h=5;
[0020]且有关系
[0021][0022]成立,该式当且仅当l|L并且h|L时等号成立,而在其它情况下,区间数与区间长度之积必须超过最长距离。
[0023]进一步的,利用多线程加速算法将分段递归加速算法的任务分配给不同的线程,设CPU的最大线程数T,最长距离可被步长分得的份数m,每区间包含的步长数量h,并令
[0024][0025]其中,x代表每个线程平均任务所囊括的分段数。
[0026]非完全模拟树木水分养分传输的枝干点云骨架提取方法,其特征在于:断点连接算法的实现步骤包括:
[0027]S31:计算每个骨架点的入度、出度,除了根骨架点外的入度为0的骨架点为断点;
[0028]S32:计算当前最长骨架线长度;
[0029]S33:对每一个断点B
i
,利用kd_tree找到半径在最长骨架线长度范围内的全部近邻骨架点,由近及远排序后组成序列K。
[0030]进一步的,对每一个近邻骨架点Q
j
∈K,如果Q
j
在B
i
所在的子树上,则跳过;否则,对第一个满足不在B
i
所在的子树的骨架点Q
j
,若该点出度为0,则找到与Q
j
相连的骨架点R,用
取代否则在骨架线中添加否则在骨架线中添加均为骨架线。
[0031]有益效果:与现有技术相比,本专利技术具有以下优点:
[0032](1)本专利技术以真实树木的枝干点云作为输入对象,在获取到最短路径后,用户可根据需要的骨架的精细程度,采用非完全模拟树木水分养分传输的枝干点云骨架提取算法获取树木枝干骨架,重建流程简单;
[0033](2)本专利技术提出的方法能构建出反映树木真实拓扑情况骨架。本专利技术结合生态学原理中“树木的水分养分传输趋向于使用最短路径以达到资源配置的最优化”的结论,并在算法执行过程中充分结合枝干点云的特征和关系信息,避免了机械分层造成的拓扑错误;提取的骨架能够反映树木真实拓扑情况,降低了后续应用由于拓扑错误而造成的潜在问题。
[0034](3)本专利技术将分段递归算法由聚类对象差异引起的断点给出连接算法,结合断点仅在区间交替间的特点,采用邻近连接方式恢复了拓扑的连续性;
[0035](4)本专利技术经过多次加速改进,实例表明,对于点数为196203的枝干点云,所需时间约为同类别的基于几何特征算法的50%;在速度上,与现有算法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非完全模拟树木水分养分传输的枝干点云骨架提取方法,其特征在于,包括:S1:采用递归实现算法计算骨架点,并同时生成骨架线,用有向线段表示,将其加入骨架线集合;S2:利用分段递归加速算法,将步骤S1的递归深度拆分成若干区间,加速递归;S3:采用断点连接算法,减少分段递归加速算法分段中过少的点造成的断点。2.根据权利要求1所述的非完全模拟树木水分养分传输的枝干点云骨架提取方法,其特征在于:步骤S1中,将所有未经探索的点分割成合适的类作为不同的枝干,并且对每一个枝干执行以下操作:(1)在一定步长范围内的点计算骨架点;(2)在一定步长范围外的点作为继续“传输水分养分”的部分;(3)将一定步长范围内的点从当前枝干中未经探索的点去除,并用此时剩余的未经探索的点作为输入,重复(1)。3.根据权利要求1所述的非完全模拟树木水分养分传输的枝干点云骨架提取方法,其特征在于:递归实现算法的实现包括以下步骤:S11:首先初始化已经“传输”的距离,初始化骨架点,初始化骨架线的集合;然后输入枝干点云序列;S12:采用聚类算法将未经探索的点分类;S13:计算并存储每一个点与根节点间最短路径距离的序列;S14:步长内的部分用于计算骨架点,步长外的部分用于递归;S15:质心作为骨架点。4.根据权利要求1所述的非完全模拟树木水分养分传输的枝干点云骨架提取方法,其特征在于:步骤S2中,步骤S1的递归深度,将递归深度拆分成若干区间,每一个区间由整棵树的一部分组成,最初,聚类并判断该部分分枝类别数量,然后在每一个分枝类别上进一步递归。5.根据权利要求4所述的非完全模拟树木水分养分传输的枝干...

【专利技术属性】
技术研发人员:温小荣杨杰刘磊
申请(专利权)人:南京林业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1