中国科学院大学学报  2016, Vol. 33 Issue (4): 537-541   PDF    
基于机载LiDAR数据的建筑屋顶点云提取方法
李亮1,2, 王成2, 李世华1, 习晓环2     
1. 电子科技大学资源与环境学院, 成都 611731 ;
2. 中国科学院遥感与数字地球研究所数字地球重点实验室, 北京 100094
摘要: 机载激光雷达技术已经成为快速获取城市建筑三维数字模型的有效手段,而建筑物屋顶点云提取则是建筑物三维数字模型重建的关键。为有效剔除植被和墙面点云,以及消除地形起伏对建筑点云提取精度的影响,提出一种层进式屋顶点云提取方法。首先对LiDAR点云进行滤波,在此基础上利用点云回波特性和点云法向量检测并删除非地面点中特征明显的植被点和建筑物墙面点,然后利用连通成分分析法对非地面点聚类得到初始建筑点,最后结合DTM并利用建筑物面积和高度信息分离得到建筑物屋顶点云。试验结果表明,本方法能有效地从机载点云数据中快速提取建筑屋顶点云,有效率可达85%以上。
关键词: 机载LiDAR     点云     滤波     建筑物     屋顶提取    
Building roof point extraction based on airborne LiDAR data
LI Liang1,2, WANG Cheng2, LI Shihua1, XI Xiaohuan2     
1. School of Resources and Environment, University of Electronic Science and Technology of China, Chengdu 611731, China ;
2. Key Lab of Digital Earth, Institute of Remote Sensing and Digital Earth, Chinese Academy of Sciences, Beijing 100094, China
Abstract: Airborne LiDAR technology is an effective method for obtaining three-dimensional spatial data of buildings with high point density and accuracy, and building roof point cloud extraction is a key process in three-dimensional digital reconstruction.This study proposes a gradually advanced method to extract building roof points.Firstly, most of vegetation points and building wall points are removed by using multiple echo and normal characteristics, which are based on filtering results.Secondly, the remaining points are segmented into clusters by using Euclidean clustering method.Finally, by combining with a digital terrain model (DTM), the points on building roofs are isolated using the building area and height characteristics.The results show that the proposed method extracts roof points based on raw LiDAR data efficiently.
Key words: airborne LiDAR     point cloud     filter     building     roof point extraction    

随着城市的快速发展,许多城市相继推出适合自身发展的“数字城市建设”发展战略,其中建筑物三维数字重建是其中的重要内容.机载LiDAR(airborne light detection and ranging)技术可以直接、快速获取建筑顶部高精度、高密度的三维空间信息,是当前城市建筑三维数字重建重要的数据来源.

从机载LiDAR点云数据进行建筑数字重建的关键是如何从原始的海量点云中自动、快速、准确地提取建筑物点云,这也是重建高精度数字模型的基础.国内外很多学者开展了大量的相关研究,如郝明等[1]利用建筑物面积、点云数据的高差和坡度信息,进行由粗到细的建筑物自动提取;Rottensteiner[2]对点云数据插值和稳健估计得到数字表面模型(DSM)和数字地形模型(DTM),然后结合点云高程差,利用形态学算子等方法提取建筑物点云;Sun等[3]首先利用点云的法向量分离出植被,然后通过分层式聚类得到建筑物点云;Awrangjeb和Fraser[4]利用原始点云的高程差异得到地面点和非地面点,再根据地面点中建筑物的标记区域以及建筑物的面积、高度等信息提取建筑物点云.Richter和Dllner[5]利用基于平滑约束的区域增长算法对点云进行分割,然后综合面积、高差等阈值并基于多通道迭代算法对分割对象进行分类,实现建筑物点云的提取.也有些方法[6-7]结合点云特征信息(如回波次数、强度等)过滤植被.但是直接利用点云特征信息也会造成建筑屋顶的错分,例如产生多次回波的屋顶边界点被归类为植被点.同时机载LiDAR系统对地面进行扫描时,受扫描方向等因素影响会获取到部分建筑物墙面点云,已有的一些提取方法往往忽视墙面点云对屋顶点云提取的影响,特别是周围有植被的建筑区域,墙面点云的存在会导致建筑物与植被无法分割的情况.

针对上述问题,本文从对象同质性和完整性出发,把目标点邻域空间作为计算该点特征信息(如回波特征、空间分布特征)的数据源,通过几何特征与属性特征的结合,以及基于点分类与基于面向对象分类的结合,建立一种从机载LiDAR点云中层进式提取建筑屋顶的方法,不仅可有效去除植被点和墙面点,而且考虑地形起伏影响,提高了建筑点云提取的效率和精度.

