一种基于点云数据的树木自动分割方法与流程

文档序号:11144872阅读:723来源:国知局
一种基于点云数据的树木自动分割方法与制造工艺

本发明涉及点云数据处理方法和智慧交通领域,具体的说是一种基于三维点云数据对树木进行自动分割的方法。



背景技术:

随着经济和城市化的快速发展,交通拥堵等状态也在不断恶化,交通标志牌的检测及识别得到越来越多的关注。树木遮挡是智能交通系统中主要的阻碍因素,因此单树分割具有重要意义。树木完成精确分割,可以进一步获得树的结构属性,如树木高度、树冠直径、树冠高度,底面积,胸径,木材体积以及物种类型,对林业也起到了重要的作用。

激光探测与测量(Light Detection and Ranging,LiDAR)是一种主动遥感技术,该技术通过传感器发出的激光脉冲来测定传感器与目标物之间的距离、探测目标的位置、速度等特征,具有与被动光学遥感不同的成像机理。为了满足“精准交通”的更精确、更自动化、更细致的要求,利用先进的遥感技术针对单株树木进行分割以减少对交通牌的遮挡已经成为智慧城市信息化管理的必然趋势。



技术实现要素:

本发明的目的在于提供一种基于点云数据的树木自动分割方法,其可在无需人工干预的,快速准确对点云数据中树木进行提取测量。

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

一种基于点云数据的树木自动分割方法,包括以下步骤:

S1、预处理:包括噪声点去除、数据抽稀、空间数据索引的建立以及地面滤波的预处理工作;

S2、空间网格化投影:将步骤S1中得到的点云数据根据离散点的空间密度分布自适应的将空间域划分为若干正方形格网,将三维数据垂直投影到二维平面;

S3、滤除不合格网格:剔除步骤S2中带有少量信息的网格;

S4、基于启发式搜索的树干位置识别:对步骤S3得到的网格进行搜索,得到树干所在位置的网格;

S5、划分单树树冠:利用步骤S4中得到的树干位置作为初始种子,通过改进的分水岭方法划分个体树冠。

还包括步骤S6、验证与矫正:对步骤S5中得到的分割结果进行验证。

所述步骤S1包括以下分步骤:

S11、建立KD-tree空间数据索引;

S12、利用RANSAC自动检测和剔除地面点,设置被检测的目标函数模型为平面,同时设置距离参数阈值来决定RANSAC目标函数中的判断为内点的准则,再利用生成的KD-tree索引有效地提取出城区中的平坦地面。

所述步骤S2包括以下分步骤:

S21、计算空间格网区域激光扫描点云的数量N,再根据点云数据的最小包围矩阵,矩阵范围为(x_range,y_range),计算出该区域的面积S,其中x_range和y_range的范围分别是点云数据里的(x_min,x_max)和(y_min,y_max)。由此可以计算出激光点云数据的密度D:

D=N/S;

S22、根据计算出的数据密度D,以及空间网格所要求的平均点云数目得到单位网格的面积Sgrid,最后获得网格大小GridSize以及空间网格所在的行列数目(Row,Col);

S23、建立一个行乘以列大小的数组或容器,用于存储每个网格的属性信息;

S24、遍历激光扫描点云最小包围矩阵内的所有点,判断每个点所在的格网位置,对于落在格网边界上的点,规定每个格网包括落在其左边界和下边界的点,不包括其右边界和上边界的点。

上述步骤S24中,所述激光点P(x,y)落在格网ImageInfo[r][c]的判别公式为:

r=(x-x_min)/GridSize

c=(y-y_min)/GridSize

所述步骤S3包括以下分步骤:

S31、对于步骤S2得到的网格,如果网格中的最大高度小于设定的某一阈值,则删除该网格中的所有点;

S32、对于步骤S2得到的网格,通过计算网格中的总点数除以网格面积得到网格密度值,如果小于某一阈值,则删除该网格中的所有点。

上述步骤S31中的所述网格的高度阈值根据实际树木高度进行设定,所述步骤S32中的所述网格的密度阈值根据激光点云的密度进行设定。

所述步骤S4包括以下分步骤:

S41、随机的选择初始网格位置,将其设置为当前网格;

S42、对当前网格的邻域进行搜索,如果某个邻域网格的密度高于当前网格,那么当前网格将往更高密度的邻域网格移动。一次搜索过程将进行到所有的邻域网格密度都小于当前网格时停止,此时当前网格被标记为树干位置网格;

