写了一套激光点云的处理代码,顺便水了一篇文章,为了水文章也刷了很多文章,对于激光点云数据的处理有些总结以便于进行进一步的研究与问题的发现;激光点云数据,如果不考虑点云回波信息则可以将其作一个空间中的几何点进行处理。在处理过程中最大的问题在于点云是离散的,不存在拓扑关系,因此通过点云提取信息会在一定的困难,所有对于激光点云信息提取的方法和手段的目的都是为了建立点与点之间的拓扑关系。而点云拓扑关系的建立都必须基于一定的假设,比如假设点云在空间中以某一种分布形式存在,或目标物本身的特征满足某一分布等。基于这个前提就可以对点云进行一系列的分析和处理,然后进一步提取点云的特征。
    对于点云数据的处理按照我的经验主要分为两大部分,第一个大部分为点云本身的处理,增加点云的信息量,比如对点云的分割分类等操作;第二个部分为从点云中提取信息,比如通过点云识别电力线路植被危险或者是通过点云数据进行变形监测等。实际上从点云中能够提取的信息是比较有限的,特别是如果不对点云做分割分类的条件下,因为点云本身既不连续又不具备空间拓扑关系,两个点云数据集之间很难联系在一起。因此通过第一个处理步骤对点云进行分割和分类就显得十分重要,而对于点云数据的处理也多集中在这个部分。实际上不管是分割还是分类都会面临一个巨大的问题那就是如何判断点云是否属于同一簇,这个时候就需要对点云的分布有一个预先的估计,然后根据分类和分割的结果求取估计参数并根据样本对估计进行假设检验与显著性分析,然后列出显著性分析的分析函数,变化分割结果使得满足显著性分析结果取得最大值,以上整个操作就是点云处理的数学基础。从以上过程分析就可以看出,实际上对于点云分割和分类的处理,创新点一般可从:

  • 1.点云分布的估计(根据分割目标的不同可能存在不同的分布估计或者是多种分布的结合);
  • 2.点云参数估计的求解;
  • 3.显著性分析或者假设检验的方法和过程;

    以上三点是比较大的方向,至于细节上的创新可以从这三点中进行细分;如果是要写文章的话大概就是从这三个角度去思考了。另外还有一个更加具有挑战性的工作那就是对点云的分布函数进行估计,实际上由于不同地物分布都是不同的,一般我们也可能只会在上面列的三个步骤都的过程中对分布的显著性进行计算然后调整。
    以上都是常规的点云处理的方法了,随着机器学习方法的发展和流行,基于机器学习的点云处理方法也开始出现,其中影响力比较大的是将CNN方法用于点云处理而提出的PointNet方法了。在理解卷积神经网络的基础上理解卷积神经网络用户点云分类分割上是一件相对比较简单的事情,首先卷积神经网络的卷积核,实际上其主要作用就是提取特征,对于点云来说我们可以将其理解为提取点云的结构特征,通过卷积核将离散的点云结构化处理从而能够更好的求取特征;另外相比于影像点云没有强度,因此在处理的过程中一般是将三维空间进行分割,然后以其中的点云数目作为其强度由此构造一个三维空间的强度图,然后通过三维空间的卷积核进行深度卷积神经网络的学习。但是这个过程可能不一定是这么简单,或者说并不是这么的合理,在构建三维空间强度图的时候并没有考虑点云的实际分布,直接通过卷积核池化操作实际上就是一个暴力求解的过程。