基于几何特征和生长规律分析的单木木叶分离方法

文档序号:37769404发布日期:2024-04-25 10:55阅读:33来源:国知局
基于几何特征和生长规律分析的单木木叶分离方法

本发明属于计算机视觉,涉及基于几何特征和生长规律分析的单木木叶分离方法。


背景技术:

1、三维激光扫描仪作为三维地形测量和建模的重要工具,能够高效地获取物体的三维点云数据,而在森林资源调查领域,使用激光雷达能够获取树木的详细三维垂直结构信息,为树种识别、树高、胸径、林木密度等指标的测量提供了重要数据来源。木材和树叶的分离是准确提取树木参数、树木建模及可视化的先决条件。

2、目前已有的三维点云树木叶木分离方法包括基于几何特征、基于辐射特征和基于图的方法三类:

3、1、基于几何特征的三维点云树木木叶分离方法

4、基于几何特征的叶木分离方法通过分析点云数据中叶子和木材的几何特征来实现分离,具体是通过计算点云数据中每个点的几何特征,如法向量、曲率等来区分点云数据中的不同部分,从而实现叶木分离。wan等人提出了一种利用曲率特征的方法,首先利用曲率将点云分为三部分,然后利用连通域标记算法对局部曲率较小的前两部分分别进行分割,最后,根据每段的分段横向几何特征将分割后的点云分为木材段和树叶段;该方法中第一步分离出的叶子点并未进行后续处理,对于木杆不平滑、密度变化大的树容易将枝干点误分成树叶点。zhang等人采用了连通分量分割方法,该方法计算了每个片段的几何特征,包括片段内的点的数量和片段的高宽比,最后将具有较大点数和较高高宽比的段确定为茎段,应用分割策略来分离木点和叶点减少点云分类的计算负担和不确定性,但木材和树叶的分类结果严重依赖于分割结果。

5、2、基于辐射特征的三维点云树木木叶分离方法

6、辐射特征是指特定波长的激光回波的强度和反射率。辐射特征,特别是强度值,已经被证明在许多分类工作中是有用的。强度方法是基于确定一个适当的强度值作为区分木材和树叶的阈值。这种方法的假设在于激光雷达系统的工作波长,树木的不同组成部分在光学特性之间存在显著差异。如li等人提出了一种多波长的木叶分离方法,他们将短波红外激光获得的数据与近红外激光获得的数据合并,发现短波红外激光下的叶片反射强度低于近红外激光下的叶片反射强度,并且短波红外激光下的树干亮度是叶片的两倍。通过这些结果表明,多波长可以用于树木叶木分离。然而不同激光雷达系统的波长和功率并不一致。激光雷达传感器之间的主要差异与激光的波长、功率、脉冲持续时间和重复率、光束大小和发散角有关。因此使用一个激光雷达系统成功的基于辐射特征的树叶分类并不能保证使用其他激光雷达系统成功分类。

7、3、基于图的三维点云树木木叶分离方法

8、基于图的方法是另一种常见的三维点云树木木叶分离方法。该方法使用点云中的拓扑结构信息构建图,并在图上进行分割。这种方法的核心思想是将点云视为无序的点集,通过构建图的方式将点云中的点连接起来,进而进行分割。hui等人提出了一种基于模态点演化的方法来分离树木和木叶。该方法利用meanshift分类算法将整个点云分成多个簇,每个簇的中心点作为模式点代替当前簇。然后根据最短路径算法构造中心点的图结构。利用树叶在边缘的性质,进行路径回溯得到部分叶点。剩余部分通过应用最短路径分析,将具有较高出现频率的路径作为主干。最后通过相似的垂直度补全其他枝干。由于树木的多样性以及结构的复杂性,加之木叶之间的相互遮挡,导致已有的方法木叶分离准确率不高。


技术实现思路

1、本发明的目的是提供基于几何特征和生长规律分析的单木木叶分离方法,解决了现有技术中存在的木叶分离准确率不高的问题。

2、本发明所采用的技术方案是,基于几何特征和生长规律分析的单木木叶分离方法,具体按照以下步骤实施:

3、步骤1、获取树木点云,利用树木的几何特性将树木点云分类;

4、步骤2、对步骤1分类中的点云进行分割,分割成多个簇,获取每个簇分割聚类的圆柱模型,选择种子簇,筛选主干点、分枝点、候选枝杆点、候选叶点;

5、步骤3、对步骤2中候选枝杆点体素化,将符合条件的体素中的点与步骤2中的主杆点合并,得到最终的木点,将不符合条件的体素中的点云与步骤2中候选叶点合并,作为最终的叶点。

6、本发明的特点还在于:具体按照以下步骤实施:

7、步骤1、获取树木点云,利用树木的几何特性将树木点云分类,分为“初始散状点”s、“初始面状点”p和“初始线性点”l三类;

8、步骤2、对步骤1分类中的点云进行分割,分割成多个簇,获取每个簇分割聚类的圆柱模型,选择种子簇,筛选主干点、分枝点、候选枝杆点、候选叶点;

