APP下载

基于城市点云数据的建筑屋面和外墙分类算法

2022-10-02贾军辉杨涛沈大勇付昕乐

地理空间信息 2022年9期
关键词:算子权重标签

贾军辉,杨涛,沈大勇,付昕乐

(1.自然资源部第三航测遥感院,四川 成都 610100)

建筑测量是城市测绘的重要组成部分,建筑屋面、外立面、边界线、轮廓线等测量成果能被广泛应用于城市规划设计、专题地图编绘、市政工程以及变形监测等领域。随着人们对建筑功能的需求趋向多样化,传统建筑测量工作在量测效率、数据质量和产品多样化方面需要更高标准的物质技术条件支撑,而三维激光扫描技术为建筑测量领域提供了新的技术手段和解决方案。三维激光扫描技术应用于建筑测量领域的关键是通过点云数据获取建筑几何要素信息。通过区域增长结合PCA算法[1]、决策树约束[2]以及融合航空影像的方式[3],可从大范围三维激光扫描数据中提取建筑物点云。利用旋转差值核估计算子[4]可提取建筑物点云的边缘线,而基于IDW内插法生成的点云特征图像,在建筑物先验框架知识条件下,经过阈值分割、轮廓提取与跟踪等步骤能快速获取建筑物边界线[5]。基于加权约束[6]、3D Delaunay三角网[7]和切平面投影[8]的算法可对建筑物点云进行曲面重建,进而获取建筑表面信息。此外,提取的建筑物特征点、线、面要素信息可应用于城市规划[9]和建筑物结构分析[10],还可用于相关能源资源的精细化评估[11]。

目前建筑屋面和外墙的分类主要还是靠人工操作来完成,海量的点云数据处理需消耗大量的人力物力,且效率低下。鉴于此,本文实现了一种基于城市点云数据的建筑屋面和外墙分类算法。

1 数据来源

1.1 数据格式

利用机载LiDAR对城市区域进行大范围扫描所获取的点云数据一般存储为las格式。作为LiDAR数据的工业标准格式,las格式不仅存储了点云的坐标信息,还记录了飞行航线号、GPS时间、回波强度和次数等数据,也是目前应用最广泛的LiDAR数据格式。除此之外,还有ptx、pwn、asc、E57等点云数据存储格式以及ply、obj、off等包含点位信息的网格数据格式。算法需从中提取点位坐标P(x,y,z),设定初始RGB值和预留特征标签Label字段,以ASCII或BINARY编码存储。

1.2 数据结构

为了简化计算过程,优化数据利用率,进而提高算法的运行效率,需要重新定义读入数据的数据结构,从点邻域、空间分析属性和空间网格分布3个方面构造数据结构:①Point-set-neighborhood,用于存储空间搜索结构并提供点的自适应查询;②Local-eigen-analysis,基于Eigen库,预先计算点的局部邻域上的协方差矩阵,并存储相关的特征向量和值;③Planimetric-grid,用于构造DEM的二维网格结构。相应数据结构的细部分支如图1所示。

图1 算法数据结构

2 算法流程

在数据输入阶段,需对原始数据进行预处理,得到点云的包围盒、二维网格划分、邻域以及Eigen分析式,从而能够精化数据特征要素,在数据处理阶段用于构建识别算子。此外,还需圈定点云的特征区域作为训练数据,圈定区域的数据会附加特征标签加以区别。数据处理过程中,识别算子通过结合特征要素和训练数据的几何要素特征值对点云数据进行分类,分类数据会赋予相应的特征值,最后输出。算法的具体流程如图2所示。

图2 数据输入与分类算法流程图

2.1 数据预处理

输入点云数据后,首先计算得到点云数据的OBB包围盒,再进行八叉树空间划分。计算空间八叉树的目的是为了能够获取点云数据的邻域索引,同时对其进行二维映射,还可得到点云的二维网格划分。在此基础上,调用Eigen库对数据进行结构化分析,完成Eigen分析式构建,主要用于计算法线和除噪等。原始点云预处理效果如图3所示。

图3 原始点云预处理效果

2.2 特征识别

