专栏名称: GIS前沿
分享测绘地信资讯,交流行业软件技巧。
目录
相关文章推荐
人人都是产品经理  ·  产品优化:如何快速确定模块优化方向 ·  18 小时前  
人人都是产品经理  ·  从“直男救星”到“姐姐收割机”!小米冲上万亿 ... ·  18 小时前  
91产品  ·  视频号爆单指南 ·  昨天  
51好读  ›  专栏  ›  GIS前沿

一种建筑物形状的识别方法

GIS前沿  · 公众号  ·  · 2024-12-16 20:27

正文

摘要 :针对传统建筑物形状识别方法无法顾及空间认知、不适用于复杂建筑物形状的问题,引入图注意力神经网络识别建筑物形状,采用开源的建筑物形状数据集,使用坐标法、序列法、图方法和特征法等四种方法编码建筑物矢量数据,并对比不同深度学习模型分类建筑物形状的效果。实验表明,在编码方式上,坐标法和序列法精度较差,且分类效果与深度学习模型有一定关系;图方法能很好地分类建筑物形状,特征法能取得比图方法更好的分类效果。在模型上,卷积神经网络和循环神经网络模型分类效果较为均衡,对建筑物特征依赖性不强,而图卷积神经网络模型和图注意力神经网络模型只有和建筑物特征相结合才能取得较好结果,注意力机制的使用能够提高形状分类精度。


引用 :[1] 张自强,刘涛. 图注意力神经网络支持下的建筑物形状识别[J]. 测绘科学, 2024, 49 (09): 125-133.

引言

建筑物是地形图的基本组成部分,是地理数据库中最重要、更新频率最高的部分之一 [1] ,也是容纳大多数城市活动的核心要素 [2] ,建筑物往往决定着城市的结构和形态 [3] 。研究建筑物特征具有重要意义,相关成果已在地图综合、城市规划、城市建模、景观分析、导航等领域得到了广泛应用 [4-5] 。


建筑物包含多个空间特征,如位置、形状和相关性等,其中,形状是建筑物的核心特征之一,广泛分布在大中型地图中 [6] ,某一时期的建筑物形状可以反映相应时期的文化特征。建筑物形状的识别和分类是地图认知的一项重要工作,有助于更好地识别和规划城市结构,也是地图综合、空间数据更新和多源时空数据融合的基础步骤 [7-9] 。


传统的建筑物形状度量方法多基于几何和统计测量,可分为边界表示法、区域表示法和结构表示法3类。边界表示法提取边界的描述特征,使用字符串或函数拟合形状,如形状上下文 [10] 、转向函数 [11] 、多尺度凹凸 [12] 等。区域表示法通过操作区域单元描述形状,如密度分布统计 [13] 、傅里叶描述符 [14] 等。结构表示法针对个体建筑物的应用较少,常用于描述建筑群组的整体形状和拓扑结构,如骨架法 [15] 等。这些传统方法虽然在计算上比较稳定,但其简单的描述算子无法顾及空间认知,由于形状非常复杂且与认知相关,有必要探索新的形状度量方法。


近年来,随着深度学习的发展,其强大的表示能力在地理信息领域得到了广泛应用。遥感图像的规则性符合卷积神经网络(convolutional neural networks, CNN)对于训练数据的要求,因此CNN大量应用于遥感图像分析,如多源遥感分类 [16] 、时空监测 [17] 、建筑物提取 [18] 等。而对于地理空间中大量的矢量数据,由于数据的不规则性,早期的深度学习通常将矢量数据转换为栅格数据进行分析 [19] ,这种方法有较大的局限性,会丢失数据信息,降低数据丰富性,给地图综合过程带来不确定性和模糊性 [20-21] 。因此学者们尝试使用深度学习模型直接从矢量数据学习——即将矢量数据直接编码到嵌入空间,以充分利用矢量数据包含的信息。图卷积神经网络(graph convolutional network, GCN)的引入使得深度学习模型能够直接处理矢量数据,已在建筑物模式分析 [22-23] 、建筑物简化 [14] 、排水模式识别 [24-26] 、河流网络选择 [27] 、点群综合 [28] 等领域取得了大量成果,展现了深度学习对地图矢量数据特征的强大学习能力。