9、从“初始面状点”p中提取主杆点和大分枝点,作为“初始主杆点”,剩余点作为“散乱点”s1;将“初始散状点”s合并到“散乱点”s1;利用圆柱拟合模型,从点集s1和初始线性点l中提取残存主干点和大分枝点,与“初始主杆点”合并得到最终的“主杆点”;将初始线性点l中剩余的点作为“候选枝杆点”,将点集s1中剩余的点作为“候选叶点”;

10、步骤3、对步骤2中候选枝杆点体素化,将符合条件的体素中的点云与步骤2中的主杆点合并,得到最终的木点,将不符合条件的体素中的点云与步骤2中候选叶点合并,作为最终的叶点。

11、将步骤2中的候选枝杆点体素化,将单个体素内的点云数量作为体素的密度,把密度大于阈值的体素和位于主杆的体素作为种子体素,由种子体素开始小枝杆的生长;在生长过程中符合密度和主方向条件的体素继续作为种子体素;所有种子体素生长结束后,将种子体素中的点云与步骤2中的“主杆点”合并得到最终的木点,将不符合条件的体素中的点云与步骤2中“候选叶点”合并作为最终的叶点。

12、步骤1的具体实施步骤为:

13、步骤1.1、利用主成分分析计算点云的特征值;

14、取树木点云中的任意一点x,找到点x的k个邻近点点x的三阶协方差矩阵c为:

15、

16、其中,为点x的k个邻近点的平均位置:

17、

18、通过特征值分解法对点x的协方差矩阵c进行特征值分解,得到协方差矩阵c的特征值λ1>λ2>λ3>0;

19、步骤1.2、将树木点云分为“初始线性点”、“初始面状点”、“初始散状点”中的一类,重复步骤1.1,直到点云数据中所有点均被分类;

20、

21、步骤2的具体过程为:

22、步骤2.1、对步骤1提取的“初始面状点”p进行横向切分,将初始面状点p沿着z轴方向切分成h层;

23、步骤2.2、采用由高到低的动态区域生长算法,从低到高对每层的点云进行分割;

24、从低到高将每一层投影到xoy平面,用投影面积确定当前层是否在树冠区域,投影面积通过投影后沿x轴和y轴的坐标差计算;当投影面积超过阈值areat时,利用dbscan算法将当前层中的点云分割成多个簇,并将一些密度小的簇去除;从底部开始,用ransac算法获取每个簇分割聚类的圆柱模型,用沿着圆柱轴线的矢量作为每个簇的主方向,计算每个簇的重心点并用重心点代表每个簇;

25、步骤2.3、选择种子簇;

26、步骤2.4、选择新种子簇;当第i层中的所有种子点均生长到根部,开始寻找第i-1层中的种子簇;重复步骤2.3,直到进入主干层,生长结束;将{w}中对应簇中的点合并为“初始主杆点”用p1表示,“初始面状点”中剩余的点作为“散乱点”,用s1表示;

27、步骤2.5、将步骤1中的初始散状点s合并到散乱点s1中;利用{w}序列中的木点簇对应的圆柱模型,筛选s1和步骤1初始线性点l中残存的主干点和大分枝点;将s1和l中的残存主干点和大分枝点合并到p1得到最终的“主杆点”p2;将l中剩余的点作为“候选枝杆点”m1,s1中剩余的点作为“候选叶点”s2。

28、步骤2.3的具体过程为:

29、步骤2.3.1、由于树枝的末端通常隐藏在树叶中,从顶部开始向下寻找种子簇,种子簇需要满足公式(4)中的五个条件:

30、

31、每个条件的对应的含义为:

32、ⅰ、两个相邻簇的主方向应该几乎平行,因为分支在一个方向上局部生长;

33、ⅱ、两个相邻簇的质心的连接方向是局部区域中分支的生长方向,下层集群的主方向应与生长方向相似;

34、ⅲ、由于树枝随着生长得越高而展开,因此较低簇的主要方向应该更接近生长方向;

35、ⅳ、对于连续分支,相邻层中两个簇之间的距离非常小;

36、ⅴ、根据树木的生长模式,树枝远离树干生长,因此,较低层的质心应比较高层的质心更靠近主干;

37、其中,表示第i层中第j个簇的质心,表示i-1层中第s个簇的质心;是簇的主方向,是簇的主方向;是的矢量;α是和之间的夹角,β是和之间的夹角;和分别表示和沿着z轴从质心到根节点的垂直距离;每层中的种子簇可能不止一个,设置种子点序列{s}和木点序列{w},将种子簇放入{s}中;

38、步骤2.3.2、采用动态区域生长方法,寻找最佳簇来生长;

39、找到第i层的种子簇,在i-1层中找到最佳簇来生长,通过能量函数来评估簇从更高层生长到树根的成本:

40、

41、其中,距离项dis(·)用于测量相邻簇的连续性,平滑度项sm(·)是测量相邻簇的连续性,数据项d(·)用于计算簇的局部密度,在局部区域中,木点的密度通常大于叶点的密度;