S43、重复步骤S41、S42直到该爬山搜索直到抵达设定的迭代次数。

所述步骤S5包括以下分步骤:

S51、选择识别到的所有的树干位置网格作为溢水开始的种子节点,对每一个种子赋予一个不同的标签;

S52、设置一个竞争优先级队列,优先级次序由网格中的最大高程值决定,高程越高,竞争优先级越大,然后将每个初始溢水种子的邻域网格加入优先级队列;

S53、从优先级队列中取出优先级最高的网格,搜索其邻域。如果某个邻域网格的最大高程小于一定高程阈值,判断其已经达到树冠边界,将其标记为边界网格。如果该网格的所有已经标记的非边界的邻域网格有着相同的标记,那么也赋予同样的标记给该网格。如果邻域网格存在一个以上的标记,那么判断该网格为重叠部分网格,为其记录所有重叠的标记。然后将所有未被标记的邻域网格加入优先级队列;

S54、重复步骤S53直到优先级队列为空;

S55、对于重叠部分有着一个以上标记的网格,对该网格内点云数据中每一个点根据一定的概率Pi赋予其中一个标记

其中,Pi是其中一个点属于标记i的概率,Di表示该点到标记i的距离或相似度,Dt表示标记好的与每个点的距离,Mi表示已经被标记为i的一定高程上的点的强度均值,d表示该点的强度信息。

上述步骤S55中,所述强度值为点云的激光回波强度,它与地物目标的反射率成正比关系,即反射率越大,点云反射强度值越高。

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

1、本发明基于点云数据进行测量方法,而点云数据的获取可以使用车载或者机载设备获取十分便捷,对于点云数据的处理完全自动化无人工干预,使得本发明自动化程度极高。

2、通过使用改进的分水岭分割模型使得算法对于树冠区域重叠较密集部分的点云数据具有很好的鲁棒性,使得测量结果更加稳健可靠。

附图说明

图1为本发明一种基于点云数据的树木自动分割方法的工作流程图。

图2为本发明预处理步骤后得到的地面检测结果示意图。

图3为本发明基于启发式搜索进行树干位置查找的流程图。

图4为本发明基于改进的分水岭算法进行单树树冠分割的流程图。

图5为本发明得到的树木分割结果示意图。

具体实施方式

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

实施例

在对本实施例进行详细描述之前,需要指出的是,本实施例所提供的基于点云数据树木自动分割方法,是一种对三维点云中树木进行分割的自动方式。

请参阅图1的流程图,本发明提供了一种基于点云数据的树木自动分割方法,包括以下步骤:

S1、预处理

激光扫描系统扫描得到的原始点云数据中存在着一些噪声点,需要在预处理的过程中剔除,因此需要建立空间点的领域拓扑关系,用于计算数据点的法向量、曲率等信息。步骤具体通过以下步骤实现:

S11、建立KD-tree空间数据索引;

S12、利用RANSAC自动检测和剔除地面点。设置被检测的目标函数模型为平面,同时设置一定的距离参数阈值来决定RANSAC目标函数中的判断为内点的准则,再利用生成的KD-tree索引有效的提取出城区中的平坦地面(见图2所示的预处理步骤后得到的地面检测结果示意图),距离阈值根据地面的实际高度进行设定。

S2、空间网格化投影

为了将二维图像上的分水岭算法拓展到三维点云数据处理,需要对三维点云数据进行网格化投影处理。基本思想是:将预处理之后的点云数据根据离散点的空间密度分布自适应的将空间域划分为若干正方形格网,将三维数据垂直投影到二维平面上,利用行、列值对子块进行索引。对于某一参考点的邻域搜索只需要在该点附近的若干个子块(3×3邻域或5×5邻域)中进行,搜索效率将得到大的提高。该步骤具体通过以下步骤实现:

S21、计算空间格网区域激光扫描点云的数量N,再根据点云数据的最小包围矩阵,矩阵范围为(x_range,y_range),计算出该区域的面积S,其中x_range和y_range的范围分别是点云数据里的(x_min,x_max)和(y_min,y_max)。由此可以计算出激光点云数据的密度D:

D=N/S;

S22、根据计算出的数据密度D,以及空间网格所要求的平均点云数目得到单位网格的面积Sgrid,最后获得网格大小GridSize以及空间网格所在的行列数目(Row,Col);