1 方法

层进式建筑屋顶点云提取流程如图 1所示,主要包括从原始点云中得到地面点云和非地面点云、检测植被点和墙面点、提取初始建筑点云、对地面点插值生成DTM,以及初始建筑物区域结合DTM得到建筑物屋顶点云.

Download:
图 1 建筑物提取流程图
Fig. 1 Flow chart of building roof point extraction
1.1 点云滤波

目前点云滤波算法较多,较常用的如坡度滤波、不规则三角网(TIN)滤波法和形态学滤波法.本文选择渐进式形态学滤波算法[8]分离地面点云和非地面点云,其采用开运算(先腐蚀后膨胀),并利用多尺度的滤波窗口进行迭代运算,算法简洁高效、精度高,而且还能够去除一些噪声点,具体方法如下.

首先根据点云平均间距,将原始点云网格化,再以网格点为中心,设置w×w大小的滤波窗口,寻找窗口内点云最小高程值,并将该值作为腐蚀后的高程值.然后对离散点取同样大小的滤波窗口,窗口内最大高程值作为膨胀后的高程值,比较网格点膨胀后的高程值与其对应的原始高程值之差,据此判断该点为地面点还是非地面点.然后改变滤波窗口大小并进行多次迭代运算,在迭代过程中逐渐增大窗口尺寸(按照线性或指数形式),最终分离地面点与非地面点[9].

1.2 植被点和墙面点检测

激光具有穿透和折射现象,植被因为存在间隙会产生多次回波,而建筑物则会产生一次回波,故可以利用地物回波特性区分植被和建筑物.但是直接利用点云回波次数来区分植被和建筑物,会造成建筑物点云的缺失,因为激光在建筑屋顶边缘处会发生折射,导致部分边缘点也具有多次回波,这样具有多次回波的建筑屋顶边界点被误分为植被点.因此本研究从同质性出发,在计算点云回波特征时考虑邻域点的影响,把邻域内多次回波点的比例作 为点的回波强度信息,据此特征进行植被点的区分.同时建筑物墙面点在空间上与建筑屋顶点云相邻,因此在利用点云特征(如强度信息、几何特征和空间分布特征等)提取建筑物点云时,也需要考虑其邻域内的邻近点,可以利用这些点(墙面点)的法向量分布特性来区分.本研究采用Kd树来实现最邻近点搜索[10].

首先进行植被点的检测.植被点回波强度Eint定义如下:

${{E}_{\operatorname{int}}}=\sum\limits_{i=1}^{N}{{{p}_{italic>1}}/\sum\limits_{i=1}^{N}{{{p}_{i}}}},$ (1)

式中,N为邻域内点的数目;$\sum\limits_{i=1}^{N}{{{p}_{italic>1}}}$表示邻域内多次回波点的数目;$\sum\limits_{i=1}^{N}{{{p}_{i}}}$表示回波点的数目.Eint越接近于1,则该点为植被点的概率越大.通过设置适当的回波强度阈值,可以避免建筑屋顶边界点的错分,从而一定程度上保持了屋顶点云的完整性.

其次进行墙面点的检测.确定曲面上某点法向量的问题可以转化为求取该点所在的切平面的法线问题,因此可以通过对该点邻域内所有点组成的协方差矩阵进行特征值分解来估算该点的法向量,其实质上是对一个点云集合进行主成分分析[11].

对于点p,其邻域内所有点组成的协方差矩阵C定义为

$C=\frac{1}{k}\sum olimits_{j=1}^{k}{\left( {{p}_{j}}-\bar{p} \right){{\left( {{p}_{j}}-\bar{p} \right)}^{\text{T}}}},$ (2)

式中,k表示该点邻域内点的数目;pj表示邻域内的第j个点;$\bar{p}$ 表示该点邻域内所有点的重心,其坐标为邻域内所有点坐标的平均值.对协方差矩阵C进行主成分分析,便可确定其特征值λ0λ1, λ2(λ0λ1λ2)和对应的特征向量e0e1e2,其中最小的特征值λ0对应的特征向量e0一般作为该点的法向量.

由于屋顶点云的法向量不可能与Z轴(方向向量(0,0,1))垂直,而墙面点云的法向量则通常垂直于Z轴.因此,通过计算点的法向量与Z轴的夹角即可检测明显的墙面点.此外考虑到植被点云分布的随机性,有些植被点云的法向量也有可能近似垂直于Z轴,因此利用法向量方法也可以探测到部分的植被和其他物体的点云.

1.3 初始建筑物点云提取

