胡瑛婷 馬 駿 石 玉 閆 偉
(山東師范大學 信息科學與工程學院,濟南 250300)
伴隨著信息技術的高速發(fā)展,如何將新一代信息技術創(chuàng)新性地應用到優(yōu)化城市結(jié)構等關鍵問題隨之應運而生,而提升城市競爭力的有效方法之一就是建設智慧城市。我國從2009年至今連續(xù)召開了20余場智慧城市研討會,“智慧城市”這一理念逐漸受到專家學者與相關從業(yè)者的廣泛關注。從數(shù)字城市升級到智慧城市的一個顯著特征是更加精細化的城市管理。為實現(xiàn)城市的精細化管理,僅利用建筑信息模型(Building Information Modeling,BIM)會缺少在地理坐標上的數(shù)據(jù)信息,而如果僅利用地理信息系統(tǒng)(Geographic Information System,GIS)則會無法得到建筑物的構件信息。因此,BIM技術和GIS技術的融合可結(jié)合二者互補的數(shù)據(jù)信息,將BIM領域中單棟建筑的精確模型數(shù)據(jù)信息和GIS領域中空間信息系統(tǒng)數(shù)據(jù)信息相結(jié)合,它不僅拓寬了數(shù)據(jù)的表示范圍,還增強了數(shù)據(jù)的深度,最終實現(xiàn)“從建筑物外走進建筑物內(nèi)”的目標。
隨著BIM 技術的快速發(fā)展,三維城市模型提供了許多詳細的數(shù)據(jù)信息,提高了城市管理效率[1], 同時也為模型的建立提供了更加豐富的數(shù)據(jù)支持[2]。這是目前城市三維建模研究的潮流趨勢[3], 也是智慧城市等相關研究領域的技術需求[4]。
本文選取IFC(Industry Foundation Classes)和 CityGML(City Geography Markup Language)兩個標準為載體來研究BIM和GIS的融合。
IFC標準采用EXPRESS語言定義建筑數(shù)據(jù),反映了現(xiàn)實世界中的實體。CityGML標準則定義了城市中的地理位置數(shù)據(jù)信息等,并基于XML格式來完成數(shù)據(jù)的交換與存儲。
本文提出了一種基于擴展語義匹配的BIM和GIS 三維建筑數(shù)據(jù)融合,采取了知識表示學習方法。該方法先提取三元組,將三元組拆分成實體和關系兩部分,再將實體部分轉(zhuǎn)換到低維向量空間,最后將語義信息表示為實體向量,再對向量進行聚類; 此外,還采用幾何重構的方法,將知識表示學習無法實現(xiàn)映射的實體進一步完成映射對應; 最后建立三維模型,在實例層面進行驗證。
BIM與GIS的融合研究是當前相關專業(yè)研究的前沿和趨勢,許多學者和組織都進行了一定的探討和研究[5]。
Shinji Yamamuraa等[6]提出了一種基于GIS-BIM的城市能源布局體系,提供了城市能源規(guī)劃技術和處理方案。B.Wu等[7]分析了GIS和BIM兩種技術融合帶來的好處,研究了優(yōu)化GIS和BIM數(shù)據(jù)集之間轉(zhuǎn)換的方法。Yichuan Deng等[8]通過實例生成了IFC和CityGML之間的映射規(guī)則。E.P.Karan等[9]利用Web技術成功地獲取了不同領域的數(shù)據(jù)信息,解決了BIM和GIS之間的數(shù)據(jù)共享問題。
而現(xiàn)在之所以沒有實現(xiàn)IFC標準和CityGML標準的完整映射和數(shù)據(jù)的補充,主要是因為存在以下不足:
(1)語義信息不對等
IFC標準中包含的語義信息和數(shù)據(jù)信息比CityGML標準中的信息更多更詳細。假如根據(jù)CityGML標準建立映射關系的話,那將必然損失大量數(shù)據(jù),而解決數(shù)據(jù)丟失這一問題則還需要更進一步的研究。
(2)對語義對象定義的側(cè)重點不同
IFC標準和CityGML標準對語義對象定義的側(cè)重點不同:IFC標準更關注建筑物的構件,而CityGML標準則更側(cè)重于空間屬性。
(3)不具備完整的映射規(guī)則
沒有將IFC標準和CityGML標準數(shù)據(jù)本身作為出發(fā)點,同時考慮幾何和語義信息。
目前在商業(yè)軟件方面,已經(jīng)有成功實現(xiàn)了將IFC模型與多層LOD級別的CityGML模型的雙向轉(zhuǎn)換的軟件,包括FME、IFCExplorer、BlMServer等。其中,F(xiàn)ME可將IFC標準的模型轉(zhuǎn)換為CityGML標準的模型。IFCExplorer目前已實現(xiàn)導入IFC標準的模型和CityGML標準的模型,并實現(xiàn)場景整合和模型規(guī)范驗證等功能,但轉(zhuǎn)換仍停留在從IFC標準的模型到低層次的CityGML標準的模型轉(zhuǎn)換研究上。BIMServer可實現(xiàn)對IFC標準的模型管理,可導出CityGML、KML等格式,但存在問題是導出的CityGML標準的模型精度低。
為了實現(xiàn)BIM和GIS兩大技術領域在數(shù)據(jù)上的真正融合,其載體IFC標準與CityGML標準數(shù)據(jù)格式轉(zhuǎn)換主要分為以下兩類:
(1)U.Isikdag[10]提出了將IFC標準的模型轉(zhuǎn)換為CityGML標準的模型的框架。該框架描述了實現(xiàn)從IFC 標準到CityGML 標準的LOD1-LOD4映射的基本思路,但沒有提出設計實現(xiàn)具體的映射方法,只是思路卻沒有實踐,且該規(guī)則是單方向地將IFC標準的模型映射為CityGML標準的模型,而無法實現(xiàn)反向的轉(zhuǎn)換;
(2)設計中間模型。M.El-Mekawy[11]提出將IFC標準與 CityGML標準的數(shù)據(jù)信息整合到一個中間模型中,將兩個標準的實體整合到中間模型中。
本文對于基于擴展語義匹配的BIM和GIS 三維建筑數(shù)據(jù)融合,以IFC和CityGML標準為載體,研究路線如圖1所示,分為兩個方面:一方面是建立IFC和CityGML的本體匹配模型,采用字符串匹配、知識表示學習以及幾何重構三個方法,實現(xiàn)從IFC標準的實體到CityGML標準的實體的映射匹配; 另一方面是實例驗證,在三維模型層面驗證本體匹配模型。
圖1 研究內(nèi)容
2.1.1 語義修正
提取實體的三元組,即對IFC和CityGML兩個標準的文件進行信息抽取。方法是通過python的rdflib庫對owl文件提取三元組(head、relation、tail)。在獲得IFC4.0以及CityGML2.0的owl文件之后,通過python提供的現(xiàn)有庫rdflib對這兩個owl文件進行解析,抽取IFC以及CityGML的三元組,并且對異常數(shù)據(jù)進行處理,最終分別得到IFC和CityGML的三元組。為了方便后續(xù)的向量化處理,項目組對實體、關系以及三元組進行人工標注處理。最終通過人工標注的實體、關系和三元組,共獲得2 527個CityGML三元組,36 114個IFC三元組。項目組對這些提取的三元組進行異常數(shù)據(jù)的處理,獲得290個CityGML實體以及4 923個IFC實體,部分三元組如表1所示。
表1 部分三元組
2.1.2 知識表示學習
(1)利用TransE實現(xiàn)三元組的向量化處理,并對提取出的三元組進行知識表示
采用了Trans家族的TransE算法[12],實現(xiàn)將實體和關系用向量進行表示。利用實體向量,再進一步研究IFC和CityGML本體匹配融合。利用TransE方法,對提取的三元組進行向量化處理,將人工標注好的實體以及關系文件輸入TransE模型,可以得到對應的實體以及關系的50維的向量。
在TransE算法中定義了如下超參:向量維度為50,學習率為0.01, 目標函數(shù)常數(shù)為1,使用L1范數(shù)計算距離。實現(xiàn)將知識圖譜中所有的實體、關系用向量來進行表示,原理如圖2所示。
圖2 TransE原理圖
(2)使用T-SNE[13](t-distributed Stochastic Neighbor Embedding)對該高維(50維)向量降維并可視化處理
1)將上步得到的高維向量數(shù)據(jù)隨機投影到一維數(shù)軸中,如圖3(a)所示;
2)再使用t分布計算樣本間的相似性并得出一個分數(shù),如圖3(b)所示;
3)變換目標,并計算剩余樣本和目標之間的相似性得分,最終得到一個相似性得分矩陣,如圖3(c)所示;
4)T-SNE的目的是將樣本逐步移動,最終完成原始聚類數(shù)據(jù)的恢復和還原,如圖3(d)所示。
T-SNE 原理圖如圖3所示。
(a)
2.1.3 相似度計算
得到實體向量后,為進一步對IFC和CityGML本體融合匹配,利用k-means聚類對實體向量進行進一步的分析。
k-means聚類算法流程:
(1)確定IFC和CityGML全部實體聚類結(jié)果的類數(shù)k值;
(2)隨機抽取k個數(shù)據(jù)點作為質(zhì)心;
(3)遍歷數(shù)據(jù)集中每一個實體點,計算其與每一個質(zhì)心的間隔距離,判斷其與哪個質(zhì)心距離最近,就劃分到哪個質(zhì)心所屬于的集合;
(4)把全部數(shù)據(jù)歸好類后,會獲得k個集合,再重新計算每個集合的質(zhì)心;
(5)假如新得到的質(zhì)心和原本的質(zhì)心之間的間隔距離小于閾值,則認為聚類結(jié)束;
(6)若新質(zhì)心和原質(zhì)心的間隔距離變化大,則還需不斷迭代3)~5)步驟。
通過對IFC和CityGML實體向量進行K-means聚類,聚類結(jié)果如表2和圖4所示,將聚類中心用綠點表示。
表2 IFC和CityGML實體聚類結(jié)果
圖4 K-means聚類結(jié)果圖
雖然門和窗戶等都可通過用2.2知識表示學習的方法實現(xiàn)映射,但還有墻、天花板等,因為IFC標準下的實體表示和CityGML標準下的實體表示不同,前者為掃描體表達,后者為邊界描述,因此還需要通過幾何重構對這類實體進行進一步的映射。通過對提取出的“實體—關系—實體”三元組,進行遍歷提取信息,得到實體的尺寸、坐標等,并根據(jù)這些信息進行幾何重構,進一步實現(xiàn)從IFC標準的實體到CityGML標準的實體的映射和數(shù)據(jù)信息的補充,使匹配模型更加完善。
首先,提取三元組中關系為type的集合,通過提取三元組信息得到的模型中墻這一類的具體實例的集合,如表3所示;
其次,根據(jù)三元組對墻的實例進一步深入擴展,獲取到墻的尺寸、坐標等更詳細的數(shù)據(jù)信息,如圖5所示為三元組中的數(shù)據(jù)關系:
(1)獲取墻的名字;
(2)獲取墻的高度;
(3)獲取墻的一層平面上四個點的坐標。
最終獲取到墻的實例的尺寸、一層平面四個點的坐標和高度,如表4所示,IfcWallStandardCase_133的厚度為200 mm,高度為8 000mm,再根據(jù)四個點的坐標可知,該墻的尺寸長為12 400mm,高為8 000mm。根據(jù)墻的尺寸和坐標,可判斷出墻的內(nèi)表面和外表面。其中,墻的內(nèi)表面映射到CityGML標準的InteriorWallSurface,墻的外表面映射到CityGML標準中的WallSurface。
圖5 獲取數(shù)據(jù)信息
通過對IFC標準的實體的數(shù)據(jù)信息的研究,發(fā)現(xiàn)其模型內(nèi)部的實體坐標都以每一個實體自己的中心為原點,向外擴展。再通過對坐標的研究,發(fā)現(xiàn)如在墻這一實例中,從中心點擴展,向內(nèi)墻方向的擴展為負,外墻方向的擴展為正。由此可以判斷出,在表4中所列出的四個點a,b,c,d中,a,b兩點位于內(nèi)墻,c,d兩點位于外墻。由此可分別根據(jù)a,b點和墻的尺寸、c,d點和墻的尺寸來建立內(nèi)墻和外墻兩個面,并分別映射到CityGML標準中的InteriorWallSurface和WallSurface兩個實體, 同理可對應出天花板、地板等實體的內(nèi)外表面。
表3 墻的實例
表4 IfcWallStandardCase_1339 厚度和坐標
用Revit建立一個IFC標準的模型并導出其.ifc文件,再通過轉(zhuǎn)換得到.owl格式的文件。
(1)用Revit建立一個城市書房的三維建筑模型并導出IFC文件,如圖6所示;
圖6 IFC標準的三維模型
(2)在導出IFC文件之后,利用buildingSMART官網(wǎng)中的IFCConvertor,名字叫 UGent-Aalto IFC-to-RDF Converter,并利用其中的JAR包將IFC文件轉(zhuǎn)換為ifcOWL文件。
IFC標準是利用XML數(shù)據(jù)格式描述數(shù)據(jù)內(nèi)容,而OWL語言也是基于XML數(shù)據(jù)格式進行存儲的?;谶@一特性,可構建IFC到OWL的數(shù)據(jù)轉(zhuǎn)換方式,將BIM模型的信息轉(zhuǎn)換為可構建知識圖譜的信息格式。Pauwels等提出了一種EXPRESS到OWL的轉(zhuǎn)換模式,該模式轉(zhuǎn)換的OWL本體數(shù)據(jù)可實現(xiàn)數(shù)據(jù)的重用和查詢、推理。根據(jù)該轉(zhuǎn)換模式,可實現(xiàn)對IFC中的實體類型和屬性關系到CityGML標準的轉(zhuǎn)換。
根據(jù)3.1節(jié)中建立的實體匹配模型,將建立的IFC標準的模型對應映射出CityGML標準的數(shù)據(jù)信息,并根據(jù)這些數(shù)據(jù)建立一個CityGML標準的模型。
通過相同的方法解析owl文件,項目組從中提取到了概念層文件IFC4.0所不具有的實體的詳細信息,如表5~表6所示,其中表6通過字符串匹配、知識表示學習和幾何重構實現(xiàn)了IFC標準到CityGML標準的映射。
表5 三元組中實體詳細信息
表6 IFC標準實體和CityGML標準實體對應關系
本文提出了一種新的關于研究IFC與CityGML匹配融合的方法,并且通過上述實驗,項目組成功地將IFC標準的owl文件中的實體Ifcwindow與CityGML標準的owl文件的實體window聚為同一類,驗證了知識表示學習的方法的可行性。通過對應出內(nèi)墻和外墻,驗證了幾何重構的可行性。
但實驗也存在一些不足之處,比如項目組聚類的結(jié)果有局限性。通過分析實驗步驟可知,在如下方面存在不足:
(1)處理三元組
在處理三元組的過程,項目組并沒有恰當?shù)睾Y選出所有合適的三元組,而是簡單地篩選異常三元組和去重,冗余的三元組信息干擾了TransE向量化的結(jié)果。
(2)向量化模型選取
使用的是Trans家族的TransE算法。算法本身最適合的是一對一的三元組,三元組可能在與算法結(jié)合上存在問題。
本文基于擴展語義匹配的BIM和GIS 三維建筑數(shù)據(jù)融合研究,采用的知識表示學習的方法可以有效地解決IFC和CityGML兩個不同標準對同一實體的語義理解偏差問題,并取得了一定的成果。當然該方法在TransE參數(shù)的確定與三元組信息的篩選方面都需要更進一步的研究和改善。此外,在幾何重構方面,項目組還可繼續(xù)進行下一步的研究,將IFC標準實體的中心點原點坐標整合轉(zhuǎn)換為一個原點,并根據(jù)此原點轉(zhuǎn)換拓展出模型內(nèi)部某一構件的坐標,最終實現(xiàn)將基于構件本身的坐標轉(zhuǎn)換為基于整個模型的坐標,并通過SWRL規(guī)則來完成映射和對應。