建筑立面信息在建构筑物模型重建[1]、老旧小区改造[2]等方面具有重要作用,传统的立面测量方法包括全站仪法、测距仪法及摄影测量法[3]等,存在信息获取不全、作业效率低等问题。三维激光扫描可快速获取具有三维坐标及颜色、强度、纹理等属性的海量点云,极大提升了空间地理信息的获取能力[4-5],也为建筑立面图测绘提供了一种更新、更快的技术手段[6]。由于点云中包含的地物类型多样、点密度分布不均且存在各种噪声,快速准确地提取建筑立面一直是点云数据处理的难点。
学者们针对点云分类与提取进行了大量研究,主要算法分为模型拟合法[7-8]、属性聚类法[9-10]、区域生长法[11-13]、机器学习算法[14-20]以及平面投影法[21-23]等。其中,模型拟合法[7-8]基于平面、球体、圆柱体等几何体的数学模型进行点云分隔,处理速度快,但只适用于规则地物的提取;属性聚类法[9-10]利用点云的特征进行聚类和分隔,其结果较稳定,但无法区分特征相似的地物,且处理复杂场景时耗时较长;区域生长法[11-13]首先选取种子点,然后搜索邻域内满足一定相似性标准的点进行聚类,通过不断生长完成分割,算法结果依赖于种子点及生长准则的选取,选取不当将导致过生长或欠生长;面向三维点云的机器学习算法[14-20]框架还有待完善,且需要大量样本数据进行训练,分类结果具有一定随机性。
点云平面投影方法[21-23]将三维点云投影到二维平面并进行格网划分得到点云特征图像,然后采用图像处理方法进行分类,具有算法简单、运算速度快等优点,在点云分类方面得到了广泛应用。史文中等[21]基于点云投影密度进行建筑物立面提取,由于分类标准单一,提取结果容易受其他地物干扰,在地形起伏较大、地物复杂多样时效果难以保证;卢秀山等[22]通过三维和二维格网进行综合判断,并基于RANSAC算法去噪,提高了分类精度,但算法复杂度高,运算效率较低。邵磊等[23]提出了一种结合多种投影影像提取建筑物的方法,但该方法首先要进行地面点云提取,增加了算法复杂度,且地面点提取精度将直接影响后续建筑物提取精度。
针对上述传统格网算法存在的问题,引入点云的单点语义、格网语义和区域语义,构建基于多层次语义特征的建筑立面点云提取方法,并对不同场景的点云数据进行提取,验证算法的有效性。
建筑区地物可分为地面(含低矮植被)、建筑物、杆状物、树木及其他地物类型[24],通过地面三维激光扫描仪获取的部分地物点云及平面投影如图 1所示,其具体特性如下:
1) 建筑物点云特征。建筑物外形较为规则,高度较高,点云集中在建筑物外立面,投影到XOY平面后呈线性连续分布,立面投影区域点云密度大,建筑物内部点云密度小。此外,由于建筑立面一般垂直于地面,点云法向量垂直角集中分布在90°附近,标准差较小。
2) 地面点云特征。地面点云高程值较小,投影到平面后呈面状均匀分布,法向量垂直角分散分布,标准差较大。
3) 杆状地物点云特征。电杆、路灯等杆状地物一般垂直于地面且有一定高度,投影面积小,点密度较大。立杆部分与附属部件(如灯泡、摄像头等)法向量垂直角差异较大。
4) 树木点云特征。树木具有一定高度,且树冠范围较树干大,单棵树木投影后呈近似圆形分布,投影范围内点密度分布较为均匀,法向量垂直角标准差较大。
计算图 1中各点云的法向量,并分别选取10 000个来计算其垂直角(法向量与Z轴夹角),分布特征如图 2和表 1所示:
根据各类地物的空间特征,结合建筑立面提取的需求,构建点云单点语义、格网语义和区域语义3类特征。
1) 单点语义特征。对于点P,将其高程值PZ作为单点语义特征,即
基于该特征,通过设置低点阈值Zlow可将低于该值的非建筑点云剔除;若大于高点阈值Zhigh的点全部为建筑立面点,则可将该阈值以上的点标记为建筑立面点。
2) 格网语义特征。将点云进行平面投影并按一定尺寸划分格网G,计算格网内的点云密度GD、最高点与最低点高差GH作为单元格网的语义特征,即
由于建筑物具有一定高度且在立面处的点云投影密度较大,可将格网密度或高差低于一定阈值的非建筑立面点云剔除。
3) 区域语义特征。将满足格网语义特征阈值要求的格网定义为兴趣格网,相互连通的兴趣格网集合定义为一个对象区域A,对每个区域采用安德鲁算法(Andrew's Algorithm)计算凸包,统计凸包范围内格网总数AT以及兴趣格网数量AC,按式(3)计算兴趣格网比例。
建筑物对应区域AC较大但AR较小;杆状物及树木对应区域AC较小但AR较大。此外,由于建筑立面点云法向量垂直角标准差AN明显小于其他地物,可作为立面点云提取的一个重要特征。综上,将AC、AR以及AN作为对象区域的语义特征,即
以上定义的点云单点语义、格网语义及区域语义分别代表地物的单点特征、局部特征和整体特征,形成了点云多层次语义特征描述子,如表 2及图 3所示。
基于上述多层次语义特征描述子,提出一种建筑立面点云提取算法:首先通过单点语义特征,即点的高程值剔除低于建筑物的点云,同时提取出一定高度以上仅包含建筑物的高层建筑点云;然后将剩余点云及高层建筑点云投影到XOY平面并划分格网,根据格网语义特征选取兴趣格网;最后对兴趣格网进行连通性分析得到对象区域,并基于区域语义特征实现建筑立面点云的精确提取,具体步骤如下。
1) 数据预处理。数据预处理主要是通过裁剪、滤波等方式剔除点云中的噪点,减少对后续数据处理的干扰;此外,按一定采样间隔进行重采样,去除过密点云,提高运算效率。
2) 基于单点语义特征的初步分类。设置低点阈值Zlow,剔除低于该值的非建筑点云;设置高点阈值Zhigh,提取高于该值的建筑立面点,即
阈值设置时,要确保低于Zlow无建筑立面点,高于Zhigh只有建筑立面点。
3) 点云平面投影及单元格网划分。将步骤2)得到的待分类点以及高层建筑立面点投影到XOY平面,投影计算公式为
式中:X、Y、Z为点云原始坐标;X′、Y′、Z′为投影后坐标;h为投影面高程,一般取0。投影后即可按一定间隔d进行格网划分,设点云平面坐标最大、最小值分别为Xmin、Ymin、Xmax、Ymax,则格网的行列数R、C分别为
设点i坐标为(xi, yi, zi),则对应格网行列号ri、ci为
式中:floor为小于该值的最大整数,且行列号从0开始计数。
4) 基于格网语义特征的二次分类。设格网I内的点数为N,对应三维点云坐标为(XIi, YIi, ZIi), i=1, 2, …, N,则该格网的点密度GDI、高差GHI分别为
设置点密度阈值GD_th和高差阈值GH_th,并基于式(11)所示准则选取建筑物立面对应兴趣格网。
点密度阈值GD_th根据点云密度与格网尺寸d进行确定;高差阈值GH_th应略小于范围内最矮建筑物的高度。
5) 基于区域语义特征的精确分类。对兴趣格网进行连通性分析得到多个对象区域,设区域J包含的兴趣格网数量为S,对应凸包范围内格网总数为T,则该区域语义特征ACJ、ARJ分别为
计算区域内点云法向量及垂直角,并统计垂直角标准差ANJ,然后设置各特征阈值AC_th、AR_th及AN_th,基于式(14)所示准则进行建筑立面点云的精确分类。
兴趣格网数量阈值AC_th根据格网尺寸与建筑物大小进行设置;根据测试,比例阈值AR_th一般设置为20%~30%,法向量垂直角标准差阈值AN_th一般设置为5°~10°。
最后,查询平面投影位于建筑立面区域内的点云,与步骤(2)提取的高层建筑点云取并集,即得到满足多层次语义特征的建筑立面点云。
算法流程如图 4所示。
目前,基于属性聚类算法的点云分类方法在多款主流的点云商业处理软件中方得到了实现,使用较为广泛。本文算法是对传统格网密度算法的改进,因此,分别采用本文算法、传统格网密度(DoPP)算法以及属性聚类算法对不同场景的点云数据进行建筑立面提取,并对提取结果进行评价以验证本文算法的提取精度、效率及适用性。
实验数据为低层建筑区、高层建筑区以及超高层建筑区3种典型场景的实测地面三维激光点云,如图 5所示。
3个数据集的基本特征如表 3所示。
首先通过人工编辑方式对3个数据集中的建筑立面进行精细提取,并将其作为评价算法精度的标准;然后分别用3种算法提取建筑立面点云,对提取结果的精度、适应性及效率进行对比分析。其中本文算法及DoPP算法采用C++语言编程实现,属性聚类算法采用某商业软件点云分类功能模块。
针对不同数据集的实际特点,设置了本文算法以及DoPP算法的各项参数,为便于比较,对两种算法设置相同的格网尺寸和点云密度参数,如表 4所示。
图 6、图 7、图 8分别展示了采用人工精细分类、本文算法、DoPP算法以及属性聚类算法对3个数据集的建筑立面提取结果。
以人工提取结果作为真实值,分别按式(15)、(16)、(17)、(18)计算各算法提取结果的真正类率(True Positive Rate,TPR)、假正类率(False Positive Rate,FPR)、准确率(Accuracy,Acc)和交并比(Intersection over Union,IoU)4个精度指标,同时,统计运算时间来评价算法效率。
式中:TP、FP、TN、FN的含义可用混淆矩阵表示。
为评价算法效率,采用3种算法对所有数据集分别处理10次,计算平均用时,测试平台基本参数如表 6所示。
3种分类方法的评价指标如表 7所示。
从图 6、图 7、图 8以及表 7中可以看出:
1) 提取精度方面:除了高层建筑区的TPR指标,本文算法其他各项指标均为最优。对于高层建筑区,DoPP算法的TPR指标最高,即该算法提取的真实建筑立面点最多,但FPR指标同样很高,说明结果中包含了大量错分点,图 7(c)也证明了这一结论。
2) 场景适应性方面:本文算法对3种不同场景的点云均提取出了较为完整的建筑立面,仅在点云过于稀疏的立面和挡墙处(图 6(b)A、B处;图 7(b)C、D处;图 8(b)E、F、G处)有部分缺失;DoPP算法在低层及高层建筑区的错分点云较多(图 6(c)、图 7(c)),在超高层建筑上部立面缺失明显(图 8(c));属性聚类算法在高层建筑区提取效果较好,但无法剔除大面积的密集植被,且超高层建筑立面缺失严重(图 8(d))。
3) 运算效率方面:与DoPP算法相比,由于本文算法顾及的特征更加全面,运算时间略有增加,但相差均小于1 s,且都在10 s以内;属性聚类算法运算时间较长。
综合各项评价指标,本文算法在提取精度及不同场景的适应性方面均明显优于DoPP算法及属性聚类算法;在运算效率方面与于DoPP算法相当,与属性聚类算法相比优势明显。
结合各类地物点云的单点特征、局部特征及整体特征构建对应的语义属性,并提出了一种基于多层次语义特征的建筑物立面提取方法。该方法的主要贡献有:
1) 综合考虑点云高程、平面投影点密度及分布特征、法向量垂直角等多层次语义特征,实现对建筑立面的精确描述,提高了提取结果的正确率和完整性。
2) 将三维分类问题转化到二维平面,算法效率高。
3) 算法参数设置灵活,适应性好,可满足不同场景的提取需求。
通过不同场景点云的提取实验结果表明:该方法可快速有效的提取复杂环境中的建筑立面点云,与传统DoPP算法及属性聚类算法相比,提取精度及适应性显著提高。目前,算法参数需根据点云的实际情况进行设定,下一步将研究参数的自适应设置,提高算法的实用性,并在三维建模、智慧城市建设等领域推广应用。