对于点云地物特征的区分与识别,主要依赖于点云数据预处理获得的几何参数,精化为各项预定义特征指标。①平面距离:测量点到局部拟合面的距离;②Eigen值:相应Eigen函数计算结果;③高程:计算到局部拟合地面的距离值;④宏高度值:计算某点与局部最高点的距离;⑤微高度值:计算某点与局部最低点的距离;⑥垂直分布:计算点集在Z轴范围的噪声程度;⑦垂直范围:计算局部最高点和最低点的距离;⑧垂直度:比较局部法向量和垂直向量。

此外,若输入数据设置了附加属性,也可被用于特征识别。常用的附加属性包括颜色值和回波散射,颜色值即彩色点云的RGB信息,回波散射为大多数激光雷达扫描仪提供的回波数。为了获取最佳结果,需根据输入数据估计最小相关尺度,生成所需的分析结构,并提供访问这些结构的权限;再根据可用的属性转换生成所有可能的特征,这样可利用权重较大的多个尺度来提高结果质量。

2.3 分类识别算子

分类依赖分类器,分类器是一个对象,包含多种分类识别算子。它通过输入项的特征值集合计算得到一个输入项属于某个特征标签的概率。分类器的概念模型必须基于输入项的索引结构,将输入项与每个特征标签相关联的概率值存储在一个向量中。若分类器对于一对特征标签和输入项的返回值为1,则表示该项肯定属于该特征标签;返回值接近0,则表示该项属于该特征标签的可能性较低。

1)ETHZ随机森林算子。该算子利用地面真值训练集构造若干决策树,再利用这些决策树为每个输入项分配一个特征标签。该算子不能主动设置,需要一个地面真值训练集;训练算法效率很高,但需大量的数据内联,导致更多的内存占用,且配置文件也较复杂。然而,该算子的分类结果较为优良,特别是在使用多种特征标签的情况下。

2)OpenCV随机森林算子。该算子是基于OpenCV算法库的随机森林算法构造的分类识别算子,分类结果比ETHZ随机森林算子差,但对先验条件要求不高,解算难度也较低。当缺乏一定数据真值的情况下,可优先采用该算子,以保证运算效率和基本成果。

3)TensorFlow神经网络。该算子是以TensorFlow为核心库,基于特征神经网络算法接口构造的分类识别算子。该算子以一组特征为输入层,以定量的激活函数为隐藏层,以SoftMax函数层为输出层,为每个特征标签提供输入项与之匹配的概率。该算子不能主动设置,需要一个地面真值训练集;训练算法通常需要比ETHZ随机森林算子更多的线程内联,分类结果质量与ETHZ随机森林算子相当。

2.4 加权特征总值

本文对特征分类的权重进行以下定义:①应用于每个特征的权重;②应用于每个特征及其对应标签的权重。对于每个特征标签,分类器计算一个数值作为特征的总和,这些特征对它们的权重和它们对这个特定标签的影响效果进行归一化,用于量化在训练过程中对指定特征的分类指标。

2.4.1 特征的权重与影响

每个特征都分配了一个权重,用于衡量其相对于其他特征的强度。为每对特征和标签指定一种效果,包括:①趋近,标签权重趋近于特征的高值;②中性,标签权重与特征不存在相干性;③偏离,标签权重低于特征的低值。例如,植被与平面的距离很大,颜色值接近绿色;立面与平面的距离很小,垂直度低等。

假设x=(xi)i=1…N为一个潜在分类结果,N为输入项的数量,xi为第i项的特征类别(如植被、土地、建筑等),fj(i)为第i项分类结果的第j种特征类别,wj为该类特征的权重,那么第i项分类结果的第j种特征类别的归一化值为:

利用式(1)计算第i项特征标签xi的权重值,则有:

2.4.2 训练分类

