从三维激光点云数据中提取感兴趣建筑物的方法 【技术领域】
本发明涉及建筑物点云数据处理技术领域,尤其涉及一种从三维激光点云数据中提取感兴趣建筑物的方法。
背景技术
建筑物是城市中最重要的研究对象,许多实际应用都与建筑物有关,比如城市规划、公共安全研究、环境监测研究、无线通讯、灾害评估等。建筑物的检测、提取与重建也是摄影测量、遥感等领域的主要研究课题之一。尽管摄影测量方法仍然是目前提取大规模城区建筑的有效手段,但基于影像的提取还存在许多困难,影像的噪声、光照条件、阴影、遮挡以及场景的复杂性使得建筑物的检测变得相当复杂。主动传感器,比如机载LiDAR获得的城区数据不受光照、阴影的影响,并可直接获取对象的高度信息,为建筑物重建提供了理想的数据源。
激光探测及测距(Light Detection and Ranging,LiDAR)技术,也称激光扫描(Laser Scanning)技术,因其具有快速、准确地获取激光所到达对象表面的信息的特点,近年来已成为获取大规模3D地貌的重要工具。LiDAR数据的获取周期短、自动化程度高,然而,现有的大多数LiDAR点云处理算法在实践中用于质量控制及手工操作的时间在整个数据处理时间中占据了相当大的比例。因此,设计自动、高效、稳健的LiDAR点云分类与目标提取算法具有重要的研究价值。
建筑物的边缘轮廓线是建筑物模型的重要特征,它可直接用于建筑物提取、构建建筑物的多边形模型,也可用于辅助从航空影像中提取准确的建筑物边缘。在提取建筑物边缘之前,需要将三维点云数据进行滤波分类,即先确定建筑物所在区域,这样可提高后续处理速度以获得更好的效果。
Vosselman对原始LiDAR点云描述的建筑物区域进行三角化,将其边界上的三角形的边构成的多边形作为建筑物轮廓的初始描述。该算法假设建筑物轮廓是由直线段组成,且有一个主方向,这些直线段或平行或垂直于建筑物主方向,从而得到建筑物轮廓的求精逼近。Huber将2D影像中提取并求精的边缘线投影到已检测到的建筑物区域,然后对每一幢建筑物进行边缘聚类,从而得到建筑物的轮廓信息。赖旭东将机载激光雷达的距离数据转换成距离灰度图像,运用经典边缘检测算子对其进行处理。蒋晶珏直接从原始LiDAR点云中提取边缘线,将离散的空间3D点连接起来,利用最小生成树从建筑物边缘点生成以折线段的形式来描述的建筑物轮廓矢量。
【发明内容】
(一)要解决的技术问题
有鉴于此,针对点云数据测量精度高、可直接提供目标三维坐标的特点,本发明的主要目的在于提供一种直接从三维激光点云数据中提取感兴趣建筑物的方法,以从三维激光点云数据中自动、高效地提取出建筑物,方便用户快速查找到感兴趣的目标,并为后续的建筑物重建做准备。
(二)技术方案
为达到上述目的,本发明采用的技术方案如下:
一种从三维激光点云数据中提取感兴趣建筑物的方法,该方法包括:
从滤波后的非地面点中确定建筑物候选点;
以点间距离为约束对确定的候选点进行聚类,完成单个建筑物目标的分割;
分别提取每个建筑物目标的边缘点;
对每个建筑物对象的边缘进行规则化,记录目标信息制成目标查找表;以及
从目标查找表中搜索出所有符合用户感兴趣目标特点的对象,提供给用户。
上述方案中,所述从滤波后的非地面点中确定建筑物候选点的步骤中,是将符合以下条件的点确定为候选点:
1)、离地面距离符合建筑物特点地点;以及
2)、为去除非建筑物点的干扰,对基于点云高度值生成的深度图像进行高程纹理值分析,纹理值相对较低或者属于小块的纹理值突出区域的点。
上述方案中,所述以点间距离为约束对确定的候选点进行聚类,完成单个建筑物目标的分割的步骤,具体包括:
利用kd树组织点云数据,以点间距离为约束,对确定的候选点进行聚类,完成单个建筑物目标的分割;该聚类及分割过程具体如下:
a)、使用基于标准规则分裂平面建立的kd树组织点云数据;
b)、从候选点集中随机取出一点p,放入一个新的点集,并将该点集标记为A;
c)、搜索距点p符合距离约束的邻域点,将其从候选点集中取出并放入点集A中;
d)、对点集A中新出现的点,在候选点集中逐一搜索符合距离约束的邻域点,将搜索出的点都放入点集A中;
e)、重复步骤d)直到点集A中没有新的点出现;
f)、如果点集A中点的个数超过阈值,则将点集A记为一类,否则直接将这些点从候选点集中删除;以及
g)、重复步骤b)至步骤f),直到候选点集为空。
上述方案中,所述分别提取每个建筑物目标的边缘点的步骤,具体包括:
I、初步识别出边缘点并加入边缘点集,识别准则为:当点p位于边缘处时,其k近邻点的覆盖范围小于点p周围一半的区域,则可据此判断点p是否为边缘点;以及
II、如果识别出的边缘点与其局部水平邻域内最低点的高程值没有明显的阶跃变化,则将该点从边缘点集中删除。
鉴于高层建筑侧面上的扫描点会极大地影响边缘点提取的效果,进一步采用以下的步骤来优化提取:对于对象中的每个点,以该点为中心做一个圆柱,圆柱底面的半径取该点到最邻近点的距离,圆柱的高可根据点云密度的大小适当选取;然后根据“相对于屋顶面上的点来说,侧面点的圆柱内会存在更多的点”这个特点,区分侧面点和屋顶面点;但是这将会把侧面和屋顶面交线上的点认为是侧面点,所以提取过程中需要完成以下处理步骤:i)、将经过步骤I和步骤II得到的点集标记为A1;ii)、用上述方法分离出屋顶点和侧面点,分别对此屋顶点和侧面点进行步骤I和步骤II边缘点识别,得到标记为A2和A3的点集;以及iii)根据(A1∩A2)∪(A3-A1)完成边缘点的优化提取。
上述方案中,所述对每个建筑物对象的边缘进行规则化,记录目标信息制成目标查找表的步骤,具体包括:
对每个建筑物对象的边缘进行线段化;
对得到的线段进行调整及组合;
完成线段的调整及组合后,如果该对象轮廓中存在弧形,则进行弧形的拟合;以及
输出对象特征。
上述方案中,所述对每个建筑物对象的边缘进行线段化的步骤,具体包括:
a)、在边缘点集中随机选取两点,形成一条线段;
b)、计算其他点到该线段所在直线的距离,如果小于一定阈值,则认为该点在线段上;
c)、依次计算线段上的点间距,如果间距超过一定阈值,则将间距处得到的线段分割为两段;
d)、如果步骤c)得到的线段上的点足够多,则根据线段上所有的点拟合成新的线段方程并保存,同时从边缘点集中删除这些点,否则,执行步骤(e);以及
e)、对余下的点重复执行步骤a)至步骤d),直到找不到符合条件的线段为止。
上述方案中,所述对得到的线段进行调整及组合的步骤,具体包括:假设直线可表示为AiX+BiY+C=0,其中Ai Ai+Bi Bi=1;两条直线之间的夹角α取值为[0,pi],可由两个公式确定:i)Ai Aj+Bi Bj=cosα;ii)Ai Bj-Bi Aj=sinα;并取一个角度阈值β,如果两条相邻线段的夹角与90度差在±β度以内,则认为垂直;如果与0度或180度差在±β度以内,则认为重合;
所述完成线段的调整及组合后,如果该对象轮廓中存在弧形,则进行弧形的拟合的步骤,具体包括:对剩余的点进行距离聚类,得出存在几段弧;对于每个弧段,将相邻的点依次连接起来,从起始到结束得到一组点的序列,用最小二乘圆或者三次样条方法拟合成平滑的弧线;
所述输出对象特征的步骤,具体包括:完成上述规则化过程后,得到的对象特征包括顶面边长数、各边长长度、各边长间夹角,以及边缘存在几条弧形,将这些特征和对象的位置、高度一并记录,制成目标查找表用于后续感兴趣目标查找。
上述方案中,所述从目标查找表列出所有符合用户感兴趣目标特点的对象,提供给用户的步骤,具体包括:根据用户感兴趣目标的特点,从目标查找表中进行查询,列出所有符合条件的对象,提供给用户。
(三)有益效果
1、本发明提供的这种直接从三维激光点云数据中提取感兴趣建筑物的方法,基于滤波后的建筑物点云数据,直接对利用kd树组织的三维点云数据进行目标分割、边缘点提取、边缘规则化,并提供提取出的建筑物特征信息,供用户快速查找感兴趣目标。
2、本发明提供的这种直接从三维激光点云数据中提取感兴趣建筑物的方法,不存在点云插值误差,不受建筑物的大小或形状的影响,可以生成与原始点云数据紧密吻合的、规则化后的边缘轮廓线,为感兴趣建筑物目标的提取、建筑物模型的重建提供相关信息。
3、本发明提供的这种直接从三维激光点云数据中提取感兴趣建筑物的方法,使用kd树来组织点云数据,在处理大规模点云时仍然能够保持较快的处理速度。
4、本发明提供的这种直接从三维激光点云数据中提取感兴趣建筑物的方法,直接从三维点云中提取出边缘点,得到与原始点云紧密吻合的轮廓信息,对数据中存在航带重叠或者大量侧面点的情况仍然适用。
5、本发明提供的这种直接从三维激光点云数据中提取感兴趣建筑物的方法,仅使用点云数据就能快速搜索到感兴趣建筑物目标,可提供给用户包括顶面边长数、各边长长度、各边长间夹角,边缘存在几条弧形,以及对象的位置、高度等目标特征。
【附图说明】
图1是本发明提供的从三维激光点云数据中提取感兴趣建筑物的方法流程图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
如图1所示,图1是本发明提供的从三维激光点云数据中提取感兴趣建筑物的方法流程图,该方法包括:
步骤101:从滤波后的非地面点中确定建筑物候选点;
步骤102:以点间距离为约束对确定的候选点进行聚类,完成单个建筑物目标的分割;
步骤103:分别提取每个建筑物目标的边缘点;
步骤104:对每个建筑物对象的边缘进行规则化,记录目标信息制成目标查找表;以及
步骤105:从目标查找表中搜索出所有符合用户感兴趣目标特点的对象,提供给用户。
上述步骤101中所述从滤波后的非地面点中确定建筑物候选点,是将符合以下条件的点确定为候选点:
1)、离地面距离符合建筑物特点的点;以及
2)、为去除非建筑物点的干扰,对基于点云高度值生成的深度图像进行高程纹理值分析,纹理值相对较低或者属于小块的纹理值突出区域的点。
上述步骤102中所述以点间距离为约束对确定的候选点进行聚类,完成单个建筑物目标的分割,具体包括:
利用kd树组织点云数据,以点间距离为约束,对确定的候选点进行聚类,完成单个建筑物目标的分割。该聚类及分割过程具体如下:
a)、使用基于标准规则分裂平面建立的kd树组织点云数据;
b)、从候选点集中随机取出一点p,放入一个新的点集,并将该点集标记为A;
c)、搜索距点p符合距离约束的邻域点,将其从候选点集中取出并放入点集A中;
d)、对点集A中新出现的点,在候选点集中逐一搜索符合距离约束的邻域点,将搜索出的点都放入点集A中;
e)、重复步骤d)直到点集A中没有新的点出现;
f)、如果点集A中点的个数超过阈值,则将点集A记为一类,否则直接将这些点从候选点集中删除;以及
g)、重复步骤b)至步骤f),直到候选点集为空。
上述步骤103中所述分别提取每个建筑物目标的边缘点,具体包括:
I、初步识别出边缘点并加入边缘点集,识别准则为:当点p位于边缘处时,其k近邻点的覆盖范围小于点p周围一半的区域,则可据此判断点p是否为边缘点;以及
II、如果识别出的边缘点与其局部水平邻域内最低点的高程值没有明显的阶跃变化,则将该点从边缘点集中删除。
鉴于高层建筑侧面上的扫描点会极大地影响边缘点提取的效果,该方法可以进一步采用以下的步骤来优化提取。对于对象中的每个点,以该点为中心做一个圆柱,圆柱底面的半径取该点到最邻近点的距离,圆柱的高可根据点云密度的大小适当选取;然后根据“相对于屋顶面上的点来说,侧面点的圆柱内会存在更多的点”这个特点,区分侧面点和屋顶面点,但是这将会把侧面和屋顶面交线上的点认为是侧面点,所以提取过程中需要完成以下处理步骤:i)、将经过步骤I和步骤II得到的点集标记为A1;ii)、用上述方法分离出屋顶点和侧面点,分别对此屋顶点和侧面点进行步骤I和步骤II边缘点识别,得到标记为A2和A3的点集;以及iii)根据(A1∩A2)∪(A3-A1)完成边缘点的优化提取。
上述步骤104中所述对每个建筑物对象的边缘进行规则化,记录目标信息制成目标查找表,具体包括:
步骤1041:对每个建筑物对象的边缘进行线段化;具体包括:
a)、在边缘点集中随机选取两点,形成一条线段;
b)、计算其他点到该线段所在直线的距离,如果小于一定阈值,则认为该点在线段上;
c)、依次计算线段上的点间距,如果间距超过一定阈值,则将间距处得到的线段分割为两段;
d)、如果步骤c)得到的线段上的点足够多,则根据线段上所有的点拟合成新的线段方程并保存,同时从边缘点集中删除这些点,否则,执行步骤(e);以及
e)、对余下的点重复执行步骤a)至步骤d),直到找不到符合条件的线段为止。
步骤1042:对得到的线段进行调整及组合;具体包括:假设直线可表示为AiX+BiY+C=0,其中Ai Ai+Bi Bi=1;两条直线之间的夹角α取值为[0,pi],可由两个公式确定:i)AiAj+Bi Bj=cosα;ii)Ai Bj-BiAj=sinα;并取一个角度阈值β,如果两条相邻线段的夹角与90度差在±β度以内,则认为垂直;如果与0度或180度差在±β度以内,则认为重合。
步骤1043:完成线段的调整及组合后,如果该对象轮廓中存在弧形,则进行弧形的拟合;具体包括:对剩余的点进行距离聚类,得出存在几段弧;对于每个弧段,将相邻的点依次连接起来,从起始到结束得到一组点的序列,用最小二乘圆或者三次样条方法拟合成平滑的弧线。
步骤1044:输出对象特征;具体包括:完成上述规则化过程后,得到的对象特征包括顶面边长数、各边长长度、各边长间夹角,以及边缘存在几条弧形,将这些特征和对象的位置、高度一并记录,制成目标查找表用于后续感兴趣目标查找。
上述步骤105中所述从目标查找表中搜索出所有符合用户感兴趣目标特点的对象,提供给用户,具体包括:根据用户感兴趣目标的特点,从目标查找表中进行查询,列出所有符合条件的对象,提供给用户。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。