1. 引言
建筑物三维模型是智慧城市、数字城市中的重要组成部分,作为建筑物三维模型重建最常用的手段,基于摄影测量技术的建筑物三维模型重建需要大量的人物力,生产成本较高。因此,探索与研究新的建筑物三维模型构建方式具有重要的现实意义。作为一种能够在短时间内快速、高校获取地表自然地物及人为建造地物表面高密度、高精度点云数据的新型测绘技术,机载激光雷达技术能够为建筑物三维模型构建提供重要的基础性数据,该技术获取的丰富的建筑物表面点云数据为高效、快速获取建筑物轮廓信息提供了可能 [1] [2] [3] 。
目前针对基于机载LiDAR点云数据的建筑物三维模型重建已涌现出不少成果,如ZHANGK等 [4] 首先提出使用渐进式数学形态学法进行点云滤波并进行平面拟合得到建筑物区域,利用化简和平差得到建筑物三维模型;OUDEELBERINKS等 [5] 使用图匹配进行建筑物三维模型重建,该方法有效改善缺失点云对建筑物三维模型重建的影响;MAASHU等 [6] 通过计算建筑物重建所需参数并使用Hough变换获取屋顶信息实现建筑物三维模型重建。综上,目前基于机载LiDAR点云进行建筑物三维模型重建提高了模型重建的自动化程度与建筑物检测效率。然而,目前机载LiDAR点云数据建筑物模型重建存在需要后续人工检验、重建错误需要大量弥补成本、建筑物模型精度有限等缺陷。
基于此,本文为提高建筑物边缘检测效率以及模型构建自动化程度,提出使用Alpha-Shape算法提取建筑物边缘点,并且为降低算法时间与复杂度,规则化处理边缘线,最后以建筑物关键点为基础,使用SharpGL工具包进行建筑物三维模型重建。
2. 三维重建方法
2.1. 建筑物三维重建流程
建筑物是由多个关键拐点连接而成的多边形,通过获取建筑物关键点构建建筑物模型不仅存储空间小,运算量也低。基于机载LiDAR点云数据获取建筑物外围轮廓关键点,得到点与点之间的相对位置关系实现建筑物三维模型的构建是一种行之有效的建筑物模型重建方法。本文基于机载LiDAR点云数据的建筑物三维模型构建主要分为三个部分,一是分离地面点与非地面点;二是获取建筑物轮廓线与屋顶关键点;三是利用SharpGL工具包基于关键点建立建筑物三维模型,具体流程如图1所示。

Figure 1. Flow chart of building 3D model reconstruction
图1. 建筑物三维模型重建流程图
2.2. 点云数据预处理
机载激光LiDAR扫描技术采集的海量点云数据包含地面点及其他地物点,为了提高建筑物点云提取算法的效率,首先需要对地面点进行滤波处理。本文借助CloudCompare软件中的布料模拟滤波算法剔除地面点,该算法实现地面点滤波的步骤为:翻转原始点云数据,并假设有一块虚拟布料从上方落下形成非地面点地形,根据非地面点地形实现地面点、非地面点分离 [7] 。
2.3. 建筑物点云提取
布料模拟滤波算法滤除地面点后得到非地面点,利用最大类间方差法分割由非地面点形成的距离图像,得到初始建筑物点云。一是对非地面点进行栅格化处理,得到距离图像,二是采用最大类间方差法分割距离图像得到背景与目标,建筑物点云即为目标区域对应点云。
2.3.1. 非地面点数据栅格化
对非地面点数据进行栅格化处理,具体步骤为:
1) 根据非地面点分布范围构建XOY面二维水平格网,将非地面点云投影至格网平面中;
2) 将格网内高程最低点的高程作为该格网高程,若存在无点云数据格网,将该格网邻域范围内格网内高程最低值作为该格网高程;
3) 得到点云对应的距离图像,距离图像值在0至255之间。
2.3.2. 初始建筑物点云提取
利用最大类间方差法分割距离图像,将距离图像分割为目标区域与背景区域,其中建筑物区域即为目标区域,因此可实现初始建筑物点云的提取,具体步骤为 [8] :
1) 将距离影像中每个灰度值i对应像素点数记为ni,距离图像的总像素数为:
(1)
灰度值为i的像素出现概率为:
(2)
2) 根据阈值TF = T将距离图像分割为目标A与背景B两类,目标A在距离图像中出现的概率为:
(3)
背景B出现的概率为:
(4)
目标A、背景B对应的平均灰度值为:
(5)
(6)
距离图像的平均灰度值为:
(7)
3) 计算目标A与背景B平均灰度值对应的方差:
(8)
(9)
类间方差计算公式为:
(10)
相较于植被、电线杆等点云数据,建筑物点云数据的分布更为规则,根据建筑物点云数据与其他地物点云分布上的差异,将建筑物点云区域为目标区域,其他地物点云区域为背景区域,通过分割目标区域与背景区域实现初始建筑物点云的提取,其中分割阈值可使用最大类间方差算法得到:
(11)
最优分割阈值TK在类间方差达到最大时取得,为了将误认为建筑物点云的非建筑物点云剔除,对最优分割阈值进行二次优化,经过试验得知TF = TK − h时距离图像分割阈值效果更好,本文实验数据中经测试h取32。
2.4. 建筑物边缘提取
使用Alpha Shape算法提取建筑物边缘点,该算法的原理如图2所示。
Alpha Shape算法实现建筑物轮廓提取的具体步骤为:
1) 假设建筑物点云的点集为T,从T中任意点P1并将该点的坐标为圆心,R为半径进行点搜索,将半径范围内的点归到点集T1中,在点集T1中取一点P2,计算过点P1、P2圆的圆心O(xO, yO):
(12)
式(12)中,(x1, y1)、(x2, y2)位P1点、P2点坐标。
2) 计算圆心O与T1内其余点距离,如果存在距离小于半径的点,那么P1、P2非边缘点,否则为边缘点;
3) 对T1中所有点重复步骤1)至步骤2)的操作;
4) 处理完T中所有点后停止迭代。

