基于朴素贝叶斯算法的激光雷达点云分类

前言

激光雷达技术是一种采集三维数据的、重建三维模型的手段,运用在各个行业,随着激光雷达技术的发展与广泛运用本文采用监督分类中的朴素贝叶斯算法进行地基于激光雷达的地物分类。首先根据点云的几何位置建立邻域范围,借助邻域点的集合计算平面法向量、拟合平面残差、邻域高程差、邻域高程方差、点云特征向量等几何特征组成点云的高维特征向量,并用朴素贝叶斯算法进行训练和测试点云的分类。最后对实验结果进行精度验证,结果显示树木、建筑物表面分类结果较好。评价了分类结果与误差来源。

一、研究内容

本文采用朴素贝叶斯算法对雷达点云数据进行分类,先构建kd树对点云领域进行搜寻,后提取点云的法向量、残差、主成分及高程差作为朴素贝叶斯算法的参数,运行程序可得到分类结果图。本文通过对结果精度的评估来评判本次分类的结果,旨在探讨朴素贝叶斯算法对本实验数据分类的适用性,并对朴素贝叶斯算法进行简单的探讨。

二、研究数据与方法

2.1 研究数据来源

本文研究的数据范围是奥克兰宾夕法尼亚州匹兹堡的卡耐基梅隆大学的校园,数据是由SICK LMS激光扫描仪和推式路帚的Navlab11进行采集的。点云数据的属性值包括点的x,y,z坐标,以及对应的标签(类别),类别一共五种,分别是植被,电线,树干,地面,建筑物。将数据分为训练数据和测试数据,分别用于模型的训练和结果的验证。

2.2 方法

朴素贝叶斯分类器是一种有监督的学习方法,其假定一个属性的值对给定类的影响而独立于其他属性值,此限制条件较强,现实中往往不能满足,但是朴素贝叶斯分类器取得了较大的成功,表现出高精度和高效率,具有最小的误分类率,耗时开销小 的特征。贝叶斯网分类器是一种有向无环图模型,能够表示属性集间的因果依赖。通过提供图形化的方法来表示知识,以条件概率分布表表示属性依赖关系的强弱,将先验信息和样本知识有机结合起来;通过贝叶斯概率对某一事件未来可能发生的概率进行估计,克服了基于规则的系统所具有的许多概念和计算上的困难。其优点是具有很强的学习和推理能力,能够很好地利用先验知识,缺点是对发生频率较低的事件预测效果不好,且推理与学习过程是 NP-Hard 的。

基于朴素贝叶斯算法的激光雷达点云分类_第1张图片

算法流程为:

  1. 计算各个独立特征在各个分类的条件概率;

  1. 计算各个类别出现的概率

  1. 对于特定的特征输入,计算其相应属于特定分类的条件概率

  1. 选择条件概率最大的类别作为该输入类别进行返回。

三、点云特征构建

3.1 点云邻域

构建算法是指按照k-d树原理构建一棵二叉k-d树,查找算法为在k-d树中进行数据的查找。基本思路为首先通过二叉树搜索(比较待查询节点和分裂节点的分裂维的值,小于等于就进入左子树分支,等于就进入右子树分支直到叶子结点),顺着“搜索路径”很快能找到最近邻的近似点,也就是与待查询点处于同一个子空间的叶子结点;然后再回溯搜索路径,并判断搜索路径上的结点的其他子结点空间中是否可能有距离查询点更近的数据点,如果有可能,则需要跳到其他子结点空间中去搜索(将其他子结点加入到搜索路径)。重复这个过程直到搜索路径为空。

本文用k邻近点法构建点云邻域,点云邻域的大小为15个。用到的工具为matlab的k-d树构建工具。

3.2 点云特征构建和提取

(1)原始值特征

原始点云只有X,Y,Z坐标,其中高程值能够有助于将较高地物和较低地物分割开来。如地面点低,而建筑物和植被高程值较大。因此可以作为一个特征值。

(2)基于统计值的特征

基于统计值的特征是基于邻域内点的统计特性的特征,一个是高程极差,因为不同第五高程极差相差比较大,比如地面点的极差就很小,而建筑物和植被邻域点云的极差则比较大。

(3)基于平面特征

平面特征是基于邻域点云拟合平面特性进行特征的提取。本文获取的第一个点云平面特征是平面法向量,地面法向量近乎垂直,植被的法向量则呈现一定的随机性。在计算时,首先是用提取的邻域点集进行平面的拟合,使得点到平面的残差最小,这一步通常是用最小二乘法实现的。将拟合的平面表面转化为以下形式:

其中,a,b,c为参数,x,y,z为变量,点云的法向量为(a,b,c).将a,b,c加入到特征向量中。

另一个是平面的残差,用来衡量平面的拟合程度。残差越大,说明平面拟合越差,地物表面越不规整;残差越小,平面拟合越好,说明点云光滑、规整。对于不同的地物,比如植被,因为冠层结构复杂,所扫描出来的点云比较粗糙,残差大,而建筑物等的平面残差则较小。

(4)基于特征值

基于特征值的特征获取是通过主成分分析获取特征值,计算前三个特征向量对应的特征值,进行排序λ1λ2λ3,特征值提供了点云在三个方向上的离散程度,可用于计算空间分布。另外特征值之间也可进行运算组成其他的特征,比如线性度、平面度、球度和各向异性等。

四、分类结果与精度

4.1 分类结果

基于朴素贝叶斯算法的激光雷达点云分类_第2张图片

图1 点云真实类别

基于朴素贝叶斯算法的激光雷达点云分类_第3张图片

图2 本文方法分类结果

从图中可以看出,总体上能够区分出地面,建筑物和树木轮廓清晰,地面点区分得最好,其次是建筑物和植被。但是分类结果噪点比较多,在建筑物边缘有一些错分的现象,植被点有些被划分到了建筑物。计算得到总体精度达到87.18%。

4.2 精度评价

对分类结果进行了统计,结果如下:

表1.点云分类精度

基于朴素贝叶斯算法的激光雷达点云分类_第4张图片

精度结果表明,地面点的精度最高,其次是植被和建筑物。

总结

本次实验的误差来源主要有朴素贝叶斯算法本身以及选取的特征两方面原因。朴素贝叶斯算法自身有局限性。另外由于仅仅提取的点云的几何特征来进行训练,而数据本身没有颜色、回波强度等信息,造成点云分类信息的不足,而且几何特征选取过程中可能有信息重叠等因素,所以分类精度有一定偏差。同时在进行分类过程中,训练样本中地物类型点比如1100和1103等类别相比于1400和1200明显少,所以训练样本地物的不均衡性也可能是导致测试中这两类分类精度较低的原因。

这里给大家提供两个点云分类加优化的代码供大家参考与学习,有问题欢迎大家在下方留言与交流。

(1)适用于初级者,基于贝叶斯点云分类方法(本博客方法):

https://download.csdn.net/download/u010329292/87370164

(2)适用于进阶学者,不仅有机器学习分类方法,还有基于条件随机场的后处理:

https://download.csdn.net/download/u010329292/85040585

你可能感兴趣的:(PCL,LiDAR点云,点云分类)