基于深度学习的激光扫描三维点云树木自动分类方法与流程

文档序号:11134741阅读:1684来源:国知局
基于深度学习的激光扫描三维点云树木自动分类方法与制造工艺

本发明涉及空间信息处理领域,尤其涉及一种基于深度学习的激光扫描三维点云树木自动分类方法。



背景技术:

传统的森林调查以人工调查为主,人工调查具有以下多个缺点:1.由于森林中没有明确的标识,导致要调查的样地难以确定,往往还需要依靠老农带路等方法,费时费力。2.调查过程中调查人员面要深入密林,会面临滑坡、毒蛇毒虫等自然危险。3.森林中地形复杂,有的树木甚至长在很陡的斜坡上,人工测量会有误差甚至会遇到无法测量的情况。

而利用激光扫描技术进行森林调查,可以有效解决人工森林调查的诸多缺陷。扫描后的点云数据反映了扫描样地内树木完整的形态结构。在三维点云数据中进行单株树木提取是进行树木参数调查和森林资源调查的基础和前提,而基于点云数据的树木自动提取技术将各株树木所属数据点单独划分出来,可以为自动森林资源调查提供有效的数据。

森林中的树种类别识别是森林调查过程中很关心的地方,然而从原始森林点云中提取的树木数量极大,不适合一一用手工进行树木的种类标注。并且由于扫描数据的不确定性,可能会有部分树木产生被遮挡或者残缺的情况,单纯用人工进行判别可能会导致判别结果失准。机器学习算法一直是解决分类问题的常用方法,它包括训练与预测两个阶段,训练过程可以依靠数据提供的特征用统计学的方法来学习原始数据和类别间的相关性,从而得到训练模型。预测阶段使用训练阶段产生的模型可以预测新数据的类别,实现对新数据的自动分类。在点云数据中进行树种分类,可以利用树干的形态纹理特征、树冠的外观形态特征以及树叶的分布情况等等,常用的机器学习算法包括深度学习、支持向量机、神经网络等等。

此外,由于树种的形态、高度、大小变化多样,即使是同一树种也具有外观形态上的较大差异。要适应这些情况,对分类方法的鲁棒性产生极大的要求。而点云数据本身受扫描仪位置影响,其数据密度分布不均、数据遮挡缺失等问题也容易对分类结果的准确性造成负面影响。对已经提取的树木样本进行自动分类虽然难度大,要求高,但该技术具有重要的经济和实用价值,一直是国内外的研究热点。

目前,对于三维物体进行分类的方法包括直接对三维物体提取特征和分类或者把三维物体投影为二维图像再进行特征提取与分类,其所采用的数据均基于三维网格数据,而不是使用点云数据,存在以下缺陷:

(1)直接对三维物体提取特征进行分类,虽然可以更加充分的利用原始数据的信息,但是三维物体相比于图像所包含的特征要成倍增加。直接提取三维物体特征会造成特征维数爆炸的不利情况,导致数据量过大不能进行训练或者训练时间太长的后果;

(2)三维网格数据具有完整性高的优点,大多数方法在该数据集上能够取得良好的分类效果,却不一定适用于点云数据;

(3)采用三维数据投影到图像的方法时投影面太少,而且投影角度较为单一,不能充分利用投影的信息。



技术实现要素:

本发明的目的在于克服上述现有技术的不足,提供一种基于深度学习的激光扫描三维点云树木自动分类方法。

为实现上述目的,本发明采用以下技术方案:

基于深度学习的激光扫描三维点云树木自动分类方法,包括以下步骤:

S1、在XYZ三维坐标系中,对原始单棵树木点云集P中的每个样本绕Z轴每隔一定角度旋转一次,保留每次旋转过后的结果作为新的单棵树木点云样本,整个数据集旋转过后获得新的单棵树木点云集P';

S2、遍历新的单棵树木点云集P',将点云集P'中的每个样本投影到XOZ平面并对XOZ平面进行网格划分,记录每个网格的累积投影值;