Figure 2. Principle of Alpha Shape algorithm
图2. Alpha Shape算法原理
2.5. 建筑物边界拼接分组
基于Alpha Shape提取建筑物轮廓线多为混乱的连续线段,为了对多条线段进行连接,在线段集中任选一条线段,将与该线段端点间距小于2倍Alpha的端点所属线段进行连接。对与该线段端点间距大于2倍Alpha的端点所属线段进行修复,最终得到完整连续的建筑物轮廓线。
2.6. 建筑物主方向规则化
通常建筑物轮廓多为规则多边形,因此轮廓线之间存在某种位置关系,可根据这种位置关系对建筑物轮廓线进行处理,得到规则化轮廓线,具体步骤为:
1) 如图3所示,假设两个线段为L1、L2,若这两条线段间夹角a满足阈值条件,则将这两条线段公共端点视为初始拐点。
2) 利用初始拐点分组边缘线段,通过最小二乘方法对分组边缘点集进行直线拟合。
3) 将最长拟合直线作为建筑物主方向,计算其余直线向量与建筑物主方向向量夹角,若夹角小于120˚,则将该直线处理为与建筑物主方向垂直;若夹角大于150˚,则将该直线处理为与建筑物主方向平行;若夹角在120˚与150˚之间,则将该直线处理为与上一直线方向垂直。

Figure 3. Initial inflection point judgment
图3. 初始拐点判断
2.7. 轮廓关键点确定
为了对外轮廓进行简单化,将拟合直线的交点作为关键点,如图4(a)所示,连接关键点即可构成最终的建筑物边缘线,如图4(b)所示。
(a)
(b)
Figure 4. Building edge regularization processing
图4. 建筑物边缘规则化处理
2.8. 屋顶分割
利用获取的建筑物轮廓线进行点云裁剪,获取上部点云数据,将上部点云数据压平至平面上得到平面正视图,根据平面正视图进行建筑物屋顶轮廓的提取。
2.9. 三维模型重建
得到关键点后,利用OpenGL封装的SharpGL工具包进行建筑物模型的自动化构建与表达,构建的模型相对粗糙简单,利用SharpGL工具对粗糙模型进行纹理构建与灯光渲染,提升模型的视觉效果。
3. 实验与结果分析
3.1. 实验数据
本文实验数据来源于甘肃省白银市某地区,通过无人机搭载AS900-HL采集原始LiDAR点云数据以及对应影像数据。试验区域面积约为1 km2,测区内包含建筑物、植被、树木、道路等地物,使用VC++实现本文提出算法。图5所示为原始LiDAR点云数据与对应影像数据。
3.2. 实验结果
首先对原始点云进行滤波处理,得到非地面点,如图6所示,其次使用最大类间方差法对距离图像进行分割得到初始建筑物点云,如图7所示。

Figure 6. Obtaining non ground points after filtering
图6. 滤波后得到非地面点
通过图7可以看到大部分非建筑物点云已经被剔除,但仍有少量其他地物点云被误判为建筑物点云。使用Alpha Shape算法对初始建筑物点云进行处理得到建筑物边缘点,如图8所示。

Figure 8. Extraction results of building edge points
图8. 建筑物边缘点提取结果
通过图8可知,建筑物边缘点提取较为完整,能够准确反映出建筑物轮廓。综上可知,本文提出建筑物边缘点提取方法达到了较好的效果,受地形条件限制较低。根据建筑物边缘点提取结果构建建筑物边缘线段集,对边缘线进行规则化等处理后,得到建筑物规则化轮廓,最后对屋顶进行方向规则化分割得到屋顶角点信息。模型重建结果如图9所示。

Figure 9. Obtaining non ground points after filtering
图9. 建筑物三维模型重建结果
3.3. 精度分析
使用垂直方向的均方根误差RMSE与水平方向上的均方根误差RMS对本文方法构建建筑物模型进行精度评价,统计结果如表1所示。

Table 1. Quantitative evaluation results of 3D reconstruction model
表1. 三维重建模型定量评价结果
通过表1可知,建筑物模型的RMSE与RMS分别为0.1 m与0.7 m,构建的建筑物三维模型在垂直方向、水平方向上均有着不错的精度。结果表明,本文方法能够有效提取建筑物轮廓线、屋顶线信息,从而保证了构建的建筑物模型精度。
4. 结束语
本文提出了一种基于机载LiDAR点云数据的建筑物三维模型重建方法,首先,为尽可能降低地面点对后续算法处理的影响,对地面点进行滤波处理得到非地面点,使用非地面点构成栅格影像,通过最大类间方差法分割栅格影像得到初始建筑物点云;其次,使用Alpha Shape算法提取建筑物边缘点并进行建筑物主方向规则化、关键点确定以及屋顶角点信息获取;最后运用建筑物关键点快速建模技术实现建筑物的快速建模。对本文方法构建建筑物三维模型的精度进行检验,结果表明本文方法构建建筑物三维模型在垂直方向、水平方向上均有着不错的精度,能够满足建筑物三维实体模型快速、高精度重建的要求。下一步将重点研究复杂建筑物重建的自动化程度。