深度学习在矢量数据形状分析上有3种方法:图像法、序列法和图方法。图像法通过栅格化矢量数据,之后使用基于图像的深度学习方法进行形状编码。序列法通过将形状边界构建为一个连续序列对形状进行编码,之后将编码输入序列模型进行分析,如文献 [29]使用循环神经网络(recurrent neural networks, RNN)进行建筑物形状分类,文献 [30]使用三角卷积算子直接在二维点向量序列上执行深度点卷积网络(deep point convolutional network, DPCN),利用相应模型进行形状分类,文献 [31]从空间域和谱域两个角度开发了基于CNN的形状编码方法。图方法将建筑物形状构建为图结构,并将图结构输入相应的神经网络进行分析。文献 [32]使用图卷积自动编码器(graph convolutional autoencoder, GCAE)进行形状编码 [32] 。文献 [34]使用深度图滤波神经网络(deep graph filter neural network, DGFN)完成建筑物的形状分类和嵌入任务。文献 [29]利用多尺度数据和知识图谱技术识别了C形建筑物。文献 [35]选取了GraphNet、SeqNet和PixelNet等3种不同模型进行形状编码,对不同方法进行对比分析,最终发现图方法比其他方法表现更好。文献 [36]从地图自动综合的角度出发,提出了一种增强特征编码方法,并将其应用于形状分类任务,得到了较好结果。


然而,尽管目前深度学习在矢量数据形状编码上已取得了一定成果,但相关的探索仍处于初步阶段。形状是一个非常复杂的几何结构,现有的将矢量数据编码到嵌入空间的方案仍较少,缺乏更多模型的分析和研究。特征描述和预处理过程较为复杂,需要进一步分析不同特征对结果的影响,以最大化减小预处理过程的几何操作。因此,本文进一步探索使用深度学习方法分析建筑物形状,引入图注意力网络分类建筑物形状,并对比分析不同深度学习方法在形状分析上的有效性,以探究更高效的形状编码方法和更好的分类结果。

1 建筑物形状识别

1.1 数据编码

建筑物多边形的编码有多种方法,包括坐标法、序列法、图方法和特征法。坐标法较为简单,但只能表示简单多边形,序列法结合标记顶点[1 0 0]、子图[0 1 0]或整个几何体[0 0 1]的独热编码,扩充了坐标特征 [29] 。由于坐标信息的单一性,图方法提取部分局部、区域和全局特征分析建筑物形状 [32] ,特征法顾及地图综合领域知识,将前几种方法结合起来,用于描述多边形形状 [36] ,该编码过程是可逆的和对象相关的,能够使预处理过程的几何操作最小化,包括输入数据规范化、坐标规范化和特征提取3步。几种编码方法如表1所示。

由于空间矢量数据的不规范性,往往无法满足深度学习模型对数据的要求,因此需要对数据进行一定的规范化处理,以保证输入数据具有相同的输入特征。文献 [29]使用填充法,通过填充0使几何体具有相同的顶点数;文献 [32]使用Douglas-Peucker算法简化数据,并使用等距离插值生成规范的输入数据。这些方法的预处理过程较多;文献 [36]提出了一种用多余顶点迭代划分最长边的方法实现数据的规范化处理,并基于地图综合目的,引入了基于地图的归一化方法,使坐标归一化与整个地图区域相联系。

1.2 深度学习模型
1.2.1 图卷积神经网络

GCN分为谱域GCN和空间域GCN两种,谱域GCN使用图傅里叶变换,将图的卷积运算转换为空域中的点乘运算,并使用傅里叶逆变换转换回节点域,实现图卷积运算 [37] 。定义式见式(1)。

1.2.2 图注意力网络模型

深度学习中的注意力机制通过注意力分配权重,降低了模型复杂性,可以处理可变尺寸的输入。图注意力网络模型(graph attention network,GAT) [38] 克服了GCN方法的缺点,利用自注意机制计算图中每个节点的隐藏表示,通过叠加层,为邻域中的不同节点指定不同的权重,使得节点邻域对之间能够并行计算,从而减小矩阵运算,因而GAT模型比较高效,能够应用于具有不同度的图节点。图注意力网络已成功应用于交通流量预测 [39] 、矿产测绘 [40] 、恶意软件监测 [41] 等多方面。

2 实验与分析

2.1 实验数据

本文使用晏雄峰等开源的建筑物形状基准数据集 [32] ,包含5 010个从OSM数据中提取出的建筑物数据,根据形状将这些数据分类为字母形状(即E-形状、F-形状、H-形状、I-形状、L-形状、O-形状、T-形状、U-形状、Y-形状和Z-形状),每一字母形状包括501个建筑物,如图2所示。

2.2 形状分类实验

本文采用Pytorch1.9.0/CUDA10.2实现深度学习模型。模型的批处理大小为16,学习率为0.001,训练和测试集的比例为4∶1,使用文献 [32]定义的局部和区域特征进行特征编码,使用Z-分数方法进行特征归一化,使用精度、f1分数、召回率等指标对结果进行评价。