每个特征都被分配了一个权重,这意味着需设置的参数数量可能会迅速增加:若将m个特征在n个标签之间进行分类,则必须设置m+m×n个参数。分类的每个特征标签需具备输入数据集中的一组已知内联数据组,如选择一个屋顶、一棵树和一段地面等。训练算法的原理为:①对于每个特征,测试一系列权重,估计每个特征对每个标签的影响,对于给定的权重,若特征对每个标签具有相同的影响,则与分类无关,估计特征相关的权值范围;②对于每个特征,测试均匀选取的权值,并估计其影响;③用户提供的每个内联数据都采用这组权重和效果进行分类;④采用特征算子对数据进行解算,结果用于评估这组权重和分类效果的质量;⑤重复相同的机制,直至所有特征范围都经过测试。权重只会逐个改变,每个经过测试的权重都保持为得出的最新且最佳分数的值。

特征算子的解算结果一般均会收敛得到满意的解,但可能需要足够的训练次数,如果解算结果并未达到预期,则可在当前识别为错误配置的分类区域中,选择加载更多的内联数据。训练算法在初始化时保留前一轮得到的最佳权值,并通过考虑新的内联项来尝试新的权值。经过多轮解算,最终得到最佳分类结果,将特征算子多轮解算最优解作为最佳预期解算结果。特征算子解算结果与最佳预期解算的匹配度曲线如图4所示。

图4 特征算子解算结果与最佳预期解算的匹配度曲线

2.5 分类集群

针对海量的点云数据集,通常需要将整块数据分割成为紧凑的数据集群(简称簇),从而大大降低复杂性,减少计算时间和内存需求。簇是比原始项(独点、网格孤立点或三角形)更复杂的对象,因此需要提供额外的信息(簇的大小、空间一致性等)。通过构建相应的数据结构,可以使分类结果的噪声更小,若一个立面的所有点都在同一簇中,则它们都将被归为同类特征。例如,在处理包含大平面部分的城市场景时,首先利用专门的平面探测算子检测平面结构,然后将属于特定平面的每个点子集分类为簇。

3 实验结果与分析

3.1 分类效果

本文采用Intel®Core™i7-6700 CPU@3.40 GHz RAM(16.0 GB)Windows10 64位操作系统个人电脑对算法进行测试,得到的最终成果如图5所示,可以看出,建筑房屋和地面可被明显区分,但对于高层建筑的屋面和外墙分类存在误差,主要原因在于,真值训练数据集的选择存在偏差(图5a中绿色点云并未涉及高层建筑),高层建筑的屋顶和立面没有包含其中;但除高层建筑外的楼房屋面和外墙有较明确的分类。

部分区域Area2样本训练分类结果如图6所示,可以看出,从整体区域中选取部分区域作为训练样本,该区域的地物特征与整体区域一致,房屋外形也接近,选取的真值训练数据与整个区域的地物特征较贴合,算法对该数据的分类结果明显优于图5,由此可见,圈定的训练区域所构建的真值训练集将明显影响分类结果的准确度,而样本数据的选择需要具备一般性。

图5 Area1点云分类结果与模型叠加的效果图

图6 部分区域Area2样本训练分类结果

3.2 算法运行时间统计

算法运行主要包括预处理阶段(数据读取、数据结构化、设置特征标签、设置权重等)和训练分类阶段(粗分类、局部滤波分类、图形切割分类)。算法各阶段运行时间如表1所示,若采用人工交互的方式去分类,上述两块点云数据均需花费大量的数据处理时间,而本文算法分类花费的时间都在秒级,算法效率远高于人工交互分类。

表1 算法各阶段运行时间统计

4 结语

本文实现了一种基于城市点云数据的建筑屋面和外墙分类提取算法,通过对点云进行预处理获取特征要素,再根据训练区域设定的特征标签,利用不同的分类识别算子结合多种特征要素识别建筑和非建筑点云,进而完成建筑屋面和外墙点云的分类和提取。由利用该算法处理相关城市点云数据并统计算法各阶段运行时间可知,算法自动化分类效率远高于人工交互分类,且分类结果中建筑屋面和外墙区分较明确,证明算法具有一定的实用性。

猜你喜欢

算子权重标签
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
权重常思“浮名轻”
Domestication or Foreignization:A Cultural Choice
无惧标签 Alfa Romeo Giulia 200HP
为党督政勤履职 代民行权重担当
权重涨个股跌 持有白马蓝筹
不害怕撕掉标签的人,都活出了真正的漂亮
QK空间上的叠加算子
让衣柜摆脱“杂乱无章”的标签