王茹 ,胡蕓浩 ?,黃煒 ,趙俊浩
(1.西安建筑科技大學 土木工程學院,陜西 西安 710055;2.結構工程與抗震教育部重點實驗室,陜西 西安 710055)
建筑領域正面臨著信息數字化以及全生命期碳排放管理等改革要求,其要求行業內具有高水平的協調能力來完成項目各階段的數字化交底驗收,形成全生命期信息流閉環,而建筑信息模型(Building Information Modeling,BIM)模型在其中起著非常重要的支撐作用.從設計質量檢查、沖突檢測、成本進度分析到更深入的建筑合規性檢查、結構和能源模型分析[1-3],這些過程中需減少信息歧義來保證BIM 信息無縫交換.IFC(Industry Foundation Classes)作為BIM 標準范式,其語義體系的準確性對于建筑全生命期管理具有決定性作用,因此IFC 構件的分類識別有著極其重要的意義.近年來,許多學者對IFC 構件分類識別的研究也取得了階段性的成果.
Qin 等[4]首先將深度學習技術應用于三維CAD模型分類,但前期需要人工提供低層特征作為神經網絡的輸入,程序煩瑣.審查過程需要BIM 模型提供豐富語義屬性,而分類識別問題進一步完成BIM 語義豐富這一過程,因此Bloch 等[5-6]首先探索并使用機器學習算法來解決房間分類上的語義豐富問題,并在后續的研究中利用二階段聚類來完成語義豐富的層次分類,表明通過分類識別能解決BIM 語義豐富相關問題.隨著卷積神經網絡的發展,Su 等[7-8]提出了多視圖卷積神經網絡模型(MVCNN),實驗表明MVCNN 在分類檢索性能上都優于以往的基于三維數據的方法,并指出多視圖方法的優異表現主要得益于龐大的二維圖像數據集,這為自動化識別構件提供了方法上的依據.但該模型的局限性在于無法高效精確地融合多視圖的特征信息.Koo 等[9-10]提出用深度學習來應對IFC 構件分類的差異問題,并能夠以BIM 語義豐富的形式來填補BIM 模型和用戶所需信息之間的空缺,在后續的研究中使用多種深度學習方法進行比較,最后得出MVCNN 在門和墻子類型分類識別任務中表現良好.該研究多以門窗等外形差異大的IFC 構件作為研究對象,未能解決實際項目中構件形式復雜、區分度小的問題.
為高效精確地解決融合多視圖特征信息和相似復雜構件分類識別問題,本文提出一種基于改進MVCNN 模型,針對MVCNN 特征融合的局限性,設計了LSTM_ATT 模塊,并將建筑領域20 個主要IFC構件作為研究對象來進行分類識別并完成模型審查.實驗結果驗證了改進MVCNN 模型的高效性和準確性.在實際審查過程中對IFC 構件自動化分類識別具有重要的工程應用價值.
MVCNN 作為一種針對三維對象的分類識別模型,其輸入為三維數據各個視角所得到的二維圖像,不同于以往將三維對象轉換成體素[11]或多邊形網格[12]的模型.MVCNN 模型能運用經典、成熟的二維圖像卷積神經網絡進行訓練,從而得到一個單一且緊湊的形狀描述符,在分類檢索性能上明顯優于以體素或多邊形網格為輸入的模型[13],因此,本文在MVCNN 模型框架下進行優化研究.
MVCNN 模型網絡結構如圖1 所示,主要由3 部分組成,包括多視圖獨自參與的CNN1 層、對多視圖圖像進行最大池化的特征融合層、CNN2 全連接層,其中會獲得一個緊湊的形狀描述符,通過訓練好的20 個分類器輸出預測值.第1 部分的所有視圖數據,共享CNN1 里面的參數,并提取每一幅視圖的特征信息輸出到下一層.在特征融合層中對輸入各視圖數據進行最大池化操作,不同于傳統的最大池化操作,該網絡針對12 個視角圖像中縱向同一個位置進行最大池化.研究表明,采用該網絡對多視圖的處理比傳統的抖動處理有著更好的性能,能更好地學習旋轉或平移等轉換的不變形,以獲得對象的更多信息用于預測.網絡結構使用2D 圖像作為輸入,可以充分利用圖像描述符和海量圖像數據庫的優勢來預訓練CNN 框架[14-15].由于圖像是普遍存在的并且有著豐富的數據集作為支撐,可以學習大量的二維圖像分類的一般特征,然后對三維模型各視圖的投影細節進行微調,從而獲得更好的分類、檢索性能.

