周 權(quán), 趙云凡, 鄧雪原,2
(1. 上海交通大學 船舶海洋與建筑工程學院, 上海 200240; 2. 上海市公共建筑和基礎(chǔ)設施數(shù)字化運維重點實驗室, 上海 200240)
自2010年以來,建筑業(yè)增加值占國內(nèi)生產(chǎn)總值的比例穩(wěn)定在7%左右,進入了緩慢發(fā)展階段。2019年,我國建筑業(yè)房屋竣工面積約40.24億m2,同比下降2.69%,連續(xù)三年負增長[1],間接反映了既有建筑的占比不斷擴大。然而既有建筑的運維管理階段能源消耗巨大。據(jù)統(tǒng)計,建筑業(yè)的原材料和能源需求占比超過40%,溫室氣體的排放量占1/3[2],而絕大部分的消耗來源于運維管理階段。另外,我國的既有建筑普遍面臨著資源浪費嚴重、環(huán)境負面影響大、工作生活環(huán)境不能滿足需求等問題。在“十三五規(guī)劃”期間,我國著力推行供給側(cè)結(jié)構(gòu)性改革,致力從過去簡單的增量發(fā)展模式逐漸向存量更新與運營的模式轉(zhuǎn)變[3]。因此,為了降低運維管理階段的能源消耗,滿足綠色環(huán)保和節(jié)能減排的需求,亟需找到有效的方式,通過提高運維管理的效率以解決既有建筑的當前難題。
目前絕大部分的既有建筑是基于紙質(zhì)的二維圖紙進行設計和建造的,產(chǎn)生的數(shù)據(jù)有限,僅適用于傳統(tǒng)的運維管理方式。該方式的手段、理念、工具比較單一,必須依靠各種數(shù)據(jù)表單來進行管理,導致數(shù)據(jù)庫與圖紙之間的各種信息相互割裂[4],容易出現(xiàn)溝通滯后和“信息孤島”現(xiàn)象。建筑信息模型(Building Information Model,BIM)[5]技術(shù)的出現(xiàn)為解決當前既有建筑所面臨的問題提供了可行的方案。BIM作為建筑信息數(shù)字化產(chǎn)物,整合了各個階段所需要的大量數(shù)據(jù),便于管理與使用,并支持各方進行信息共享,可有效地提高建筑業(yè)的信息化程度[6]。
然而,既有建筑BIM的手工重建是一項費時費力且經(jīng)濟效益低的工作,主要原因在于數(shù)據(jù)采集需要付出很大的努力,并且在復雜的數(shù)據(jù)輸入和建模過程中容易出現(xiàn)人為錯誤,在模型精確度上也難以保證。鑒于此,本文提出一種新的解決方案:基于改進的Faster R-CNN (Faster Region Convolutional Neural Network)目標檢測算法實現(xiàn)二維圖紙中建筑構(gòu)件信息的自動提取,提高數(shù)據(jù)采集的效率,從而克服數(shù)據(jù)采集階段耗時耗力的難題。
既有建筑的模型快速重建方法一直以來都是人工智能在土木工程應用的研究熱點[7]。當前的研究工作主要聚焦于非接觸式技術(shù),如激光掃描[8]和攝影測量[9]。
激光掃描可以在很短時間內(nèi)收集到數(shù)以百萬計的點,用來描述建筑的形狀和內(nèi)部空間,最后利用數(shù)據(jù)建立三維場景模型[10]。這種技術(shù)具備數(shù)據(jù)獲取速度快、數(shù)據(jù)量大、傳輸方便等優(yōu)勢[11]。而基于攝影測量的三維模型重建技術(shù)的核心是利用飛行器拍攝高分辨率圖像,經(jīng)過一定的處理后生成三維模型,具有數(shù)據(jù)采集速度快、紋理信息豐富、測量位置信息豐富等優(yōu)點,并且可以隨時進行測量[12]。然而,攝影測量和激光掃描均存在一些局限性。這兩類技術(shù)在建模過程中往往需要耗費大量的時間、購買昂貴的設備以及培訓熟練的工人,高成本是阻礙技術(shù)推廣的主要原因[13]。其次,激光掃描生成的點云模型經(jīng)常出現(xiàn)噪點多、數(shù)據(jù)丟失嚴重等弊端,并且處理噪點的過程繁瑣而耗時[14]。最后,激光掃描只能獲得表面的幾何信息,無法得到建筑的拓撲信息和語義信息[7]。而攝影測量則受限于細節(jié)層次低,通常只能獲取建筑外立面元素[15]。
目前,以建筑文檔資料為研究對象的研究也越來越多,該方法能夠更好地平衡成本與精度之間的關(guān)系,不僅能得到建筑元素的幾何信息,還能提取一定的拓撲信息和語義信息[16]。例如,Yin等[17]綜述了基于二維掃描圖和CAD圖紙生成三維模型的方法,總結(jié)了建模的一般步驟——圖像解析和三維模型生成,提出各步驟所使用的算法,但未進行驗證。Lu等[13]介紹了一種基于CAD圖紙的半自動識別方法,先利用OCR(Optical Character Recognition)技術(shù)識別平面圖中的特殊符號以確定結(jié)構(gòu)構(gòu)件的位置,再利用MATLAB開發(fā)的算法來實現(xiàn)構(gòu)件信息的提取,最后通過案例驗證其有效性。但該方法存在明顯的局限性:需較多的人工干預,無法實現(xiàn)構(gòu)件信息的自動化提取;識別準確度不高;Gimenez等[18]提出了基于霍夫變換和模式識別提取建筑構(gòu)件(墻壁、開口和空間)信息的方法,在一定程度上減少了人工干預。此方法涵蓋圖像預處理、特征提取、模式識別和模型建立的全過程,最后還包含模型的驗證階段。然而,此方法的模式識別必須基于一定的假設條件,只能識別特定的線條,且識別的構(gòu)件種類是有限的。此外,該文章只涉及幾何信息的提取??梢钥闯?,上述研究主要依靠簡單算法來識別建筑元素,效率低且準確性不高。另外,該類識別算法自動化程度低,識別后的結(jié)果仍需要大量手工干預。
基于此,本研究從二維建筑平面圖展開,針對二維圖紙中小目標檢測的難點問題,改進了Faster R-CNN目標檢測算法,使其更適用于圖紙中建筑構(gòu)件的目標識別,從而在識別軸網(wǎng)、墻、門和窗等小目標構(gòu)件時更具有先進性和魯棒性。首先采用ResNet-101網(wǎng)絡作為特征提取網(wǎng)絡,避免因池化層過多而造成特征信息丟失嚴重;再通過改進錨框、改進非極大值抑制算法等方式降低模型的漏檢率,提高識別的準確率;最后進行案例研究,通過多策略對比分析證明了改進方法的先進性。另外,在文本信息的識別方面,提出了OCR技術(shù)識別的一般步驟,也提高了文本信息識別的準確性。
實際上,建筑平面圖包含大量的混亂信息或建筑構(gòu)件提取過程中的無關(guān)信息,這些信息會增加識別難度。圖像預處理的目的是為了消除由掃描本身引起的噪聲和清理冗雜數(shù)據(jù)并達到后續(xù)階段所需的圖像質(zhì)量級別以及提高識別效率,如去除背景網(wǎng)格、標題和多余的注釋等。圖像二值化利用Python調(diào)用THRESH_BINARY全局閾值函數(shù)。
基于候選區(qū)域的雙步驟框架目標檢測方法的針對性更強、識別準確性更高[19]。該方法將目標檢測分為兩步,先確定候選區(qū)域以提取圖片中可能存在的感興趣區(qū)域(Region of Interest,RoI),將所有的RoI作為輸入,使用卷積神經(jīng)網(wǎng)絡進行特征提取,再進行檢測分類和邊框回歸修正。作為雙步驟目標檢測的代表,F(xiàn)aster R-CNN提出了可生成候選區(qū)域的區(qū)域建議網(wǎng)絡(Region Proposal Network,RPN),并使Faster R-CNN和RPN共享基礎(chǔ)卷積神經(jīng)網(wǎng)絡實現(xiàn)端到端的檢測,在開源的Pascol VOC數(shù)據(jù)集上驗證了其在速度和精度方面的先進性,并且可用于復雜圖像的特征提取[20]。因此,本文選用Faster R-CNN進行建筑構(gòu)件的目標檢測,并使用ResNet-101代替?zhèn)鹘y(tǒng)的VGG-16進行特征提取,基于ResNet-101的Faster R-CNN的基本框架如圖1所示。
2.2.1 ResNet-101網(wǎng)絡
傳統(tǒng)的Faster R-CNN配備VGG-16網(wǎng)絡作為特征提取過程的共享卷積神經(jīng)網(wǎng)絡,在高像素、大目標檢測領(lǐng)域已經(jīng)表現(xiàn)出了優(yōu)越性。然而,在面對低像素、小目標時,該網(wǎng)絡的檢測效果仍不理想[21]。VGG-16網(wǎng)絡每經(jīng)過一次卷積都需要進行一次池化,而池化層會將輸入圖像的尺寸壓縮50%,這意味著特征圖像素將會逐漸遞減,導致在深層次特征圖中小目標的信息內(nèi)容很少,因此該網(wǎng)絡不適用于小目標的檢測項目。
一般情況下,網(wǎng)絡越深,包含的信息和特征越豐厚。但實驗表明,隨著網(wǎng)絡的加深,分類器的效果反而會越差,這是由梯度消失和梯度爆炸所引起的[22]。ResNet網(wǎng)絡引入了殘值塊和“跳躍連接”的核心思想,所提供的思路是在所有的普通網(wǎng)絡中每n層增加一個“跳躍連接”,構(gòu)成m個殘值塊,ResNet則由這m個殘值塊構(gòu)成。在小目標的檢測過程中,ResNet能通過“跳躍連接”保留更多淺層網(wǎng)絡的細節(jié)信息[23]。ResNet-101的殘值塊結(jié)構(gòu)如圖2所示。核心3×3卷積層先利用1×1卷積層降維以減少參數(shù),再使用1×1卷積層以恢復維數(shù),不僅保持了精度還減少了計算量[22]。
圖2 ResNet-101的殘值塊結(jié)構(gòu)
2.2.2 算法的改進及優(yōu)化
(1)改進錨框(Anchors)
Anchors是定義在RPN網(wǎng)絡按固定比例(寬度、大小)的預定義框。在遍歷特征圖的過程中,默認情況下為每個點都配備了9種Anchors作為初試的檢測框。Anchors的初始框大小為(8,16,32),由于二維圖紙中建筑構(gòu)件均為小目標,在這種情況下容易引起小目標的信息丟失,影響識別的準確率。大尺寸的Anchors使用效率還造成了一定的浪費。因此,針對建筑構(gòu)件的檢測,可適當降低初始Anchors的大小。
(2)改進非極大值抑制(NMS)算法
在同一張建筑圖中,建筑構(gòu)件之間可能會存在較多重疊的情況,從而導致感興趣區(qū)域之間可能存在很大部分相互重疊。因此,RPN網(wǎng)絡最后的卷積特征層滑動生成的9種Anchor容易出現(xiàn)相互重疊的情況。采用非極大值抑制的目的是剔除冗余框,避免損失函數(shù)值的多重計算[24]。經(jīng)典非極大值抑制算法的實現(xiàn)過程:在邊框回歸的過程中,計算所有RoI的置信度,并以降序的方式排列;取置信度最大的RoI,計算此RoI與其他所有邊框的交并比(Intersection over Union,IoU);若大于既定閾值,則舍棄該邊框;循環(huán)上述步驟,直至遍歷所有RoI。這種不具備彈性的算法容易造成目標的漏檢。另一方面,NMS((Non-Max Suppression)的閾值也不太容易確定,閾值太小會出現(xiàn)漏檢,設置過高又容易增大誤檢[25]。針對上述問題,提出改進的NMS算法,在原始NMS的基礎(chǔ)上引入線性懲罰機制,加入彈性系數(shù)K,降低IoU大于既定閾值的置信度,IoU越大則懲罰力度越大。計算公式為:
(1)
IoU(bi,bj)=Am/(Abi+Abj)
(2)
式中:si為當前RoI的置信得分;K為彈性系數(shù),0 2.2.3 評價指標 (1)精確率(Precision)和召回率(Recall) 精確率是指某類被正確檢測出來的建筑構(gòu)件占所有被識別為該類建筑構(gòu)件的比例。召回率反映的是某類被正確檢測出來的建筑構(gòu)件占該類被檢測建筑構(gòu)件的比例。 Precision=TP/(TP+FP) (3) Receall=TP/(TP+FN) (4) 式中:TP為正確檢測出來的建筑構(gòu)件數(shù)量;FP為背景被檢測為建筑構(gòu)件的數(shù)量;FN為建筑構(gòu)件被識別為背景的數(shù)量。 (2)平均精準度(Average Precision,AP)和所有類別的平均精準度(mean AP,mAP) AP指Precision-Recall 曲線與x,y軸所圍成的面積,反映的是單個類別的識別率。mAP指對所有類別AP求平均值,反映的是整個分類器平均精準度水平,通常來說mAP值越高,分類器則越好,用于目標檢測的效果越佳。即 (5) (6) 式中:p(r)為Precision-Recall曲線方程,0≤r≤1,0≤p(r)≤1;N為驗證集個數(shù)。 由于建筑圖紙的特殊性,其包含了豐富的文本信息,包括標注、構(gòu)件名稱、空間屬性以及標題等。這些文本信息對于構(gòu)建完整的BIM來說是必要的,因此需探究文本識別的有效方法。 Python-tesseract是Python的OCR工具,能夠識別并讀取嵌入圖像中的文本,是谷歌開發(fā)并開源的圖像文字識別引擎,具有支持圖像類型多、識別準確性高、識別速度快等優(yōu)點[26]。本研究將中文字庫載入到Tesseract中用于文本信息識別,識別的一般步驟見圖3。 圖3 OCR文本識別步驟 本研究的實驗硬件條件:Intel i7-9700F的CPU、16G+16G的雙通道內(nèi)存以及RTX2080ti的GPU;軟件條件:tensorflow 2.0架構(gòu)下Ubuntu18.04的深度學習環(huán)境。本實驗基于深度學習領(lǐng)域的遷移學習思想,利用改進的Faster R-CNN目標識別算法和OCR技術(shù)完成本次案例研究。本次案例選取公用建筑,包含不同的建筑種類,如小學、實驗樓和辦公樓等。 3.2.1 訓練準備 根據(jù)上述公用建筑的特征,自行構(gòu)建數(shù)據(jù)集512張,圖像大小固定為1050×750,格式均為PNG?;诮ㄖD紙中常規(guī)幾何形狀的建筑構(gòu)件,本實驗的預定義構(gòu)件種類包含軸網(wǎng)(axis)、墻(wall)、窗(window)、單開門(door_s)、雙開門(door_d)、蹲便器(sanitary_t)、洗手盆(sanitaty_w)和小便池(sanitaty_m)共八類,預定義構(gòu)件也是本次實驗的識別對象。每一張圖像經(jīng)預處理后采用labelImg工具進行手工標注,標注得到相應的XML文件。自定義標注的規(guī)則:假設一面墻除了已經(jīng)識別的門窗以外,則其它未識別的連續(xù)部分均是墻體。標注的規(guī)則與流程如圖4所示。 圖4 labelImg標注規(guī)則及流程 此外,為了降低因數(shù)據(jù)集過少而引起過度擬合的風險,采用OpenCV的imgaug圖像數(shù)據(jù)增強庫進行離線增強,在原始基礎(chǔ)上擴大5倍,函數(shù)參數(shù)設置見表1。本次實驗按照5∶1的比例劃分為訓練集和測試集。 表1 數(shù)據(jù)增強的函數(shù)參數(shù)設置 3.2.2 訓練參數(shù)設置 首先,初試化經(jīng)ImageNet數(shù)據(jù)集預訓練的 ResNet-101網(wǎng)絡權(quán)重參數(shù)。其次,設置RPN網(wǎng)絡。將Anchors初始框大小設置為(8,16,32),長寬比例∈{1∶2,1∶1,2∶1};IoU閾值取0.7;重疊分類閾值設置為0.5,輸出的RoI數(shù)量取2000個,并篩選256個RoI進行反向傳播;網(wǎng)絡訓練采用隨機梯度優(yōu)化方法,總迭代次數(shù)設置為50000次,初始學習率設置為0.001,在第35000次迭代后將學習率設置為0.0001。最后,設置動量優(yōu)化器的優(yōu)化值為0.9。 3.2.3 訓練執(zhí)行與模型測試 Faster R-CNN采用交替訓練的方式,分別對Faster R-CNN網(wǎng)絡和RPN網(wǎng)絡訓練,保存模型。訓練結(jié)束后,調(diào)用Faster R-CNN測試模塊,在預先劃分好的測試集中對模型進行測試,得到各構(gòu)件種類的AP值與所有構(gòu)件的mAP值。 3.3.1 Faster R-CNN識別部分 為了更好地證明本研究方法對檢測結(jié)果的準確性,本節(jié)探究不同的實驗策略對實驗結(jié)果的影響。首先研究ResNet-101網(wǎng)絡對于小目標檢測效果的影響,對比了基于VGG-16檢測模型的實驗結(jié)果??紤]比較的公平性,采用控制變量法,除了網(wǎng)絡選取的不同,數(shù)據(jù)集、訓練步驟及參數(shù)設置均保持一致,50000次迭代下的實驗結(jié)果見表格2?;诒?的訓練結(jié)果,兩種網(wǎng)絡的識別效果圖如圖5所示。 圖5 兩種網(wǎng)絡的效果圖/mm 表2 50000次迭代下不同特征提取網(wǎng)絡的檢測效果比較(局部構(gòu)件) % 由表2可知,與VGG-16網(wǎng)絡相比,ResNet-101網(wǎng)絡的mAP提升了1.6%,且各類建筑構(gòu)件的檢測效果均有一定的提升。另外,通過兩種網(wǎng)絡的效果圖對比可知,與ResNet-101相比,VGG-16中存在目標丟失的情況,且santary_w的準確率較低。這證明了ResNet-101網(wǎng)絡在小目標檢測中更具有優(yōu)越性。 其次,基于ResNet-101網(wǎng)絡,通過不同的算法改進策略進一步比較檢測效果。根據(jù)錨框和NMS的參數(shù)設置不同,訓練模型分成A,B,C,D四個模型,其中D模型采用Faster R-CNN的原始參數(shù)。50000次迭代下的實驗記錄如表3所示。 表3 50000次迭代下不同改進策略組合的檢測效果比較 由表3可見,A模型的mAP最高,即錨框大小設計為(4,8,16)和K取1.0組合的檢測效果最佳。與采用(8,16,32)錨框的B模型相比,A模型的mAP提升了3.7%,且各類構(gòu)件的精確率均有一定提升,這證實了合適的錨框大小能夠提升模型的檢測效果。C模型下調(diào)了K值,增大了懲罰力度,導致mAP有輕微下降,說明懲罰力度會影響到模型的精準度,懲罰力度過大反而會降低精準度。最后,B模型的mAP較原始Faster R-CNN的D模型提升了2.9%,這證明了改進的NMS算法對目標檢測的精準度也有一定提升。 綜上所述,作為本研究方法的代表,A模型基于ResNet-101網(wǎng)絡并通過改進錨框和NMS算法,在建筑構(gòu)件的檢測上表現(xiàn)最為優(yōu)越,從而充分證明了本研究方法在建筑構(gòu)件上的先進性。圖6展示了A模型的目標檢測效果圖, 表4列舉了部分目標識別結(jié)果。 表4 目標圖像的部分識別結(jié)果 圖6 A模型的目標檢測結(jié)果示例/mm 3.3.2 OCR識別部分 上述目標圖像執(zhí)行檢測后,需進行下一步OCR文本識別。先對目標圖像預處理,如反差色、統(tǒng)一字體、剔除干擾信息等,再將中文字庫載入Tesseract,同時參數(shù)設置如下:lang設置為“chi_sim”,config賦值為“—psm6”,output類型取“string”。部分文本識別結(jié)果見表5。 表5 目標圖像的OCR識別結(jié)果 本文提出了基于二維圖紙的建筑構(gòu)件識別框架,利用改進的Faster R-CNN目標檢測算法自動提取建筑構(gòu)件信息,并利用OCR技術(shù)提取文本信息。在Faster R-CNN算法方面,針對二維圖紙中建筑構(gòu)件目標相對較小的特征,先利用Resnet-101網(wǎng)絡代替?zhèn)鹘y(tǒng)的VGG-16網(wǎng)絡,同時通過調(diào)整Anchors、優(yōu)化NMS算法等方式改進Faster R-CNN,使得改進后的Faster R-CNN更適用于建筑構(gòu)件的識別。也通過案例研究和結(jié)果分析,驗證了基于本研究方法的模型在小目標檢測上具有先進性,最佳的mAP達93.8%。在OCR文本識別方面,利用開源的Tesseract進行建筑圖紙的文本識別,也具有很好的效果。從應用價值的角度,本研究方法在建筑構(gòu)件的目標識別上檢測效果較好,能夠?qū)崿F(xiàn)構(gòu)件信息的自動提取,可為后續(xù)BIM的重生成提供數(shù)據(jù)支持。另外,本研究方法克服了激光掃描和攝影測量的局限性,在經(jīng)濟方面具有可行性。綜上,本文所提出的研究方法為既有建筑的BIM重建開拓了新的思路,在運維管理方面上將具有廣泛的應用前景。 然而,本文的研究還處于初步階段,當前工作展望如下: (1)本文實驗只針對八類預定義構(gòu)件類型進行識別研究,未覆蓋到所有的建筑構(gòu)件類型,后續(xù)將進一步增加預定義構(gòu)件類型的數(shù)量,以擴大識別的構(gòu)件范圍; (2)由于構(gòu)件類型和構(gòu)件坐標由改進的Faster R-CNN獲取,而構(gòu)件名稱和尺寸信息由OCR得到,需將兩類結(jié)果進行匹配,因此需進一步研究信息匹配算法; (3)目前只聚焦于二維平面圖,因此筆者下一步將繼續(xù)研究對立面圖的識別。2.3 文本信息目標識別算法結(jié)構(gòu)
3 案例驗證與分析
3.1 案例設置
3.2 實驗過程
3.3 實驗結(jié)果分析
4 結(jié)論與展望