为确定合理的训练周期数,首先使用特征法编码、GAT模型训练了300个周期,模型的训练过程如图3所示。模型的分类精度达到极值99.9%(周期=173)后,会逐渐回落,且无法达到更高的精度。为兼顾训练时间与训练效果,从而利用较短时间达到更高精度,本文将周期定为200进行训练。

本文使用插值、迭代和填充等数据归一化方法,将多边形长度设置为64,使用坐标法(c)、序列法(s)、图方法(g)和特征法(f)4种方法编码建筑物,最后利用CNN [30] 、RNN [29] 、GCN [32] 、GAT等4种深度学习模型进行建筑物形状分类,并对结果进行分析。

表2记录了使用不同模型和编码方法得到的测试集精度、f1分数和召回率。从编码方式的角度看,CNN和RNN方法中,序列法的精度比坐标法好,而GCN和GAT中,序列法的精度要比坐标法差一些,这说明独热编码的有效性和模型有关,在以图结构为基础的模型中,序列法中的独热编码会对坐标信息造成一定的干扰,影响模型的分类效果;无论对于哪一种模型,图方法中建筑物局部特征和邻域特征的引入都能够大幅度提高模型的分类性能,准确分类出大部分形状,特征法在图方法的基础上又能进一步改善分类效果,这说明建筑物特征是分类建筑物形状的关键要素,能够很好地用于区分建筑物形状,独热编码的使用能够结合建筑物特征进一步提高建筑物形状分类性能。从模型的角度来看,CNN和RNN分类效果较为均衡,都在90%以上;GCN和GAT方法使用坐标法和序列法编码的精度较差,而使用图方法和特征法的精度又很高。这说明CNN和RNN模型对于编码方式不敏感,对建筑物特征依赖程度较低,而以图结构为基础的GCN和GAT方法对编码方式较为敏感,且较为依赖建筑物特征,只有在结合建筑物特征的情况下才能取得较好的分类效果。

由表2可知,对于任意的深度学习模型,特征法总能取得最好的精度,为更好对比不同模型在建筑物形状分类上的性能,记录使用特征法编码时不同模型的训练过程,如图4所示。在特征编码时,CNN的精度最差,损失值震荡也较大,RNN的精度比CNN要好,但损失值仍然震荡比较大,GCN的精度较高,损失值也震荡较小,GAT模型的精度最高,损失值也最小,优于其他模型。

为进一步分析模型对每一类形状的分类性能,分别计算每种模型测试集训练结果中每一类形状的准确率、f1分数、召回率等指标,并统计分类后各类形状的数量,如图6所示。可以看出,CNN模型的形状分类效果较差,各项指标均较低,RNN分类效果较好,而GCN和GAT能进一步改善分类效果,各项指标都在97%以上。在单个形状的识别上,几种模型对F-形状、L-形状等易混形状的分类效果均相对较差,对I-形状和O-形状等特殊形状分类效果均相对较好,这说明形状之间的相似性会影响到形状分类效果,与其他形状相似性较高的形状容易在分类时混淆,而较为特殊的形状则由于自身的独特属性,在训练时不易混淆,因此很容易取得较高的分类精度。

3 结束语

建筑物的形状是建筑物的重要属性,建筑物的形状分类对地图综合、城市规划等具有重要意义,本文使用了不同编码方法和不同深度学习模型对建筑物形状进行分类,从精度、f1分数、召回率和编码嵌入可视化等多方面进行对比分析。结果发现,在四种编码方法中,坐标法和序列法精度较差,且分类效果与深度学习模型有一定关系;而结合建筑物特征的图方法能够很好地分类建筑物形状,能够大幅改善分类效果,结合建筑物特征和独热编码的特征法能在图方法的基础上进一步提升分类效果。在模型上,CNN和RNN分类效果较为均衡,对编码方式不敏感,而GCN和GAT方法分类效果较为均衡,对建筑物特征依赖程度较低,GCN和GAT模型较为依赖建筑物特征,只有结合合适的建筑物特征才能取得良好的分类效果,GAT模型能取得比GCN更好的结果,这说明注意力机制的使用能够改善GCN的性能,提高分类精度。后续工作将探索更多的深度学习新技术在建筑物形状分类上的应用,并考虑将形状识别结果应用到建筑物综合的研究中,为地图自动综合提供参考、将深度学习模型运用到其他矢量数据的处理上等。


- END -



历史干货

GIS制图 | 简单几步,复刻《这里是中国》(附DEM、全国遥感影像数据下载)






请到「今天看啥」查看全文