S23、建立一个行乘以列大小的数组或容器,用于存储每个网格的属性信息;

S24、遍历激光扫描点云最小包围矩阵内的所有点,判断每个点所在的格网位置,对于落在格网边界上的点,规定每个格网包括落在其左边界和下边界的点,不包括其右边界和上边界的点。

其中激光点P(x,y)落在格网ImageInfo[r][c]的判别公式为:

r=(x-x_min)/GridSize

c=(y-y_min)/GridSize

S3、滤除不合格网格

步骤S2中得到的网格结果中仍然存在一些无效树峰,需要将不合格树峰排除。该步骤具体通过以下步骤实现:

S31、对于步骤S2得到的网格,如果网格中的最大高度小于设定的某一阈值,则删除该网格中的所有点;网格的高度阈值根据实际树木高度进行设定。

S32、对于步骤S2得到的网格,通过计算网格中的总点数除以网格面积得到网格密度值,如果小于某一阈值,则删除该网格中的所有点。网格的密度阈值根据激光点云的密度进行设定。

S4、基于启发式搜索的树干位置识别

见图3所示的基于启发式搜索进行树干位置查找的流程图,爬山搜索算法是启发式搜索的一种方法,常常用来解决极值问题。由于在车载激光扫描系统进行扫描时,树干的位置能够反射较多的点数目,所以在经过空间网格投影后的激光扫描点云数据中,树干所在的网格具有比相邻网格更高的点云密度。因此树干位置识别问题就可以转换成寻找局部密度最大值的问题。该步骤具体通过以下步骤实现:

S41、随机的选择初始网格位置,将其设置为当前网格;

S42、对当前网格的邻域进行搜索,如果某个邻域网格的密度高于当前网格,那么当前网格将往更高密度的邻域网格移动。一次搜索过程将进行到所有的邻域网格密度都小于当前网格时停止,此时当前网格被标记为树干位置网格。

S43、重复步骤S41、S42直到该爬山搜索直到抵达设定的迭代次数。

S5、划分单树树冠

与传统的基于CHM图像上的点云分水岭树木分割算法相比,本发明设计的分水岭算法将直接在已经建立的空间投影网格上进行分割,弥补了传统CHM图像在经过滤波后所造成的信息丢失的不足,保留了三维点云数据中每一个点的所有信息。同时利用步骤4中的启发式搜索算法得到的树干位置作为起始种子,提高了分割结果中单株树木位置的准确度和时间效率。见图4所示的基于改进的分水岭算法进行单树树冠分割的流程图,该步骤具体通过以下步骤实现:

S51、选择识别到的所有的树干位置网格作为溢水开始的种子节点,对每一个种子赋予一个不同的标签;

S52、设置一个竞争优先级队列,优先级次序由网格中的最大高程值决定,高程越高,竞争优先级越大,然后将每个初始溢水种子的邻域网格加入优先级队列;

S53、从优先级队列中取出优先级最高的网格,搜索其邻域。如果某个邻域网格的最大高程小于一定高程阈值,判断其已经达到树冠边界,将其标记为边界网格。如果该网格的所有已经标记的非边界的邻域网格有着相同的标记,那么也赋予同样的标记给该网格。如果邻域网格存在一个以上的标记,那么判断该网格为重叠部分网格,为其记录所有重叠的标记。然后将所有未被标记的邻域网格加入优先级队列;

S54、重复步骤S53直到优先级队列为空;

S55、对于重叠部分有着一个以上标记的网格,对该网格内点云数据中每一个点根据一定的概率Pi赋予其中一个标记

其中,Pi是其中一个点属于标记i的概率,Di表示该点到标记i的距离或相似度,Mi表示已经被标记为i的一定高程上的点的强度均值,d表示该点的强度信息。强度值为点云的激光回波强度,它与地物目标的反射率成正比关系,即反射率越大,点云反射强度值越高。

激光回波强度与地物目标的反射率成正比关系,即反射率越大,点云反射强度值越高。采用强度信息作为相似度判断条件是基于假设在激光雷达扫描时同一棵树木的时候,属于该树木树冠的所有点具有相似的强度信息。

S6、验证与矫正

将步骤S5中得到的分割结果进行验证。图5为本发明得到的树木分割结果示意图。

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

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