一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种通过激光点云测算树干体积的方法和系统与流程

2022-12-20 22:59:52 来源:中国专利 TAG:


1.本发明涉及激光点云测量技术领域,尤其涉及一种通过激光点云测算树干体积的方法和系统。


背景技术:

2.森林具有高度的生物多样性,能够储存巨量的碳,因此森林树种的研究对于生态学是有着非凡意义的,可以说是热带生态学和生态系统模型建立的基础。森林树种研究的主要内容之一就是地面森林树木总量的估计,地面森林树木总量的估计能够帮助估算地表总生物量以及碳储量的变化;而地面森林树木总量的基本参数之一就是枝下高。
3.枝下高是测算树干体积的关键,通过计算树干体积,能够得到地面森林树木总量。如图1所示,枝下高(英文crownbase height,cbh),指乔木从地表面到树冠的最下分枝点的垂直高度,又叫做冠下高;其中最下分枝点是指树干上第一个一级干枝,在实践上枝下高往往是指立木形成树冠的第一主枝的分枝以下的高度。因为各树种的遗传特性存在差异,所以各树种的枝下高各不相同,即便是相同树种,也因生长环境的不同导致其枝下高存在非常大的差异。枝下高能够用于估算整片林区的木材储量和碳储量;对于树木健康监测、森林野火管理、森林生态系统甚至全球气候变化研究都有重要的意义。
4.然而单木形态的复杂性,准确获取枝下高仍然是一项具有挑战性的任务。现有的枝下高测算方法主要是样地人工量测-回归法,包括以下步骤:首先,在林地中预先划分好样地,比如4*3的一共12公顷的样地,然后人工到现场利用皮尺对每块样地中每一棵树进行枝下高量测,再使用枝下高量测结果与实际的碳储量构建回归方程,最后将回归方程应用到全部林区,就能计算出总的碳储量。这种方法缺陷十分明显:首先,对于较高的树木无法使用直接测量的方法获取枝下高,只能用测斜仪或者毕氏测仗记录(如图2-a所示),但这需耗费大量的时间、人力和物力,人员更不能长时间进行驻扎和作业;其次,这种方法需要人在一定距离处与树木保持通视(如图2-b所示),这在树木彼此遮挡严重的山林中难以实现。综上,虽然利用回归法能快速得到大致的碳储量,但是这种方法的准确性也极大依赖于样地的选择以及样地对整片林区的代表性,最多也只能达到百分之八十左右的准确性。
5.为了解决上述问题,现有技术存在使用基于激光点云对枝下高自动提取的算法。专利cn201310136260(具体如图3-a和图3-b所示)中提到:利用树木枝干的点云数据,将树木枝干点云分成不同的部分,沿树高方向分层,然后利用凸包算法构建树木枝干三角网。上述方法直接使用点云数据进行分层,因为林下枝干有着大量的干扰,所以上述方式存在大量的计算干扰,造成严重的计算误差,无法利用此方法得到准确的树干体积。


技术实现要素:

