1. 引言
作为地理空间信息数据的重要组成部分,建筑物三维模型已经在智慧城市、数字孪生城市、洪灾预警、城市管理等方面广泛应用 [1] [2] [3] 。随着测绘软硬件设备的不断发展,建筑物三维模型重建技术手段也在不断变革,传统方法是基于倾斜摄影测量获取场景完整的倾斜模型数据,并基于倾斜模型进行建筑物对象化处理,该技术手段由于涉及倾斜摄影测量,获取影像易受遮挡、投影误差等因素影响,造成模型数据出现蜡融现象,严重影响建筑物模型重建精度,同时自动化程度较低。作为一种新型空间数据采集技术,机载激光LiDAR扫描技术是一种集成多子系统的主动式遥感成像方式,该技术手段能够直接获取目标高精度三维坐标数据,目前已经在高精度DEM制作、电力线巡检、建筑物三维模型重建方面发挥了重要作用 [4] [5] [6] 。
目前,基于机载LiDAR扫描点云数据进行建筑物三维模型重建主要分为三个步骤,一是对机载LiDAR点云数据进行处理,获取满足建筑物三维模型重建的建筑物激光点,目前主要使用平面拟合法、区域生长法进行建筑物激光点 [7] [8] ;二是根据提取建筑物点云数据进行轮廓线规则化,主要使用的方法有基于最小二乘原理法及主体方位拟合法等 [9] [10] ,但是上述方法存在的问题主要是没有对各轮廓线的边界一致性进行考虑,只是对各轮廓线进行独立的规则化处理,导致后续三维模型重建的效果欠佳。
基于以上分析,本文提出了一种建筑物轮廓提取与三维模型重建的整体流程,首先提取建筑物激光点与边界轮廓线,其次根据屋顶分割算法实现屋顶关键点信息的获取,最后使用SharGL工具包提取建筑物轮廓线与屋顶信息关键点完成建筑物三维模型重建。
2. 建筑物脚点识别
2.1. 渐进三角网滤波算法
建筑物轮廓线提取的前提是建筑物脚点的识别,也就是从原始机载LiDAR点云数据中提取得到建筑物点云。在进行建筑物点云提取前,为减少数据量,减少海量点云数据对后续建筑物点云提取影响,对原始机载LiDAR点云进行地面点滤波。本文选择使用公认的具有优异滤波性能的三角网渐进加密滤波算法进行地面点滤波,原理如图1所示。

Figure 1. Schematic diagram of TIN model
图1. TIN模型示意图
图1中,点P为三角形ABC外的一点,该点与三角形三个顶点构成的直线与地面夹角为∠a、∠b、∠c,点P与三角形的距离为d。通过设置角度阈值与距离阈值,判断角度∠a、∠b、∠c、距离d与设定阈值的大小判断点P的属性,若P判断为地面点,将P加入地面点模型中重新构网并进行迭代,直至得到逼近真实地面的地面模型。
2.2. 基于随机森林的点云分类
完成地面点、地物点分类后,以非地面点为研究对象,使用随机森林算法进行建筑物激光点提取,该算法是一种应用广泛且具有良好分类效果的点云分类算法,因此本文选择使用该算法进行建筑物点云提取。
高精度点云分类的前提是点云特征的有效提取,本文将5种点云特征作为分类特征,分别为基于投影面积特征、基于特征值特征、基于记录信息特征、基于高程特征以及其他特征,如表1所示。

Table 1. Summary of classification characteristics
表1. 分类特征汇总表
受篇幅限制,本文选用4个分类特征进行介绍,分别为拟合误差平均值Rmean、线度ll、多回波比例BMecho以及平均高程Hmean。
拟合误差的平均值Rmean表示为:
(1)
式(1)中,N表示为面片对象中点云总数;拟合误差的平均值代表面片对象中各点拟合平面的残差平均值。
线度ll表示为:
(2)
线度代表面片对象点云构成的协方差矩阵的特征值参数。
多回波比例BMecho表示为:
(3)
多回波比例代表面片对象中多回波的点云数据与点云总数量的比例。
平均高程Hmean表示为:
(4)
3. 建筑物轮廓线提取与三维模型重建
3.1. 建筑物轮廓线提取
本文选择Alpha Shape算法进行建筑物轮廓线提取,该算法原理如图2所示。通过对半径圆内的激光点进行聚集实现建筑物初始轮廓线提取,赵传将圆的半径设置为点云平均间距2倍左右,得到了不错的效果。