圖1 MVCNN模型網絡結構Fig.1 MVCNN model network structure
但MVCNN 結構中特征融合層在處理多視圖圖像時僅進行最大池化處理,使得三維對象各視圖的圖像數據在融合過程中丟失,因此應用到建筑領域,對建筑領域各相似構件之間分類識別效果不理想.
本文引入LSTM 結構以及注意力機制原理,設計了LSTM_ATT 模塊,來進行多視圖特征信息融合處理,形成改進的MVCNN模型.
LSTM 可利用多視圖圖像的空間相關性,對其特征進行精確捕捉,即通過其內含的細胞結構中的門控狀態來控制傳輸狀態,達到精確捕捉序列特征的效果.
LSTM 是循環神經網絡的變體,其核心在于LSTM 有更好的長時依賴性,通過該網絡能使較早時間的信息傳輸到時間序列靠后的細胞結構中,這克服了短時記憶的影響.原因在于LSTM 有通過精心設計的“門”結構以及細胞狀態,來去除或增加信息.LSTM 結構原理主要分3 步[16],分別對應不同的“門”結構,第1 步,決定會從細胞狀態中丟棄什么信息,即遺忘門;第2 步,確定什么樣的新信息被存放在細胞狀態中,即輸入門;第3 步,確定輸出什么值,即輸出門.通過門的控制傳輸狀態,從而對長序列的處理達到更好的效果,并解決梯度消失等問題,特別適合處理多視圖空間相關圖像數據的特征提取.LSTM 模型細胞結構如圖2所示.

圖2 LSTM模型細胞結構Fig.2 LSTM model cell structure
式(1)~式(6)代表各門結構的計算過程.式中:f、i、c、o 分別表示遺忘門、輸入門、細胞狀態、輸出門;W和b分別為對應的權重系數和偏移量.整體運算大致可分為4 步:①通過式(1)~式(3)計算單個LSTM 細胞內輸入門以及遺忘門的輸出;②式(4)更新舊細胞的狀態,過程中遺忘由ft所確定的遺忘信息,然后更新之前確定的需要存放在記憶單元中的部分;③式(5)、式(6)結合輸出門將內部狀態的信息傳遞給外部狀態ht;④通過多個LSTM 細胞進行迭代計算,使用優化梯度算法更新權重.
注意力機制往往通過模仿人類對眼前事物感知時的主觀性,從而在模型訓練過程中按一定的主觀性安放權重.通過在訓練過程中把更多的注意力放在目標區域上而忽略無關信息,來達到提高效率的效果.在特征融合過程中引入注意力機制能更好地識別重要且易區分的視圖,在特征融合過程中得到更具辨識度的形狀描述符.
注意力機制原理圖如圖3 所示,其最核心內容是處理權重參數,要從序列中學習到每一個元素的重要程度,然后按重要程度將元素合并.為了實現注意力機制,我們將輸入的原始數據看作Key、Value鍵值對應形式,根據給定的任務目標中的查詢值Query計算Key 與Query 之間的相似系數,可以得到Value值對應的權重系數,之后再用權重系數對Value值進行加權求和[17],即可得到輸出.注意力權重系數W的計算公式見式(7).