S3、生成以单棵树木点云数量为行数,以XOZ平面面积为列数的特征矩阵S;

S4、对特征矩阵S的每一行做归一化处理;

S5、使用深度置信网络对归一化后的数据集进行深度学习训练获得最终的分类模型;

S6、使用分类模型对新扫描的数据自动化的进行预测,最后在原始点云中将属于单棵树木点云所属的类别标注出来,完成树木分类的操作。

进一步地,所述步骤S1中,输入原始单棵树木点云集P,设每个样本的点为pi=[xi,yi,zi],将X方向以及Y方向的坐标值乘以旋转矩阵以得到旋转过后的坐标值p'i=[x'i,y'i,z'i],旋转矩阵为,

其中α为旋转的角度,则每个点坐标的变化为x'i=xi*cosα-yi*sinα、y'i=yi*cosα+xi*sinα、z'i=zi,对每个样本每隔一定角度旋转一次便可以得到更大的新点云数据集P'。

进一步地,步骤S2中,XOZ平面的范围通过点集P'在Z方向的最大值、最小值以及X方向的质心位置确定,所述网格为正方形网格,网格边长为l,将每个点p'i=[x'i,y'i,z'i],其中p'i∈P',i=1,2,...,s,s为点的个数,按其(x,z)值划入对应所属的网格中,遍历单个样本的每一个点,每遍历一个点时计算该点投影到XOZ平面的哪一个网格,并记录XOZ平面每个网格的累积投影值,对于累积投影值的计算有:

其中bin(n)为高程区间,该高程区间包含区间内所有的三维数据点,n为当前高程区间的序号。

进一步地,步骤S5具体如下:

S51、使用受限玻尔兹曼机(RBM)对归一化后的数据集进行预训练

第j个隐单元的激活概率为

第i个可见单元的激活概率为

其中h代表隐含层,v代表可视层,hj表示第j个隐单元的状态,vi表示第i个可见单元的状态,σ为Sigmoid激活函数,Wij代表可见单元i与隐单元j之间的连接权值,bj代表隐单元j的偏置,ci代表可见单元i的偏置;

S52、使用反向传播算法(BP)进行模型调优,网络的整体均方误差为:

式中,Ek表示模型的整体误差,n代表样本个数,表示第j个样本的真实类别,而表示第j个样本经过神经网络计算得到的类别;

采用梯度下降加上链式法求解神经网络整体误差对某条连接权值的导数:

然后经过一定次数的迭代过后可以得到最终的分类模型,

式中,表示对对应的变量求偏导,whj表示神经连接的权值,表示神经网络整体误差对某条连接权值的导数,βj表示底层的连接。

采用上述技术方案后,本发明与背景技术相比,具有如下优点:

1、本发明通过旋转原始树木点云样本来模拟人眼从多个方向识别一个物体的场景,并且旋转过程也加大了样本的数量,又让三位物体各个面的信息充分展现出来。该方法考虑的是一个三维物体的多个角度的投影,因此对原始扫描仪摆放的位置与方向不敏感,并且有效克服样本数量少的问题;

2、本发明通过对投影面的区间累积计算得到单个物体的特征向量,然后又针对不同的扫描设备采用不同的归一化方式,克服了点云数据密度远近(距离扫描仪)分布不均的缺点,对扫描过程中点云密度的变化不敏感,使得结果受采集设备影响小,更具稳定性;

3、本发明采用采用特征向量为单元进行计算,计算速度快,采用深度置信网络来做训练,深度置信网络中包含一个受限玻尔兹曼机,可以对数据进行预训练,从而有效的减少训练的时间,达到更好的训练效果,更适用于大规模点云场景,具有实际意义和应用价值。

附图说明

图1为本发明流程示意图;

图2为不同树种的单株木分类结果,其中图2(a)为马尾松,图2(b)为杉木,图2(c)阔叶林。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

如图1所示的是本发明的流程示意图,本发明包括以下步骤:

S1、在XYZ三维坐标系中,对原始单棵树木点云集P中的每个样本绕Z轴每隔一定角度旋转一次,保留每次旋转过后的结果作为新的单棵树木点云样本,整个数据集旋转过后获得新的单棵树木点云集P';

输入原始单棵树木点云集P,设每个样本的点为pi=[xi,yi,zi],保持Z方向的坐标值不变,将X方向以及Y方向的坐标值乘以旋转矩阵以得到旋转过后的坐标值p'i=[x'i,y'i,z'i],旋转矩阵为,