Figure 2. Schematic diagram of Alpha Shapes algorithm
图2. Alpha Shapes算法示意图
通过Alpha Shape算法提取初始轮廓线多为不规则线,与真实建筑物边界线差距较大,本文在提取初始轮廓线的基础上将稳健方向作为约束条件进行轮廓线规则化处理,其中稳健方向为最大轮廓方向。其余轮廓线与稳健方向为垂直或者平行关系,将这种关系作为约束条件,采样RANSAC算法提取剩余轮廓线,具体步骤为:
1) 确定最长轮廓线为稳健方向,将其水平向量记作Al,求其垂直向量为Bl;
2) 将某一轮的直线检测方向向量记作L = {Al, Bl},选取某直线l上某点(x0, y0),l的点向式方程为:
(5)
3) 设置轮廓点与直线l的距离阈值,若存在轮廓点与直线l的距离小于设定阈值,将该点认定为直线内点,标记直线与其内点;
4) 选取下一点作为直线一点,重复步骤3),直至完成所有轮廓点的遍历;
5) 将直线内点数量最大值标记为nummax,若nummax大于阈值,将该直线所对应内点标记为flag;
6) 重复步骤1)至步骤5),直至没有满足内点数量的直线;
通过上述步骤可以实现与稳健方向垂直或平行轮廓线的检测提取,对于与稳健方向无特点关系的轮廓线,对检测直线方向进行无约束RANSAC轮廓线提取。
3.2. 屋顶分割
提取得到建筑物轮廓线后,通过建筑物轮廓线对建筑物点云数据进行裁剪得到上方点云,建筑物三维模型的构建不仅需要建筑物轮廓信息,同时需要建筑物屋顶信息。获取建筑物规则化方向后,通过规则化方向将建筑屋顶点云压平,得到屋顶点云的二维表达,通过二维表达进行屋顶轮廓的提取,最后将提取结果还原为三维轮廓信息。
3.3. 三维模型重建
通过前文提取得到建筑物轮廓信息与屋顶轮廓信息,根据C#环境下的OpenGL封装工具包进行建筑物结构的实体化模型表达。通过此种手段构建的三维实体模型简单粗糙,利用SharpGL工具构建模型的单颜色纹理并进行灯管渲染,得到最终具有纹理信息的建筑物三维实体模型。
4. 实验与结果分析
4.1. 实验数据
为了验证本文提出基于机载LiDAR点云数据的建筑物三维实体模型构建方法的有效性,选择某地部分机载LiDAR点云数据进行建筑物三维模型重建。该区域数据住宅区,地势较为平缓,区域内建筑物多为规则形,同时包含树木、植被、道路等点云数据。实验区激光点密度约为25 pts/m2,共包含激光点数为2,169,721个,实验区数据如图3所示。

Figure 3. Airborne laser LiDAR point cloud data in the experimental area
图3. 实验区机载激光LiDAR点云数据
4.2. 实验结果与分析
首先,使用渐进三角网滤波算法对原始机载LiDAR点云数据进行滤波处理,分离地面点、非地面点,得到结果如图4所示。
(a) 地面点
(b) 非地面点
Figure 4. Filtering results of progressive TIN filtering algorithm
图4. 渐进三角网滤波算法滤波结果
通过图4可知,渐进三角网滤波算法能够有效分离出地面点、非地面点,使用随机森林分类器,借助分类特征将非地面点非标类为车辆、树木、建筑物等类型,得到满足建筑物轮廓提取需求的建筑物点云。根据本文方法提取建筑物轮廓线如图5所示,可以看到通过本文方法能够提取得到规则化以及具有一定复杂程度的建筑物轮廓线。

Figure 5. Results of building edge contour extraction
图5. 建筑物边缘轮廓线提取结果
使用建筑物边缘轮廓线对建筑物屋顶进行方向规则化分割,得到屋顶关键角点信息,使用ShrpGL工具包以建筑物边缘轮廓线、屋顶关键角点为框架进行建筑物三维实体模型重建,结果如图6所示。

Figure 6. Reconstruction results of 3D solid model of buildings
图6. 建筑物三维实体模型重建结果
采用定量评价方式评价本文方法重建建筑物三维模型精度,统计指标为轮廓点最大位移(MaxD)、均方根误差(RMSE)以及平均误差(MeanE) [10] ,结果如表2所示。

Table 2. Building 3D model reconstruction accuracy evaluation
表2. 建筑物三维模型重建精度评价
本文机载LiDRA点云数据激光点平均间距为0.20 m,通过表2可以看到本文方法重建建筑物三维模型结果的拐点最大位移小于2倍激光点平均间距,均方根误差与平均误差也均小于激光点平均间距,具有较高的模型重建精度。
5. 结束语
本文以机载激光LiDAR点云数据为基础,提出了一整套建筑物三维实体模型重建方法。其中基于方向约束的建筑物轮廓线规则化方法能够提取得到满足建筑物三维模型重建的高精度轮廓线,同时利用建筑物方向规则化的屋顶分割算法实现建筑物屋顶关键点信息获取。根据建筑物轮廓线以及建筑物屋顶关键点信息,利用OpenGL封装工具包进行建筑物结构的实体化模型表达,实现建筑物的快速建模。通过对建筑物建模结果进行精度评价,表明本文建筑物三维模型重建结果的拐点定为误差小于激光点平均间距,能够满足建筑物三维实体模型快速、高精度重建的要求。
受篇幅以及实验数据限制,本文仅以一个区域机载激光LiDAR点云数据进行实验,实验结果具有一定不确定性,下一步将针对不同地形条件、建筑物密度不同区域机载LiDAR点云数据为基础数据进行实验,同时进一步完善算法,提高算法的自动化程度,尤其是对稳健方向的自动化确定方面。