基于密度峰值聚类的杆状物规则化三维建模方法及系统的制作方法_2

文档序号:9751746阅读:来源:国知局
0030]1、首次运用多种特征实现杆状物特征的精细化提取与分类。结合国内外多篇文献中的特征提取算法,再依据本项目的特色发展,最终形成了一套利用扫描点高度值波动范围、不同水平面投影点密度与投影形状、竖直面投影特征、基于密度峰值和距离属性的聚类等多种方法实现杆状物点云的标准、快速、精细化的聚类、分离及归类的算法,并可同时获取其精确的位置信息,具有快速、高效、准确、鲁棒性等优点。
[0031]2、规则化三维建模。有别于以往对城市杆状地物采用的统一化处理方式,本项目将针对不同属性的杆状物分别建立精细化三维模型的模板。最终按照获取的分类属性和尺寸信息对应相应的模板自动生成对应的三维模型,并按相应的位置信息安置于数字城市模型中。
[0032]3、利用分布特性填补缺失杆状物。针对点云缺失问题,利用城市杆状地物在地域上规则化分布的特点,将城市地物中具有明显杆状特点但因附近存在干扰而难以识别的杆状物加入到数字城市中。
【附图说明】
[0033]图1是本发明实施例的流程图。
[0034]图2是本发明实施例的点云预处理流程图。
【具体实施方式】
[0035]本发明利用杆状物点云的空间分布特性提取树木等城市杆状地物,并提出利用杆状物规则化分布特性,将城市地物中具有明显杆状特点但因附近存在干扰而难以识别的杆状物加入到提取过程,并最终集成到数字城市中。以下结合附图和实施例详细描述本发明的技术方案。
[0036]参见图1,本发明实施例所提供基于密度峰值聚类的杆状物规则化三维建模方法的具体实施流程如下:
[0037]步骤一:点云数据的预处理。
[0038]从原始的车载点云数据入手到对点云进行聚类需要进行一系列的预处理工作,预处理的目的是为了尽可能地去除非杆状地物点。
[0039]为了减少复杂地物空间结构中的干扰信息,先对点云数据进行预处理,突出杆状物空间分布信息。预处理包括利用高程和法线增长原理去除地面点,并利用进行点云的重采样、离群点的去除、点云高程滤波等操作,具体实施时可以利用PCL库(Point CloudLibrary:现有功能最完善的点云处理预封装库)。最后将点云数据投影到Χ0Υ、Χ0Ζ和YOZ三个坐标平面上(取Y方向指向正北方向、Z方向指向竖直方向,按右手规则建立的三维坐标系,竖直方向即垂直于地平面的方向)。
[0040]参见图2,实施例的预处理流程如下:
[0041]首先进行体素重采样,通过输入的点云数据创建一个三维体素栅格(即一个立方体),然后在每个体素内用体素中所有点的重心来近似显示体素中的其他点,这样该体素内所有点可最终用他们的重心点表示,处理后的点云数据排列规则,当体素的大小设置合理时,也可在保留有用信息的同时大大减少数据量,具体实施时本领域技术人员可自行预设体素大小,例如2cm X 2cm、Icm X lcm;
[0042]再去除离群点:对每个点,计算它到其所有临近点的平均距离。假设得到的结果是一个高斯分布,其形状由均值和标准差决定,平均距离在标准范围(由全局距离平均值和方差定义)之外的点,可被定义为离群点,并可从数据集中去除掉,去除离群点是为了去掉不必要的噪声点,例如高层建筑顶部的离散点,这些点在扫描时就很稀疏,也不是杆状物的点,因而这些点在聚类中不会起到作用,去除掉这些噪声点后可以减小数据量,提高效率;
[0043]接着,为了提高运行速度,本发明提出将整个场景的点云进行格网化分割,之后的步骤都将在单个网格内部进行处理。具体实施时,可以依据实际操作中杆状物的平均间距设定分割网格的尺寸,例如将分割的网格大小确定在5mX5m?1mX 1m之间,使每一个网格内部的杆状物数量不超过3个。
[0044]最后进行高程直通滤波:在垂直于地面的高程方向上进行简单的直通滤波,即除去用户指定的高程区间内部(或外部)的点。由于实际操作中,地面点占据近一半的点云数据量且分布在很窄的高度区间内,故可采用高程直方图寻找高程统计峰值以确定地面高程区间并求地面高程区间内点的加权均值(可用直方图里面的频数作为权值),将所得地面高程均值作为高程滤波区间下限设定依据,取略高于地面高程均值(例如0.3m)作为下限。上限则可根据具体情况预设,比如该城市常见树种的树冠底层高度。例如树冠底层高度为3m,设定采用地面高程均值0.3m以上,3m以下的高程滤波区间进行滤波,如此可将大部分的地面点和高程值大于滤波区间的建筑点去除以减少数据量,同时由于杆状物通常为由地面竖直向上伸出的细长物体,此次滤波后仍可以保留杆状物的绝大部分点云以便之后的特征分析。而对于具有较大坡度的特殊地形,无法较好的单纯利用直通滤波方式快速去除地面点云,此时可以利用法线生长的方法。具体的思想是从已知的道路点出发,借助相邻道路点法线变化的连续性,设定一个法线夹角阈值,如果相邻道路点法线角度变化超过该阈值,那么便认为此处发生“突变”,即认为已经生长到道路的边缘,最终获得所有的道路点集。该方法可以去除特殊地形的道路点,扩大了各种环境下算法的普适性,在去除了道路点的同时也缩小了数据量,有利于提高程序的速度。高程直通滤波可在各网格分别进行并行处理。
[0045]经过以上四个步骤后,所得到的数据不仅数据量相比原始数据大大减少,而且杆状物的信息更加突出,其它地物点的分布也更加具有特点,与杆状物的分布特点差别也更加明显。为了方便聚类,可将点云向三个平面投影,即将以上处理后的数据向Χ0Υ、Χ0Ζ和YOZ三个平面进行投影,步骤二将在其中的每一个平面上对点云进行聚类。平面投影可在各网格分别进行并行处理。
[0046]步骤二:点云数据的聚类。
[0047]因为预处理过程中已经尽可能地减少了其它地物信息和噪声的干扰,所以在各个投影方向进行聚类后可利用杆状物的空间特性进行识别。利用Alex Rodriguez和Alessandro La1的论文中提出的基于密度峰值和距离属性聚类的思想,可以分别在三个投影平面中进行聚类,以恢复点云在三维空间内的所有聚集特征。这样针对预处理后的点云数据进行聚类,可以充分利用点云所具有的三维信息,实现杆状物提取。聚类的思想是对于点云中的每一个点,将预先设定的距离阈值带入高斯核函数(Radial Basis Funct1n)后计算其点密度(即该点所在区域的局部密度);再针对每一个点计算它到密度比它大的最近的一个点的距离。这两个参数便是决定该点是否为聚类中心的重要依据,密度决定了该聚类中心周围点的密集程度,距离决定了聚类中心之间相隔的距离,那么当密度和距离两个参数同时大于相应的阈值时,该点即可选为聚类中心。具体实施时,可参见文献AlexRodriguez and Alessandro La1,Clustering by fast search and find of densitypeaks[J] ,Science,2014,具体实施时,本领域技术人员可自行设定密度与距离阈值乘积的经验阈值,以自动提取所有的聚类中心。
[0048]聚类中心选择出来后,对于其它点,将该点归为到密度比它大又最近的一个点所在的类别当中,这样即可完成对每个点的分类。然而对于类与类交界处的这些点,往往很难定义它们属于哪一类。对于这些边界点的处理方法如下:如果在某点的高斯核函数距离阈值内,存在另一个从属于不同类别的点,那么此时可利用这两个点的点密度的均值与这两个点所在类的边界密度值进行比较,若该均值大于某个类的边界密度值,则用该均值作为这个类的边界密度值。接下来针对某一类中的点,如果其点密度小于该类的边界密度值,则这个点被定义在类的外环(cluster halo)区域,而该类中其它点都是类的内核(clustercore)区域,类的内核区域中的点明确属于该类,而类的外环区域中的点是不确定的,甚至有时不对它们进行分类。
[0049]在聚类结束后,则需要将每一类对应的点序号存入相应的动态链表中,以便之后进行进一步分析时作为点索引对类内数据点进行快速的取用。
[0050]基于以上思想,可以得到一个较为满意的分类结果,在实验中从针对XOY平面投影的聚类效果来看,杆状物的投影面通常可以用参数椭圆进行良好的拟合,而其他地物的聚类效果形状不规则,可排除其为杆状物的可能性;从针对XOZ和YOZ平面投影的聚类效果来看,杆状物投影面具有明显的平行四边形或矩形
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1