42、

43、

44、其中,表示簇中的点数,是基于三维凸包计算的簇的体积。

45、步骤2.3.2中种子簇的具体生长过程为:

46、步骤2.3.2.1、从{s}中弹出一个种子簇

47、步骤2.3.2.2、计算第i-1层中不同簇的能量成本u,具有最小u值的簇被选择为下一个要生长的簇,放入{s};

48、两个约束来减少木点的错误分类:

49、

50、第一个约束是两个相邻簇的主方向很小,另一个约束是相邻簇之间的距离很小,当相邻簇之间的距离较大或者两个簇的主方向上存在显著差异时,第i-1层中的生长过程停止,然后继续在下一层中搜索;

51、步骤2.3.2.3、重复步骤2.3.2.1、2.3.2.2,直到到达树根;同时,将符合条件的簇添加到木点序列{w}中,那些已经添加到{w}的集群将不会再添加;

52、第i层中有两个种子簇和对于种子簇是下一层中具有最小t值的簇,并且和满足公式(8)中的条件,因此加入{s}和{w}中,然后再弹出{s}中的种子点是下一层中具有最小t值的簇,且和满足公式(8)中的条件,将加入{s}和{w}中,重复步骤2.3.2.1、2.3.2.2,直到树根。

53、步骤3的具体过程为:

54、步骤3.1、对步骤2中的候选枝杆栅格处理;

55、遍历候选枝杆点m1,找出最大和最小的x、y、z,分别记为xmax、xmin、ymax、ymin、zmax和zmin,对候选枝杆点m1栅格处理;

56、

57、其中grid_x表示沿x轴分成的格子数量,grid_y表示沿y轴分成的格子数量,grid_z表示沿z轴分成的格子数量,grid_size_x表示沿x轴划分的一个格子的长度,grid_size_y表示沿y轴划分的一个格子的长度,grid_size_z表示沿z轴划分的一个格子的长度;

58、步骤3.2、计算步骤3.1中每个小方格的密度、主方向;

59、遍历每个小方格,小方格里的点云数量即为方格的密度,顺序遍历每个格子,把格子里的点云视为一个整体,则按照步骤1.1计算特征值,其中k的值为格子的点云数量,得到的最大特征值对应的特征向量即为格子的主方向;

60、步骤3.3、寻找木点;

61、由于大部分叶点已经在步骤1中被分离出来,m1中包含叶点的格子密度较小,而包含木点的格子密度大部分较大,且小树枝部分主要呈线性,对于密度较小的包含木点的格子通过找具有相似主方向的格子进行生长,最终找到所有木点的格子。

62、步骤3.3在寻找过程中将格子作为整体,其中心点代表整个格子,具体步骤如下:

63、步骤3.3.1、逐个遍历最终的主杆点p2中的每个点,判断这些点坐标是否落在候选枝杆点栅格后的某个格子中,如果该点落在这个格子中,则该格子进入候选种子点的栈;设置数组flag,当对应格子的flag值为1,则表示该格子已经是木点格子;

64、步骤3.3.2、将密度大于阈值grid_wood_den_1的格子加入木点序列,对应格子的flag值设置成1,并且作为候选点加入候选种子点的栈;

65、步骤3.3.3、从候选点开始生长,寻找密度小的木点格子。

66、步骤3.3.3的具体过程为:

67、步骤a、从候选种子点的栈中弹出一个候选格子,寻找候选格子的26邻域;

68、步骤b、如果邻域的格子中满足密度大于阈值grid_wood_den_2、主方向与候选格子的主方向夹角小于阈值angel_t且对应flag值不为1,则将该满足条件的邻域加入木点序列,flag值设置为1,同时作为候选种子点入栈;

69、步骤c、如果邻域格子只满足密度大于grid_wood_den_2、夹角大于阈值angel_t且对应flag值不为1,则将格子记作g_1,继续判断g_1的邻域格子的26邻域;如果26邻域格子中有格子g_2的密度大于阈值grid_wood_den_2,且主方向与g_1主方向的夹角小于阈值angel_t,将g_2邻域格子中的点与g_1中的点合并,计算出主方向,如果合并后的主方向与g_1的主方向之间的夹角小于阈值angel_t,则将g_1加入木点序列,flag值设置为1,同时作为候选种子点入栈;

70、步骤d、一直循环,直到候选种子的栈弹空;最终的木点序列里的所有体素对应的点云就是树木的小枝干部分,与步骤2中的主杆点p2合并得到最终的木点p3,m1中剩余的点与步骤2中的候选叶点s2合并,得到最终的叶点s3。

71、本发明的有益效果是:本发明基于几何特征和生长规律分析的单木木叶分离方法,实现单棵树木木叶的完整分离,解决了现有技术中存在的由于树种的多样性和树结构的复杂性而导致的木叶分离准确率不高的问题;无需进行人工选择训练数据,避免手动设定带来的误差,实现了单棵树木木叶的精确提取。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1