其中α为旋转的角度,则每个点坐标的变化为x'i=xi*cosα-yi*sinα、y'i=yi*cosα+xi*sinα、z'i=zi,对每个样本每隔一定角度旋转一次便可以得到更大的新点云数据集P'。

S2、遍历新的单棵树木点云集P',将点云集P'中的每个样本投影到XOZ平面并对XOZ平面进行网格划分,记录每个网格的累积投影值;

遍历S1获得的新点云数据集P',分别计算其在Z方向的最大值Z_max、最小值z_min以及X方向的质心x_center,然后对每个样本按照XOZ平面进行网格划分,XOZ平面的范围通过点集P'在Z方向的最大值、最小值以及X方向的质心位置确定,所述网格为正方形网格,网格边长为l。将每个点p'i=[x'i,y'i,z'i],其中p'i∈P',i=1,2,...,s,s为点的个数,按其(x,z)值划入对应所属的网格中,遍历单个样本的每一个点,每遍历一个点时计算该点投影到XOZ平面的哪一个网格,并记录XOZ平面每个网格的累积投影值,对于累积投影值的计算有:

其中bin(n)为高程区间,该高程区间包含区间内所有的三维数据点,n为当前高程区间的序号。

S3、生成以单棵树木点云数量为行数,以XOZ平面面积为列数的特征矩阵S;

每一个单棵树木点云可以得到一个对应的XOZ平面网格,而每一个XOZ平面网格的累积投影值又可以保存成一行特征向量,遍历整个单棵树木点云数据集P',便可以得到一个行数为单棵树木点云数量,列数为XOZ平面面积的特征矩阵S。

S4、对特征矩阵S的每一行做归一化处理;

根据不同的扫描设备选择不同的归一化方式,具体归一化方法包括除以每行的最大值或者除以一个固定的数值。例如,若扫描结果是离扫描仪近的物体点比较密,离扫描仪远的物体点比较稀疏,就采用最大值归一化。

S5、使用深度置信网络对归一化后的数据集进行深度学习训练获得最终的分类模型;

训练过程主要包括使用受限玻尔兹曼机(RBM)进行预训练以及使用反向传播算法(BP)进行模型调优。然后经过一定次数的迭代过后可以得到最终的分类模型,具体为:

S51、使用受限玻尔兹曼机(RBM)对归一化后的数据集进行预训练

第j个隐单元的激活概率为

第i个可见单元的激活概率为

其中h代表隐含层,v代表可视层,hj表示第j个隐单元的状态,vi表示第i个可见单元的状态,σ为Sigmoid激活函数,Wij代表可见单元i与隐单元j之间的连接权值,bj代表隐单元j的偏置,ci代表可见单元i的偏置;

S52、使用反向传播算法(BP)进行模型调优,网络的整体均方误差为:

式中,Ek表示模型的整体误差,n代表样本个数,表示第j个样本的真实类别,而表示第j个样本经过神经网络计算得到的类别;

采用梯度下降加上链式法求解神经网络整体误差对某条连接权值的导数:

然后经过一定次数的迭代过后可以得到最终的分类模型,

式中,表示对对应的变量求偏导,whj表示神经连接的权值,表示神经网络整体误差对某条连接权值的导数,表示底层的连接,xh表示一个神经元。

S6、使用分类模型对新扫描的数据自动化的进行预测,最后在原始点云中将属于单棵树木点云所属的类别标注出来,完成树木分类的操作。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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