6.本发明提供一种通过激光点云测算树干体积的方案,旨在解决现有技术提供的树干体积计算方法存在大量的计算干扰,会造成严重的计算误差,无法利用上述方法得到准确的树干体积的问题。
7.为实现上述目的,根据本发明的第一方面,本发明提出了一种通过激光点云测算树干体积的方法,包括:
8.使用三维激光扫描目标林木区域,测量得到目标林木区域的点云数据;
9.根据预定点云算法对目标林木区域的点云数据进行数据预处理,得到单木的点云数据;
10.使用密度直方图法从单木的点云数据中提取并滤除林下灌木高,得到滤除林下灌木高后的点云数据;
11.使用百分比直方图法从滤除林下灌木高后的点云数据中提取得到枝下高的点云数据;
12.根据预定体积算法,使用枝下高的点云数据计算得到树干体积。
13.优选的,上述测算树干体积的方法中,使用三维激光扫描目标林木区域,测量得到目标林木区域的点云数据的步骤包括:
14.使用三维激光雷达扫描包含目标林木区域的周边环境,采集得到原始点云数据;
15.按照扫描物体的类型特征对原始点云数据进行分类,提取目标林木区域的点云数据。
16.优选的,上述测算树干体积的方法中,根据预定点云算法对目标林木区域的点云数据进行数据预处理的步骤包括:
17.对目标林木区域的点云数据依次进行抽稀和去噪处理,得到预处理的点云数据;
18.使用预定尺寸的格网对预处理后的点云数据进行划分,提取得到多个初始地面点;
19.从多个初始地面点中提取得到最终地面点;
20.使用最终地面点对点云数据进行归一化处理,得到相对于最终地面点的点云数据;
21.使用相对于最终地面点的点云数据构建枝下高的点云数据;
22.对枝下高的点云数据进行单木分割,得到单木的点云数据。
23.优选的,上述测算树干体积的方法中,使用最终地面点对点云数据进行归一化处理的步骤包括:
24.使用最终地面点对点云数据构建三角网模型;
25.遍历三角网模型中的各点云数据,查找每个点所在三角形的区域位置;
26.计算区域位置在三角形的高度;
27.分别计算点云数据中每一点的高度与对应区域位置在三角形的高度之差,得到相对于最终地面点的点云数据。
28.优选的,上述测算树干体积的方法中,使用密度直方图法从单木的点云数据中提取并滤除林下灌木高的步骤包括:
29.沿竖直方向对单木的点云数据进行分层,使用每层点云数据含有的点个数构建点个数直方图;
30.使用b样条曲线对点个数直方图依次进行拟合和高斯平滑处理,得到直方图曲线;
31.对直方图曲线分别进行二阶求导,得到点个数二阶导数曲线;
32.从点个数二阶导数曲线中提取二阶导数为正的部分曲线,得到多段目标曲线段;
33.分别计算每段目标曲线段对应的点云密度,选取密度最小且预定高度以上的预定数量的目标曲线区间;
34.从预定数量的目标曲线区间中选取高度最小的区间,作为林下灌木高。
35.优选的,上述测算树干体积的方法中,使用百分比直方图法从滤除林下灌木高后的点云数据中提取得到枝下高的点云数据的步骤包括:
36.提取高于林下灌木高的点云数据,沿竖直方向对点云数据进行分层,使用每层点云数据含有的点个数构建点占比范围直方图;
37.使用b样条曲线对点占比范围直方图进行拟合和高斯平滑处理,得到点数百分比曲线;
38.对点数百分比曲线分别进行一阶求导和二阶求导,分别得到点占比一阶导数曲线和点占比二阶导数曲线;
39.从所有点占比二阶导数为零的点对应的所有一阶导数中,选取一阶导数值最大的预定数量的点作为枝下高的候选位置点;
40.从枝下高的候选位置点中选取高度最低的位置点,作为枝下高的最终位置点;
41.提取枝下高的最终位置点以下的所有点云数据作为枝下高的点云数据。
42.优选的,上述测算树干体积的方法中,根据预定体积算法,使用枝下高的点云数据计算得到树干体积的步骤包括:
43.构建枝下高的点云数据的kd树,使用kd树搜索点云数据中的每个点的邻域;
44.使用点云数据中每个点的邻域,构建树干点集合;
45.在竖直方向上对树干点集合中的所有点进行分层;
46.使用预定提取算法提取每一层点云数据对应的凹包;
47.计算每一层点云数据对应的凹包的面积;
48.使用每一层点云数据点的高度和凹包的面积,计算得到树干体积。
49.根据本发明的第二方面,本发明还提供了一种通过激光点云测算树干体积的系统,包括:
50.点云数据测量模块,用于使用三维激光扫描目标林木区域,测量得到目标林木区域的点云数据;
51.数据预处理模块,用于根据预定点云算法对目标林木区域的点云数据进行数据预处理,得到单木的点云数据;
52.灌木高滤除模块,用于使用密度直方图法从单木的点云数据中提取并滤除林下灌木高,得到滤除林下灌木高后的点云数据;
53.枝下高提取模块,用于使用百分比直方图法从滤除林下灌木高后的点云数据中提取得到枝下高的点云数据;
54.树干体积计算模块,用于根据预定体积算法,使用枝下高的点云数据计算得到树干体积。
55.优选的,上述测算树干体积的系统中,数据预处理模块包括:
56.点云处理子模块,用于对目标林木区域的点云数据依次进行抽稀和去噪处理,得到预处理的点云数据;
57.点云划分子模块,用于使用预定尺寸的格网对预处理后的点云数据进行划分,提
取得到多个初始地面点;
58.地面点提取子模块,用于从多个初始地面点中提取得到最终地面点;
59.归一化子模块,用于使用最终地面点对点云数据进行归一化处理,得到相对于最终地面点的点云数据;
60.点云构建子模块,用于使用相对于最终地面点的点云数据构建枝下高的点云数据;
61.单木分割子模块,用于对枝下高的点云数据进行单木分割,得到单木的点云数据。
62.优选的,上述测算树干体积的系统中,灌木高滤除模块包括:
63.点云分层子模块,用于沿竖直方向对单木的点云数据进行分层,使用每层点云数据含有的点个数构建点个数直方图;
64.直方图拟合子模块,用于使用b样条曲线对点个数直方图依次进行拟合和高斯平滑处理,得到直方图曲线;
65.二阶求导子模块,用于对直方图曲线分别进行二阶求导,得到点个数二阶导数曲线;
66.曲线提取子模块,用于从点个数二阶导数曲线中提取二阶导数为正的部分曲线,得到多段目标曲线段;
67.密度计算子模块,用于分别计算每段目标曲线段对应的点云密度,选取密度最小且预定高度以上的预定数量的目标曲线区间;
68.区间选取子模块,用于从预定数量的目标曲线区间中选取高度最小的区间,作为林下灌木高。
69.综上,本发明上述技术方案提供的通过激光点云测算树干体积的方案,通过使用三维激光扫描目标林木区域,能够测量得到目标林木区域的点云数据,然后根据预定点云算法对目标今明区域的点云数据进行预处理,这样就能够减少林下枝干存在的大量干扰,方便后续提取单木的相关点云数据;在使用密度直方图法从单木的点云数据中提取并滤除林下灌木高,能够减少林下灌木高度对枝下高计算造成的干扰;再使用百分比直方图法从滤除林下灌木高后的点云数据中提取得到枝下高的点云数据,这样就能够得到准的枝下高的高度等信息;最后使用上述枝下高的点云数据就能够准确计算得到树干体积。通过上述方式能够减少树干体积计算过程中的大量干扰,减少计算误差,从而解决了现有技术中难以得到准确的树干体积的问题。
附图说明
70.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
71.图1是现有技术提供的一种枝下高的结构示意图;
72.图2-a是现有技术提供的一种毕氏测丈记录方法的流程示意图;
73.图2-b是现有技术提供的一种树木通视方法的流程示意图;
74.图3-a是现有技术提供的第一种枝下高的激光点云的结构示意图;
75.图3-b是现有技术提供的第二种枝下高的激光点云的结构示意图;
76.图4是本发明实施例提供的一种通过激光点云测算树干体积的方法的流程示意图;
77.图5是图4所示实施例提供的一种目标林木区域的点云数据的测量方法的流程示意图;
78.图6是图4所示实施例提供的一种点云数据的预处理方法的流程示意图;
79.图7是图6所示实施例提供的一种点云数据的归一化方法的流程示意图;
80.图8是图4所示实施例提供的一种林下灌木高的滤除方法的流程示意图;
81.图9是图4所示实施例提供的一种枝下高的点云数据提取方法的流程示意图;
82.图10是图4所示实施例提供的一种树干体积的计算方法的流程示意图;
83.图11是本发明实施例提供的一种预处理后的点云数据的图像示意图;
84.图12是本发明实施例提供的一种点个数直方图的结构示意图;
85.图13是本发明实施例提供的一种点占比范围直方图的结构示意图;
86.图14是本发明实施例提供的一种单木的点云数据的法向滤波的图像示意图;
87.图15是本发明实施例提供的一种单木的切层结构示意图;
88.图16是本发明实施例提供的一种通过激光点云测算树干体积的系统的结构示意图;
89.图17是图16所示实施例提供的一种数据预处理模块的结构示意图;
90.图18是图16所示实施例提供的一种灌木高滤除模块的结构示意图。
91.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
92.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
93.本发明实施例的主要解决的技术问题是:
94.现有技术中使用基于激光点云对枝下高自动提取的算法,主要利用树木枝干的点云数据,将树木枝干点云分成不同的部分,沿树高方向分层,然后利用凸包算法构建树木枝干三角网。上述方法直接使用点云数据进行分层,因为林下枝干有着大量的干扰,因此上述方式存在大量的计算干扰,造成严重的计算误差,无法利用此方法得到准确的树干体积。
95.为了解决上述问题,本发明下述实施例提供了通过激光点云测算树干体积方案,通过对目标林木区域的点云数据进行预处理得到单木点云数据,能够滤除大量的点云噪点,减少干扰项;并且对点云数据进行地面点的提取,利用地面点对点云数据进行归一化处理;再滤除林下灌木高的点云数据的干扰,再从上述点云数据中提取得到枝下高的点云数据,最后使用枝下高的点云数据计算得到树干体积,从而达到了减少计算干扰项,减少计算误差,计算得到准确的树干体积的目的。
96.为实现上述目的,具体参见图4,图4是本发明实施例提供的一种通过激光点云测算树干体积的方法的流程示意图。如图4所示,该通过激光点云测算树干体积的方法,包括:
97.s110:使用三维激光扫描目标林木区域,测量得到目标林木区域的点云数据。
98.具体地,作为一种优选的实施例,如图5所示,上述使用三维激光扫描目标林木区域,测量得到目标林木区域的点云数据的步骤具体包括:
99.s111:使用三维激光雷达扫描包含目标林木区域的周边环境,采集得到原始点云数据。
100.s112:按照扫描物体的类型特征对原始点云数据进行分类,提取目标林木区域的点云数据。
101.本技术实施例提供的技术方案中,通过使用三维激光雷达扫描上述目标林木区域的周边环境,采集周边环境的点云数据;然后将采集到的周边环境的点云数据进行分类,提取出目标区域的点云数据。其中,激光点云技术是指利用在空间中分布的点来描述实际的物体,也就是用激光点云描述物体在地球上的绝对空间位置;这些原始点云数据包含了扫描区域的所有物体,包括可用和不可用的部分,甚至是噪点。
102.图4所示实施例提供的测算树干体积的方法,在测量得到目标林木区域的点云数据后还包括以下步骤:
103.s120:根据预定点云算法对目标林木区域的点云数据进行数据预处理,得到单木的点云数据。上述预处理过程包括抽稀、去噪、地面点提取、归一化处理和单木分割等步骤。
104.具体地,作为一种优选的实施例,如图6所示,上述根据预定点云算法对目标林木区域的点云数据进行数据预处理的步骤具体包括:
105.s121:对目标林木区域的点云数据依次进行抽稀和去噪处理,得到预处理的点云数据。上述过程中首先使用0.02m边长的体素滤波器对点云数据进行抽稀,得到的点云两两间距不大于0.02m;然后对抽稀后的点云数据进行去噪处理,滤除点云数据中的噪声点,得到预处理的点云数据。
106.s122:使用预定尺寸的格网对预处理后的点云数据进行划分,提取得到多个初始地面点。具体使用10cm*10cm的格网对点云进行划分,其中每个格网内的最低点可作为初始地面点。
107.s123:从多个初始地面点中提取得到最终地面点。在得到多个初始地面点后,使用渐进三角网迭代算法从上述多个初始地面点中提取最终的地面点。
108.s124:使用最终地面点对点云数据进行归一化处理,得到相对于最终地面点的点云数据。为了去除地面高程起伏对点云数据计算的影响,本技术对点云数据实施进行归一化处理,这样得到的点云数据就成为相对于最终地面点一定高度的点云。具体地利用地面点构建delaunay三角网,然后遍历点云,找到各个点云所在三角形的位置并计算该位置处落在三角形上的高度z,通过将原有点云的高度减去z,即可得到相对于最终地面点的点云数据。
109.s125:使用相对于最终地面点的点云数据构建枝下高的点云数据。
110.s126:对枝下高的点云数据进行单木分割,得到单木的点云数据。
111.使用上述相对于最终地面点的点云数据构建0.5分辨率的枝下高,然后对枝下高进行操作,例如使用分水岭算法对点云进行单木分割,方便后续对各单木提取枝下高和树干体积的计算。
112.具体如图11所示,首先利用0.02m边长的体素滤波器对点云数据进行抽稀,所得到的点云两两之间的距离不大于0.02m;然后对抽稀后的点云进行去噪,滤除噪声点;使用10cm*10cm的格网对点云进行划分,取每个格网内部的最低点作为初始地面点,使用渐进三角网迭代算法提取最终地面点;最后利用上述最终地面点对点云数据统一进行归一化操
作,去除地面高程起伏对于归一化计算的影响,具体可利用地面点构建delaunay三角网,然后遍历点云,找到各个点云所在的三角形的位置并计算该位置处落在三角形上的高度z,将点云的高度减去z即可;最终得到的点云是“相对于地面的”高度的。最后使用归一化后的点云构建0.5m分辨率的枝下高。对枝下高进行操作,例如使用常见的分水岭算法对点云进行单木分割,后续将对各个单木提取枝下高并测算树干体积。
113.其中,作为一种优选的实施例,如图7所示,上述使用最终地面点对点云数据进行归一化处理的步骤包括:
114.s1241:使用最终地面点对点云数据构建三角网模型。
115.s1242:遍历三角网模型中的各点云数据,查找每个点所在三角形的区域位置。
116.s1243:计算区域位置在三角形的高度。
117.s1244:分别计算点云数据中每一点的高度与对应区域位置在三角形的高度之差,得到相对于最终地面点的点云数据。
118.通过使用上述最终地面点对点云数据构建三角网模型,例如delaunay三角网,然后遍历模型中的各点云数据,就能够找到每个点所在三角形的区域位置,这样就能够计算该区域位置在三角形内的高度z,通过点云数据中每一点的高度减去该区域位置的高度z,就能够得到相对于最终地面点的点云数据。这样该点云就是相对于地面高度的,方便进行归一化操作。
119.图4所示实施例提供的测算树干体积的方法,在对点云数据进行数据预处理,得到单木的点云数据后,还包括以下步骤:
120.s130:使用密度直方图法从单木的点云数据中提取并滤除林下灌木高,得到滤除林下灌木高后的点云数据。
121.因为遗忘的研究方法通常忽略林下灌木对算法的影响,导致枝下高的计算结果存在较大误差。为了减少上述情况,作为一种优选的实施例,如图8所示,上述测算树干体积的方法中,步骤s130:使用密度直方图法从单木的点云数据中提取并滤除林下灌木高的步骤包括:
122.s131:沿竖直方向对单木的点云数据进行分层,使用每层点云数据含有的点个数构建点个数直方图。具体可参见图12,本技术实施例中将单木按照dz分层,每一层厚度能够设置为0.1m,利用每层含有的点个数构建“点个数直方图”,这样就能够直观显现单木的点云数据的分布。
123.s132:使用b样条曲线对点个数直方图依次进行拟合和高斯平滑处理,得到直方图曲线。通过使用b样条曲线bspline对此直方图进行拟合,然后对该b样条曲线进行高斯平滑处理,生成的结果参见图12中的直方图曲线,对此直方图求一阶导数和二阶导数,能够直观显示直方图曲线的变化情况。
124.s133:对直方图曲线分别进行二阶求导,得到点个数二阶导数曲线;具体参见图12中的二阶导数曲线。一阶导数描述的是直方图曲线的变化。当一阶导数为正时,点云的密度增加;当一阶导数为负时,点云的密度减少。二阶导数描述的是一阶导数的变化。二阶导数为0的地方正好是密度的拐点。通过观察可以发现,二阶导数为正的部分,正是点密度直方图正处于局部最低的部分。
125.s134:从点个数二阶导数曲线中提取二阶导数为正的部分曲线,得到多段目标曲
线段。
126.s135:分别计算每段目标曲线段对应的点云密度,选取密度最小且预定高度以上的预定数量的目标曲线区间。
127.s136:从预定数量的目标曲线区间中选取高度最小的区间,作为林下灌木高。
128.需要从点个数二阶导数曲线中找到全部的二阶导数大于0的部分,这些部分的集合为s,在图12中二阶导数大于0的部分即为该二阶导数为正的目标曲线段;然后对目标曲线段进行划分,得到多个子曲线段,每段子曲线段为si,对于集合s中的每一个曲线段si,计算si区间内的点云密度pi,即为区间点云密度。有些曲线段所占的高度区间虽然很小,但其中所含的点个数却很多,林下灌木正好满足这样的条件。故从全部的区间点云密度pi中找到密度最小的且高度在0.5m以上5个区间,从而确定复合上述条件的区域为一次目标区域。再从这5个区间(一次目标区间)内挑出高度最小的区间作为最终的林下灌木高位置(再次筛选得到二次目标区间作为最终的林下灌木高位置)。
129.在确定了最终的林下灌木高的位置点后,将此高度以下的点全部废弃,即排除林下灌木的影响,从而利用此高度以上的点进一步提取枝下高。
130.具体地,图4所示实施例提供的测算树干体积的方法,在上述步骤s130,得到滤除林下灌木高后的点云数据的步骤之后还包括以下步骤:
131.s140:使用百分比直方图法从滤除林下灌木高后的点云数据中提取得到枝下高的点云数据。本技术实施例中将林下灌木高的高度以上的所有点按照dz进行分层,每层厚度可设置为0.1m,分层后使用每层含有的点个数,使用百分比直方图法构建“点占比范围直方图”,这样就能够提取得到枝下高的点云数据。
132.具体地,作为一种优选的实施例,如图9所示,上述使用百分比直方图法从滤除林下灌木高后的点云数据中提取得到枝下高的点云数据的步骤包括:
133.s141:提取高于林下灌木高的点云数据,沿竖直方向对点云数据进行分层,使用每层点云数据含有的点个数构建点占比范围直方图。具体将林下灌木高的最高点以上的点云数据按照dz进行分层(dz可取0.1m)。分层再进行分析是重点,利用每层含有的点个数构建“点占比范围直方图”,如图13中灰色部分所示。可以看到,由于林下灌木高位置以下的点全部都被废弃,所以图13中从0m到20m,点所占的百分比全部都是0。在20m以上,随着层高增加,此高度以下的点越来越多,所占的百分比越来越多,一直到树木最高处变化为1.0,所以此直方图也是单调递增的。
134.s142:使用b样条曲线对点占比范围直方图进行拟合和高斯平滑处理,得到点数百分比曲线。
135.s143:对点数百分比曲线分别进行一阶求导和二阶求导,分别得到点占比一阶导数曲线和点占比二阶导数曲线。利用b样条曲线bspline对上述点占比范围直方图进行拟合,然后利用b样条曲线对拟合后的直方图进行高斯平滑,对平滑后的曲线求取一阶导数,由于点占比范围直方图是单调递增的,因此直方图的一阶导数全部大于0。对于一阶导数再次求导,就能够得到百分比曲线的点占比二阶导数曲线,如图13中百分比曲线的二阶导数所示。
136.s144:从所有点占比二阶导数为零的点对应的所有一阶导数中,选取一阶导数值最大的预定数量的点作为枝下高的候选位置点。
137.s145:从枝下高的候选位置点中选取高度最低的位置点,作为枝下高的最终位置点。
138.s146:提取枝下高的最终位置点以下的所有点云数据作为枝下高的点云数据。
139.通过观察能够发现,二阶导数为0的点正是一阶导数的拐点,也即一阶导数的最大值和最小值所在。说明在此处的点云密度的增加速度急剧升高。也就是潜在枝下高所在的位置,因此只要找到一阶导数最大的点就等于找到了枝下高所在位置。本技术实施例中选取点数百分比在0.5以下的一阶导数最大的五个候选枝下高的位置。然后选择高度最低的枝下高位置作为最终的枝下高位置,这种候选策略可以避免树木形态带来的错选。之所以选取百分比在0.5以下的点,是因为这个点在林业中能够相对稳定地估计生物量参数,是一个经验值。
140.找到枝下高后,需要对枝下高以下的树干进行体积计算。具体地需要对枝下高以下的点云数据进行操作,从灌木中提取有效树干点。
141.具体地,图4所示实施例提供的测算树干体积的方法,在提取得到枝下高的点云数据后还包括以下步骤:
142.s150:根据预定体积算法,使用枝下高的点云数据计算得到树干体积。具体的预定体积算法主要包括法向滤波和垂直方向切层操作。通过上述方法能够使用枝下高的点云数据计算得到树干体积。
143.具体作为一种优选的实施例,如图10所示,上述根据预定体积算法,使用枝下高的点云数据计算得到树干体积的步骤包括:
144.s151:构建枝下高的点云数据的kd树,使用kd树搜索点云数据中的每个点的邻域。
145.s152:使用点云数据中每个点的邻域,构建树干点集合。
146.s153:在竖直方向上对树干点集合中的所有点进行分层。
147.s154:使用预定提取算法提取每一层点云数据对应的凹包。
148.s155:计算每一层点云数据对应的凹包的面积。
149.s156:使用每一层点云数据点的高度和凹包的面积,计算得到树干体积。
150.本技术实施例提供的技术方案,首先进行法向滤波:先对点云构建kd树,kd树的作用是可以快速地对邻域点云进行搜索。对枝下高的点云数据中每一个点,搜索邻域的10个点,利用这10个点拟合平面并计算平面的方向作为这个点的方向,记为为d。保留所有和水平方向相差小于10
°
的点作为初始树干点集合,记为u。再次遍历u中点云,对u中每一个点搜索邻域的10个点,若邻域内属于u的点个数大于5,则该点予以保留,这些点记为集合up。
151.其次,对up中的点在垂直方向上进行切层,对每一层的点云使用alpha-shape算法提取凹包,并通过通用的面积计算公式计算此凹包的面积ai,如图15所示。将各个层的点云的高度hi和面积ai相乘,就能够得到各层树干的体积vi,将所有层的体积vi累加,就能得到枝下高以下树干的体积。
152.其中,图14显示了这些点云分层后每一层点云的树干形态。公式可表示为:
153.vi=ai*hi;
154.v=v1 v2

