基于扩展语义匹配的BIM和GIS三维建筑数据融合
2022-08-26胡瑛婷
胡瑛婷 马 骏 石 玉 闫 伟
(山东师范大学 信息科学与工程学院,济南 250300)
引言
伴随着信息技术的高速发展,如何将新一代信息技术创新性地应用到优化城市结构等关键问题随之应运而生,而提升城市竞争力的有效方法之一就是建设智慧城市。我国从2009年至今连续召开了20余场智慧城市研讨会,“智慧城市”这一理念逐渐受到专家学者与相关从业者的广泛关注。从数字城市升级到智慧城市的一个显著特征是更加精细化的城市管理。为实现城市的精细化管理,仅利用建筑信息模型(Building Information Modeling,BIM)会缺少在地理坐标上的数据信息,而如果仅利用地理信息系统(Geographic Information System,GIS)则会无法得到建筑物的构件信息。因此,BIM技术和GIS技术的融合可结合二者互补的数据信息,将BIM领域中单栋建筑的精确模型数据信息和GIS领域中空间信息系统数据信息相结合,它不仅拓宽了数据的表示范围,还增强了数据的深度,最终实现“从建筑物外走进建筑物内”的目标。
随着BIM 技术的快速发展,三维城市模型提供了许多详细的数据信息,提高了城市管理效率[1], 同时也为模型的建立提供了更加丰富的数据支持[2]。这是目前城市三维建模研究的潮流趋势[3], 也是智慧城市等相关研究领域的技术需求[4]。
本文选取IFC(Industry Foundation Classes)和 CityGML(City Geography Markup Language)两个标准为载体来研究BIM和GIS的融合。
IFC标准采用EXPRESS语言定义建筑数据,反映了现实世界中的实体。CityGML标准则定义了城市中的地理位置数据信息等,并基于XML格式来完成数据的交换与存储。
本文提出了一种基于扩展语义匹配的BIM和GIS 三维建筑数据融合,采取了知识表示学习方法。该方法先提取三元组,将三元组拆分成实体和关系两部分,再将实体部分转换到低维向量空间,最后将语义信息表示为实体向量,再对向量进行聚类; 此外,还采用几何重构的方法,将知识表示学习无法实现映射的实体进一步完成映射对应; 最后建立三维模型,在实例层面进行验证。
1 BIM和GIS的融合方法研究现状
1.1 在学术界的研究现状
BIM与GIS的融合研究是当前相关专业研究的前沿和趋势,许多学者和组织都进行了一定的探讨和研究[5]。
Shinji Yamamuraa等[6]提出了一种基于GIS-BIM的城市能源布局体系,提供了城市能源规划技术和处理方案。B.Wu等[7]分析了GIS和BIM两种技术融合带来的好处,研究了优化GIS和BIM数据集之间转换的方法。Yichuan Deng等[8]通过实例生成了IFC和CityGML之间的映射规则。E.P.Karan等[9]利用Web技术成功地获取了不同领域的数据信息,解决了BIM和GIS之间的数据共享问题。
而现在之所以没有实现IFC标准和CityGML标准的完整映射和数据的补充,主要是因为存在以下不足:
(1)语义信息不对等
IFC标准中包含的语义信息和数据信息比CityGML标准中的信息更多更详细。假如根据CityGML标准建立映射关系的话,那将必然损失大量数据,而解决数据丢失这一问题则还需要更进一步的研究。
(2)对语义对象定义的侧重点不同
IFC标准和CityGML标准对语义对象定义的侧重点不同:IFC标准更关注建筑物的构件,而CityGML标准则更侧重于空间属性。
(3)不具备完整的映射规则
没有将IFC标准和CityGML标准数据本身作为出发点,同时考虑几何和语义信息。
1.2 在工业界的研究现状
目前在商业软件方面,已经有成功实现了将IFC模型与多层LOD级别的CityGML模型的双向转换的软件,包括FME、IFCExplorer、BlMServer等。其中,FME可将IFC标准的模型转换为CityGML标准的模型。IFCExplorer目前已实现导入IFC标准的模型和CityGML标准的模型,并实现场景整合和模型规范验证等功能,但转换仍停留在从IFC标准的模型到低层次的CityGML标准的模型转换研究上。BIMServer可实现对IFC标准的模型管理,可导出CityGML、KML等格式,但存在问题是导出的CityGML标准的模型精度低。
为了实现BIM和GIS两大技术领域在数据上的真正融合,其载体IFC标准与CityGML标准数据格式转换主要分为以下两类:
(1)U.Isikdag[10]提出了将IFC标准的模型转换为CityGML标准的模型的框架。该框架描述了实现从IFC 标准到CityGML 标准的LOD1-LOD4映射的基本思路,但没有提出设计实现具体的映射方法,只是思路却没有实践,且该规则是单方向地将IFC标准的模型映射为CityGML标准的模型,而无法实现反向的转换;
(2)设计中间模型。M.El-Mekawy[11]提出将IFC标准与 CityGML标准的数据信息整合到一个中间模型中,将两个标准的实体整合到中间模型中。
1.3 研究方法
本文对于基于扩展语义匹配的BIM和GIS 三维建筑数据融合,以IFC和CityGML标准为载体,研究路线如图1所示,分为两个方面:一方面是建立IFC和CityGML的本体匹配模型,采用字符串匹配、知识表示学习以及几何重构三个方法,实现从IFC标准的实体到CityGML标准的实体的映射匹配; 另一方面是实例验证,在三维模型层面验证本体匹配模型。
图1 研究内容
2 建立IFC和CityGML的本体匹配模型
2.1 知识表征学习
2.1.1 语义修正
提取实体的三元组,即对IFC和CityGML两个标准的文件进行信息抽取。方法是通过python的rdflib库对owl文件提取三元组(head、relation、tail)。在获得IFC4.0以及CityGML2.0的owl文件之后,通过python提供的现有库rdflib对这两个owl文件进行解析,抽取IFC以及CityGML的三元组,并且对异常数据进行处理,最终分别得到IFC和CityGML的三元组。为了方便后续的向量化处理,项目组对实体、关系以及三元组进行人工标注处理。最终通过人工标注的实体、关系和三元组,共获得2 527个CityGML三元组,36 114个IFC三元组。项目组对这些提取的三元组进行异常数据的处理,获得290个CityGML实体以及4 923个IFC实体,部分三元组如表1所示。
表1 部分三元组
2.1.2 知识表示学习
(1)利用TransE实现三元组的向量化处理,并对提取出的三元组进行知识表示
采用了Trans家族的TransE算法[12],实现将实体和关系用向量进行表示。利用实体向量,再进一步研究IFC和CityGML本体匹配融合。利用TransE方法,对提取的三元组进行向量化处理,将人工标注好的实体以及关系文件输入TransE模型,可以得到对应的实体以及关系的50维的向量。
在TransE算法中定义了如下超参:向量维度为50,学习率为0.01, 目标函数常数为1,使用L1范数计算距离。实现将知识图谱中所有的实体、关系用向量来进行表示,原理如图2所示。
图2 TransE原理图
(2)使用T-SNE[13](t-distributed Stochastic Neighbor Embedding)对该高维(50维)向量降维并可视化处理
1)将上步得到的高维向量数据随机投影到一维数轴中,如图3(a)所示;
2)再使用t分布计算样本间的相似性并得出一个分数,如图3(b)所示;
3)变换目标,并计算剩余样本和目标之间的相似性得分,最终得到一个相似性得分矩阵,如图3(c)所示;
4)T-SNE的目的是将样本逐步移动,最终完成原始聚类数据的恢复和还原,如图3(d)所示。
T-SNE 原理图如图3所示。
(a)
2.1.3 相似度计算
得到实体向量后,为进一步对IFC和CityGML本体融合匹配,利用k-means聚类对实体向量进行进一步的分析。
k-means聚类算法流程:
(1)确定IFC和CityGML全部实体聚类结果的类数k值;
(2)随机抽取k个数据点作为质心;
(3)遍历数据集中每一个实体点,计算其与每一个质心的间隔距离,判断其与哪个质心距离最近,就划分到哪个质心所属于的集合;
(4)把全部数据归好类后,会获得k个集合,再重新计算每个集合的质心;
(5)假如新得到的质心和原本的质心之间的间隔距离小于阈值,则认为聚类结束;
(6)若新质心和原质心的间隔距离变化大,则还需不断迭代3)~5)步骤。
通过对IFC和CityGML实体向量进行K-means聚类,聚类结果如表2和图4所示,将聚类中心用绿点表示。
表2 IFC和CityGML实体聚类结果
图4 K-means聚类结果图
2.2 几何重构
虽然门和窗户等都可通过用2.2知识表示学习的方法实现映射,但还有墙、天花板等,因为IFC标准下的实体表示和CityGML标准下的实体表示不同,前者为扫描体表达,后者为边界描述,因此还需要通过几何重构对这类实体进行进一步的映射。通过对提取出的“实体—关系—实体”三元组,进行遍历提取信息,得到实体的尺寸、坐标等,并根据这些信息进行几何重构,进一步实现从IFC标准的实体到CityGML标准的实体的映射和数据信息的补充,使匹配模型更加完善。
首先,提取三元组中关系为type的集合,通过提取三元组信息得到的模型中墙这一类的具体实例的集合,如表3所示;
其次,根据三元组对墙的实例进一步深入扩展,获取到墙的尺寸、坐标等更详细的数据信息,如图5所示为三元组中的数据关系:
(1)获取墙的名字;
(2)获取墙的高度;
(3)获取墙的一层平面上四个点的坐标。
最终获取到墙的实例的尺寸、一层平面四个点的坐标和高度,如表4所示,IfcWallStandardCase_133的厚度为200 mm,高度为8 000mm,再根据四个点的坐标可知,该墙的尺寸长为12 400mm,高为8 000mm。根据墙的尺寸和坐标,可判断出墙的内表面和外表面。其中,墙的内表面映射到CityGML标准的InteriorWallSurface,墙的外表面映射到CityGML标准中的WallSurface。
图5 获取数据信息
通过对IFC标准的实体的数据信息的研究,发现其模型内部的实体坐标都以每一个实体自己的中心为原点,向外扩展。再通过对坐标的研究,发现如在墙这一实例中,从中心点扩展,向内墙方向的扩展为负,外墙方向的扩展为正。由此可以判断出,在表4中所列出的四个点a,b,c,d中,a,b两点位于内墙,c,d两点位于外墙。由此可分别根据a,b点和墙的尺寸、c,d点和墙的尺寸来建立内墙和外墙两个面,并分别映射到CityGML标准中的InteriorWallSurface和WallSurface两个实体, 同理可对应出天花板、地板等实体的内外表面。
表3 墙的实例
表4 IfcWallStandardCase_1339 厚度和坐标
3 在三维模型层面验证本体匹配模型
3.1 建立IFC标准的模型
用Revit建立一个IFC标准的模型并导出其.ifc文件,再通过转换得到.owl格式的文件。
(1)用Revit建立一个城市书房的三维建筑模型并导出IFC文件,如图6所示;
图6 IFC标准的三维模型
(2)在导出IFC文件之后,利用buildingSMART官网中的IFCConvertor,名字叫 UGent-Aalto IFC-to-RDF Converter,并利用其中的JAR包将IFC文件转换为ifcOWL文件。
IFC标准是利用XML数据格式描述数据内容,而OWL语言也是基于XML数据格式进行存储的。基于这一特性,可构建IFC到OWL的数据转换方式,将BIM模型的信息转换为可构建知识图谱的信息格式。Pauwels等提出了一种EXPRESS到OWL的转换模式,该模式转换的OWL本体数据可实现数据的重用和查询、推理。根据该转换模式,可实现对IFC中的实体类型和属性关系到CityGML标准的转换。
3.2 建立CityGML标准的模型
根据3.1节中建立的实体匹配模型,将建立的IFC标准的模型对应映射出CityGML标准的数据信息,并根据这些数据建立一个CityGML标准的模型。
通过相同的方法解析owl文件,项目组从中提取到了概念层文件IFC4.0所不具有的实体的详细信息,如表5~表6所示,其中表6通过字符串匹配、知识表示学习和几何重构实现了IFC标准到CityGML标准的映射。
表5 三元组中实体详细信息
表6 IFC标准实体和CityGML标准实体对应关系
4 结论
本文提出了一种新的关于研究IFC与CityGML匹配融合的方法,并且通过上述实验,项目组成功地将IFC标准的owl文件中的实体Ifcwindow与CityGML标准的owl文件的实体window聚为同一类,验证了知识表示学习的方法的可行性。通过对应出内墙和外墙,验证了几何重构的可行性。
但实验也存在一些不足之处,比如项目组聚类的结果有局限性。通过分析实验步骤可知,在如下方面存在不足:
(1)处理三元组
在处理三元组的过程,项目组并没有恰当地筛选出所有合适的三元组,而是简单地筛选异常三元组和去重,冗余的三元组信息干扰了TransE向量化的结果。
(2)向量化模型选取
使用的是Trans家族的TransE算法。算法本身最适合的是一对一的三元组,三元组可能在与算法结合上存在问题。
本文基于扩展语义匹配的BIM和GIS 三维建筑数据融合研究,采用的知识表示学习的方法可以有效地解决IFC和CityGML两个不同标准对同一实体的语义理解偏差问题,并取得了一定的成果。当然该方法在TransE参数的确定与三元组信息的筛选方面都需要更进一步的研究和改善。此外,在几何重构方面,项目组还可继续进行下一步的研究,将IFC标准实体的中心点原点坐标整合转换为一个原点,并根据此原点转换拓展出模型内部某一构件的坐标,最终实现将基于构件本身的坐标转换为基于整个模型的坐标,并通过SWRL规则来完成映射和对应。