对剔除大部分植被点和墙面点后的非地面点云利用连通成分分析法进行欧式聚类.首先为点云数据集P创建Kd树索引,然后设置一个聚类空表M和一个待查询的点队列Q,P中每个点pi执行以下步骤:

1) 添加点pi至队列Q

2) 搜索与点pi距离小于r的邻近点集Pik,然后检查Pik中每个邻近点pik是否已经被查询,如果为否则添加到Q

3) 当Q中所有点都已被查询,将Q添加到聚类表M,然后重置Q为空.

最后当P中所有点pi都已被执行,则终止此过程.通过上述过程得到的各个连通区域就是初始建筑物点云.

1.4 DTM生成

对滤波得到的地面点进行空间插值,生成规则网格的DTM.本文采用反距离加权(IDW)法[12],这是一种常用而简单的空间插值方法,其基本思想是,距离所估算的网格点距离越近的点对该网格点的影响越大,进而该离散点赋予的权重就越大.假定距离某一插值点最近的n个离散点对其有影响,该插值点处的值可表示为

${{z}_{p}}=\sum olimits_{i=1}^{n}{\left( d_{i}^{-1}\times {{z}_{i}} \right)}/\sum olimits_{i=1}^{n}{d_{i}^{-1}},$ (3)

式中,zp为插值点的高程值;di为第i个离散点与插值点的距离.

1.5 屋顶点云提取

首先根据建筑物的最小和最大面积阈值对初始建筑点云进行自动筛选,初步选出一些面积符合建筑物特征的备选目标Qi,同时小于最小面积和超过最大面积的目标点都认为是植被点.

然后利用备选目标Qi的重心在网格化的DTM中快速找到和其对应的地面高程,再根据高度信息,计算与Qi其对应地面G之间的高差hi.若hi介于最小高差和最大高差之间,则认为备选目标Qi是建筑点.在利用高差对备选目标作进一步提取时,基于DTM确定地面高程的方法代替了通过搜索建筑点云附近地面点确定地面高程的方法,不仅能得到接近于真实值的地面高程,而且在一定程度上避免了由于地形起伏较大而引起建筑物点云的错误提取,大大提高了搜索效率.

2 试验结果

实验数据选自ISPRS第三委员会提供的德国Vaihingen实验测区中的居民住宅区Area 3.该测区的点云数据由Leica公司的ALS50系统获取,点云数据密度为4 pts/m2,平均点间距为0.5 m.图 2为本次试验所用的原始点云按高程显示的效果.

Download:
图 2 试验区原始点云
Fig. 2 Raw data of the test area

首先对原始点云用形态学滤波算法得到非地面点云,然后从中检测植被点云(绿色)和建筑物墙面点云(黄色),结果如图 3图 4所示.所有建筑物信息都完整保留,比较明显的墙面点都被检测到,其中也包含部分植被点云,主要原因是由于植被点云分布呈无规律性,导致部分植被点云法向量也垂直于Z轴.本研究试验表明回波强度阈值为0.3,点云法向量与Z轴夹角阈值为60°,此时建筑屋顶信息完整度最好.

Download:
图 3 植被点云(绿色点)和地面点(褐色点)
Fig. 3 Vegetation points (yellow points) and ground points (brown points)

Download:
图 4 墙面点云(黄色点)
Fig. 4 Wall points (yellow points)

剔除大部分植被点和墙面点云后,对非地面点云进行连通成分分析,根据聚类结果进行建筑屋顶点云提取.首先依据滤波得到的地面点云,采用IDW法对其插值生成DTM,为后续处理的准确性,本文采用的分辨率和滤波时的网格间距保持一致.然后利用面积和高差阈值进行精提取,相关参数设置为:最大聚类距离为1.0 m,最小聚类点数为100,建筑物的最小和最大面积分别为50 m2和600 m2,高差阈值结合实际地形情况设置为2.0 m.最后提取的建筑屋顶点云如图 5所示.

Download:
图 5 建筑物点云
Fig. 5 Building roof points by the proposed method
3 分析与讨论