vn。
155.综上,本发明上述实施例提供的通过激光点云测算树干体积的方法,通过使用三维激光扫描目标林木区域,能够测量得到目标林木区域的点云数据,然后根据预定点云算
法对目标今明区域的点云数据进行预处理,这样就能够减少林下枝干存在的大量干扰,方便后续提取单木的相关点云数据;在使用密度直方图法从单木的点云数据中提取并滤除林下灌木高,能够减少林下灌木高度对枝下高计算造成的干扰;再使用百分比直方图法从滤除林下灌木高后的点云数据中提取得到枝下高的点云数据,这样就能够得到准的枝下高的高度等信息;最后使用上述枝下高的点云数据就能够准确计算得到树干体积。通过上述方式能够减少树干体积计算过程中的大量干扰,减少计算误差,从而解决了现有技术中难以得到准确的树干体积的问题。
156.基于上述方法实施例的同一构思,本发明实施例还提供了通过激光点云测算树干体积的系统,用于实现本发明的上述方法,由于该系统实施例解决问题的原理与方法相似,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
157.参见图16,图16为本发明还提供了一种通过激光点云测算树干体积的系统的结构示意图。如图16所示,该测算树干体积的系统包括:
158.点云数据测量模块110,用于使用三维激光扫描目标林木区域,测量得到目标林木区域的点云数据;
159.数据预处理模块120,用于根据预定点云算法对目标林木区域的点云数据进行数据预处理,得到单木的点云数据;
160.灌木高滤除模块130,用于使用密度直方图法从单木的点云数据中提取并滤除林下灌木高,得到滤除林下灌木高后的点云数据;
161.枝下高提取模块140,用于使用百分比直方图法从滤除林下灌木高后的点云数据中提取得到枝下高的点云数据;
162.树干体积计算模块150,用于根据预定体积算法,使用枝下高的点云数据计算得到树干体积。
163.综上,本发明上述实施例提供的通过激光点云测算树干体积的系统,通过使用三维激光扫描目标林木区域,能够测量得到目标林木区域的点云数据,然后根据预定点云算法对目标区域的点云数据进行预处理,这样就能够减少林下枝干存在的大量干扰,方便后续提取单木的相关点云数据;在使用密度直方图法从单木的点云数据中提取并滤除林下灌木高,能够减少林下灌木高度对枝下高计算造成的干扰;再使用百分比直方图法从滤除林下灌木高后的点云数据中提取得到枝下高的点云数据,这样就能够得到准的枝下高的高度等信息;最后使用上述枝下高的点云数据就能够准确计算得到树干体积。通过上述方式能够减少树干体积计算过程中的大量干扰,减少计算误差,从而解决了现有技术中难以得到准确的树干体积的问题。
164.作为一种优选的实施例,如图17所示,上述数据预处理模块120包括:
165.点云处理子模块121,用于对目标林木区域的点云数据依次进行抽稀和去噪处理,得到预处理的点云数据;
166.点云划分子模块122,用于使用预定尺寸的格网对预处理后的点云数据进行划分,提取得到多个初始地面点;
167.地面点提取子模块123,用于从多个初始地面点中提取得到最终地面点;
168.归一化子模块124,用于使用最终地面点对点云数据进行归一化处理,得到相对于最终地面点的点云数据;
169.点云构建子模块125,用于使用相对于最终地面点的点云数据构建枝下高的点云数据;
170.单木分割子模块126,用于对枝下高的点云数据进行单木分割,得到单木的点云数据。
171.作为一种优选的实施例,如图18所示,上述测算树干体积的系统中,灌木高滤除模块130包括:
172.点云分层子模块131,用于沿竖直方向对单木的点云数据进行分层,使用每层点云数据含有的点个数构建点个数直方图;
173.直方图拟合子模块132,用于使用b样条曲线对点个数直方图依次进行拟合和高斯平滑处理,得到直方图曲线;
174.二阶求导子模块133,用于对直方图曲线分别进行二阶求导,得到点个数二阶导数曲线;
175.曲线提取子模块134,用于从点个数二阶导数曲线中提取二阶导数为正的部分曲线,得到多段目标曲线段;
176.密度计算子模块135,用于分别计算每段目标曲线段对应的点云密度,选取密度最小且预定高度以上的预定数量的目标曲线区间;
177.区间选取子模块136,用于从预定数量的目标曲线区间中选取高度最小的区间,作为林下灌木高。
178.综上,与现有技术的方式相比,本专利上述实施例提供的技术方案具有以下优点:
179.1、基于单木分割的结果构建并分析点云密度直方图,能够获取林下灌木的高度,然后再利用该林下灌木高度以下的点云获取最终的枝下高,能够准确地去除林下灌木杂草对树干体积算的结果带来的影响,这一点在以前的研究当中通常是被忽略的。
180.2、构建点云百分比直方图,通过挖掘一阶导数和二阶导数的含义找到候选枝下高的位置,然后找到最佳最合理的最终的枝下高,充分考虑到了树木的形态的变化。
181.3、树干体积的计算是通过先对点云进行法向滤波,过滤了大部分不属于树干的点;然后采用分层策略,每一层分别通过凹包计算体积,将各层体积累加得到最终的树干体积。相比于其他方法计算出的树干体积准确性更高。
182.4、上述方案易于编写为计算机程序,自动化程度高。本文方法易于采用计算机程序语言实现,复杂度小且效率高。
183.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
184.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
185.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
186.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
187.应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
188.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
189.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献