圖3 注意力機制原理圖Fig.3 Schematic diagram of attention mechanism
將注意力權重系數W與Value 做加權求和操作得到融合了注意力的輸出:
由于MVCNN 結構對多視角圖像進行特征融合過程中,分別對每個視圖進行特征提取,并針對多視圖在縱向再進行最大池化操作,過程會丟失分類識別對象的部分信息,導致效果不理想.其中最主要體現在對外觀存在細微差別的構件分類識別不理想,這是由于這部分特征在融合過程中使用最大化操作,使得多視圖特征直接進行了均化處理.針對此類問題,提出LSTM_ATT 模塊.結合多視圖數據在空間上的相關性,利用LSTM能對多視圖的信息進行細胞運算,從而準確地處理多視圖的特征數據,得到更完備的特征,針對處理過后的數據再進入注意力機制板塊進行運算,通過學習后的權重數據來進行多視圖的特征融合,得到更具完備性和緊湊性的融合特征,從而提高分類識別的準確性.
改進MVCNN 模型結構圖如圖4 所示.該改進模型在經過第1 個卷積網絡后摒棄了之前簡單的最大池化處理方式,采用聯結的LSTM_ATT 模塊.網絡采用的CNN 架構為AlexNet 網絡,研究對象的固定12視圖作為輸入,并在AlexNet 網絡中的第5 個卷積層后面進行聚合,以便最優化地執行分類與檢索的任務.其中每一個視圖的數據經過CNN1 卷積結構后,排成一個序列進入LSTM結構,學習該序列的時序特征.最后通過注意力機制自學習相應權重對多視圖數據進行特征融合.其中LSTM_ATT 采用圖5 所示結構,LSTM_ATT 模塊的輸入為同一物體的多個單視圖特征(v1,v2,…,v12)經過LSTM 細胞結構得到新的特征(w1,w2,…,w12),得到新的特征作為輸入,通過注意力機制中的超參數訓練計算注意力分數,最后加權求和得到融合了注意力的輸出新特征A=(a1,a2,…,a12).這種對多視圖進行處理融合的方式有助于提取多視圖里易于混淆的特征因子,對不同視圖賦予不同的注意力分數,從而加強重要特征視圖的影響,達到精確識別建筑IFC 構件中相似構件的目的.

圖5 LSTM_ATT原理圖Fig.5 Schematic diagram of LSTM_ATT
使用改進的MVCNN 模型在IFCNet 數據集[18]上進行實驗,并與原MVCNN模型在該數據集中的結果進行對比分析.IFCNet 數據集提供了19 613 個獨立的IFC 對象數據集,其中集合了建筑領域中經常涉及的子類構件.構件的語義信息從1 000多個BIM 模型中以IfcpropertySets 的形式被盡可能地保存下來.本實驗采用其中的IFCNetCore 子集,如圖6 所示,其中提供了20 個類型共計7 930 個構件.針對這些數據在各自構件類型內按7∶3 劃分為訓練集和測試集用于模型訓練以及測試,每張圖像輸入為224 像素×224像素,劃分情況如表1所示.

圖6 IFCNetCore數據庫包含的20個構件類型Fig.6 The IFCNetCore database contains 20 component type classes
相關的實驗環境、設備及軟件配置如下:操作系統為WIN11,GPU 顯卡是NVIDIA Tesla P100 PCIE 16 GB,處理器為AMD Ryzen 5 5600 H,CUDA 使用cuda11.2-win,環境為python3.6,pytorch1.10.2.
改進MVCNN 模型使用在ImageNet 數據庫上的預訓練權重,采用GPU 進行加速,使用Adam 作為優化器,其初始學習率為0.000 1,學習率衰減系數為0.1,batch size 為8,模型訓練過程訓練輪數(epoch)設為100,一共進行69 400 次迭代.通過在整個訓練集上對模型進行訓練,最后在測試集上對模型進行評估.
如圖7所示,模型在20個epoch前驗證損失下降明顯,并在30 個epoch 左右逐漸收斂.在原模型中引入LSTM_ATT 模塊,模型最終收斂損失值為0.469,相比原模型最終收斂損失值為0.785,下降了40.3%,由此可知,模型的性能得到了大幅提升.