图 3图 4表明,利用回波信息只能检测到回波特征明显的点,而对于长势茂密的植被,其多回波特征被削弱.对于建筑屋顶点云,其边界信息大部分完整保留,说明利用回波强度信息检测植被有助于建筑物屋顶点云的完整性.同时从图 4也看到利用点云法向量检测到的墙面点云中很多实则为植被点,特别是冠层垂直分布比较明显的植被.从图 5也可以看出,居民住宅区的主体建筑物均被完整地提取出来,但是由于面积、高差等阈值的设置,不可避免地造成面积较小或者距离地面高差小于阈值的建筑物点被漏提或误提.该试验区共有56栋建筑物,其中48栋被正确提取,遗漏的建筑物为8栋,正确提取率为85.7%,见表 1.Niemeyer J等[13]对该实验区的建筑物也进行了提取,其正确提取率为81.7%.就提取对象而言,提取出的点云均为建筑物点云,没有错提的建筑物点云,说明本文提出的方法能够有效地实现建筑物与植被的分离.产生的误差主要是面积较小的建筑物被漏提所导致,面积阈值过大,漏提的建筑物会增多,过小则会导致错提率变大.同时该区域面积较小的建筑物大部分是低矮的建筑物,在精提取过程中一些不满足阈值的建筑物点云也会被漏提.

表 1 建筑物屋顶提取精度分析 Table 1 Building roof extraction precision analysis

影响本文建筑点云提取精度的因素还有滤波和邻域空间的确定.在滤波过程中,如果相关阈值设置不当,会导致地面点与非地面点的过度分离.在确定邻域点集时,邻域点数和半径设置过大或过小,都会降低植被点和墙面点检测的准确性,这些因素或多或少会影响后续建筑物提取的完整性和精度.因此如果对实验区有先验知识,会大大提高建筑物点云的提取精度.

4 结束语

本文考虑到点云邻域空间对点云特征计算的重要性以及建筑物墙面点云对后续特征提取的影响,针对LiDAR点云数据的特点,建立了一种层进式的建筑屋顶点云自动提取方法.试验表明,在进行植被点和墙面点检测后,绝大部分建筑屋顶点云都能被准确地提取,并能够有效分离植被和其他地物,是一种从机载LiDAR点云数据中快速提取建筑物点云的有效方法.

参考文献
[1] 郝明, 史文中, 张华. 一种基于LiDAR数据的建筑物自动提取方法[J]. 测绘通报 , 2014 (4) :82–85.
[2] Rottensteiner F. A new method for building extraction in urban areas from high-resolution LiDAR data[J]. International Archives of Photogrammetry Remote Sensing and Spatial Information Sciences , 2002, 34 (3/A) :295–301.
[3] Sun S, Member S, Salvaggio C. Aerial 3D building detection and modeling from airborne LiDAR point clouds[J]. IEEE Journal of Selected Topics in Applied Earth Observations & Remote Sensing , 2013, 6 (3) :1440–1449.
[4] Awrangjeb M, Fraser C. Automatic segmentation of raw LiDAR data for extraction of building roofs[J]. Remote Sensing , 2014, 6 (5) :3716–3751. DOI:10.3390/rs6053716
[5] Richter R, Döllner M B J. Object class segmentation of massive 3D point clouds of urban areas using point cloud topology[J]. International Journal of Remote Sensing , 2013, 34 (23) :8408–8424. DOI:10.1080/01431161.2013.838710
[6] Zhang W, Wang H, Chen Y, et al. 3D building roof modeling by optimizing primitive's parameters using constraints from LiDAR data and aerial imagery[J]. Remote Sensing , 2014, 6 (9) :8107–8133. DOI:10.3390/rs6098107
[7] Zhang J, Lin X, Ning X. SVM-based classification of segmented airborne LiDAR point clouds in urban areas[J]. Remote Sensing , 2013, 5 (8) :3749–3775. DOI:10.3390/rs5083749
[8] Zhang K Q, Cjen S, Whiteman D, et al. A progressive morphological filter for removing nonground measurements from airborne LiDAR data[J]. IEEE Transactions on Geoscience & Remote Sensing , 2003, 41 (4) :872–882.
[9] 隋立春, 张熠斌, 柳艳, 等. 基于改进的数学形态学算法的LiDAR点云数据滤波[J]. 测绘学报 , 2010, 39 (4) :390–396.
[10] Arya S, Mount D M, Netanyhu N S, et al. An optimal algorithm for approximate nearest neighbors searching fixed dimensions[J]. Journal of the ACM , 1998, 45 (6) :891–923. DOI:10.1145/293347.293348
[11] 浮丹丹, 周绍光, 徐洋, 等. 基于主成分分析的点云平面拟合技术研究[J]. 测绘工程 , 2014, 23 (4) :20–23.
[12] 余小东, 武莹, 何腊梅. 反距离加权网格化插值算法的改进及比较[J]. 工程地球物理学报 , 2013, 10 (6) :900–904.
[13] Niemeyer J, Rottensteiner F, Soergel U.Classification of urban LiDAR data using conditional random field and random forests //Urban Remote Sensing Event (JURSE), 2013 Joint.Sao Paulo: IEEE, 2013:139-142.