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