圖7 改進后模型驗證損失曲線對比Fig.7 Comparison of loss curves of improved model
本文采用準確率、精確率、召回率、F1值作為評價指標來衡量模型分類識別性能的好壞,并使用混淆矩陣來分析模型的分類特點.在同一測試集中MVCNN模型與改進后的MVCNN模型實驗對比結果如表2 所示,改進前MVCNN 模型總體準確率為78.81%,改進MVCNN 模型則為88.27%,提升了9.46%.采用精確率和召回率并結合F1值能更好地評價各類構件的分類性能,其中改進MVCNN 模型各評價指標分別為87.67%、86.36%、86.72%相較于原MVCNN 模型分別提升9.11%、12.53%、11.47%.因此,針對各IFC 實體構件,改進的MVCNN 分類識別性能有顯著提升.

表2 測試集各模型指標對比Tab.2 Comparison of model indicators in test set
圖8 為訓練完備的模型在驗證集上各IFC 構件準確率對比情況,可知燈具類(IfcLamp,Lamp)以及暖氣片類(IfcSpaceHeater,SH)識別準確率低于平均準確率,其原因在于IFCNetCore 相應數據集較少,用于學習訓練的資源不足.樓梯(IfcStair,Stair)的準確率為100%,雖然其和SH 以及Lamp 一樣存在數據集樣本少的情況,但由于樓梯與該數據集中其他IFC構件的幾何特征差別大,因此分類器更容易對其進行分類識別.其中家具類(IfcFurniture,Furn)分類識別準確率提升較為明顯,表明改進的MVCNN模型對于多元圖像記憶能夠拾取更細節的圖像數據,有更好的分類效果.

圖8 各類構件準確率情況對比Fig.8 Comparison of accuracy of various components
混淆矩陣可以更好地獲得分類的細節信息,有助于找出錯誤分類的可能原因.之前錯誤分類為閥門類(Ifc-Valve,Valve)和Furn的衛生終端(IfcSanitaryTerminal,ST)被正確分類,使準確率顯著改善,具體如圖9所示.在分類過程中風管管段類(IfcCableCarrierSegment,CCS)經常被錯誤分類到水管管段類(IfcPipeSegment,PS),為原MVCNN網絡在檢測幾何細微差別方面的局限性提供了有力的證據.最難進行分類的是這類外觀只存在細微差別的構件,實驗結果顯示本文模型對管段的平均分類準確率達到87.1%,提升了12.2%.表明采用改進的MVCNN模型可以有效解決相似特征處理識別問題,尤其對各視圖中存在相似視圖的構件有著更好的區分效果,改進的MVCNN 模型能捕捉到IFC構件的細節以便區分相似圖形.

圖9 模型混淆矩陣對比Fig.9 Comparison of confusion matrix of each mode
針對以往MVCNN 直接應用于IFC 構件識別分類過程中融合特征的局限性等問題,提出一種改進MVCNN 模型進行建筑領域IFC 構件的分類識別,主要結論如下:
1)采用pytorch 和python 構建了一個IFC 構件分類識別改進MVCNN 模型,模型驗證損失曲線較平穩,具有較高的準確率.
2)針對多視圖卷積神經網絡特征融合的局限性,用LSTM_ATT 模塊取代原最大池化,進而融合處理多視圖特征信息,有效地提取更具辨識度的3D 形狀描述符,實現對建筑領域20 個主要IFC 構件的分類識別.
3)同傳統MVCNN 模型相比,改進的MVCNN 模型在多視圖的處理融合方面有著更好的表現,能獲得更多的有效信息.用于建筑領域不易區分的IFC構件分類識別過程中,改進模型有著較突出的性能,實現了IFC相似構件之間的精確識別.
在未來的研究中,考慮建立適用于國內IFC 構件應用的數據庫,加深數據集的深度以訓練模型,同時結合建筑領域相關語義信息和建筑主體之間的底層關系來輔助建筑領域自動化合規性檢查.