閆天冉,馬曉靜,饒穎露,杜延麗,馬思樂
(山東大學 海洋研究院,山東 青島 266237)
鋼筋自身直徑尺寸與搭建間距是否符合標準直接決定了建筑結構質量的好壞,其已成為建筑監理行業隱蔽工程驗收中非常重要的檢測環節。傳統鋼筋監理驗收主要依靠人工視覺檢測,監理人員需攀爬樓體建筑物,巡檢范圍有限且效率低,安全性和檢測效果也難以保證。此外,測量現場存在某些企業或個人私自放低驗收標準的情況,人工驗收環節存在漏洞,建筑監理行業亟待向自動化和智能化轉型。然而,基于機器視覺的建筑智能監理在應用和發展中面臨諸多困難,例如背景、遮擋、雜質干擾、光照等問題會對鋼筋尺寸檢測精度產生很大影響,檢測精度無法達到驗收精度要求。因此,如何在建筑智能監理行業中實現高精度鋼筋尺寸檢測的智能化是應用和研究的難點。
近年來,與目標檢測和語義分割相關的深度學習算法迅速發展,以卷積神經網絡(Convolutional Neural Network,CNN)為原型衍生的各種方法被廣泛應用,這些方法主要分為2 類:基于區域的目標檢測算法和基于端到端的目標檢測算法。前者在檢測精度和定位精度上占優,主要包括Fast R-CNN、Faster R-CNN[1]等;后者在檢測速度上占優,主要包括Yolo[2-3]系 列、SSD[4]等。由Faster R-CNN 發展而來的Mask R-CNN[5]神經網絡算法利用矩形邊界框標記目標位置,能夠在很大程度上排除工地現場復雜環境對鋼筋目標提取的干擾。同時,像素級的語義分割能夠為鋼筋輪廓覆蓋準確的掩膜,令高精度尺寸檢測成為了可能。
為滿足當前建筑智能監理行業的實際應用需求,高效準確地完成隱蔽工程驗收中的鋼筋尺寸檢測工作,本文利用無人機巡檢系統搭載高清攝像裝備并在建筑工地現場進行拍攝,自建一個鋼筋數據集,在Mask R-CNN 模型基礎上加入自下而上路徑和注意力機制,構建BU-CS Mask R-CNN 模型。利用該模型獲得更加準確的鋼筋目標檢測框和邊緣分割掩膜,使用亞像素邊緣提取和鄰近直線融合的直線檢測等機器視覺算法做進一步處理,借助像素轉化方法獲得鋼筋直徑和間距的實際尺寸值,以判斷是否符合驗收標準。
在建筑智能監理領域的目標檢測中,HE 等[6]結合無人機影像中的建筑物特征,精簡Mask R-CNN基礎網絡層數,調整和改進網絡結構,提高了建筑物的檢測效果。WANG 等[7]改 進GIoU 計算方法,與Yolo v3 算法的目標函數相結合,設計了一個新的目標函數,提高了建筑施工領域安全帽檢測的準確率。在近幾年的研究應用中,注意力機制[8]的運用顯著改善了當前先進CNN 的性能。文獻[9]提出的SCA-CNN 網絡結合了CNN 中的通道和空間注意力來進行圖像描述。文獻[10]提出了壓縮和激勵(SE)模塊,顯式地利用通道之間的相互依賴關系進行建模,自適應重新校準通道特性響應。這些方式提升了模型的預測準確率。在改進Mask R-CNN 網絡結構方面,文獻[11]用極大值抑制方法替換了Mask R-CNN 中非極大值抑制方法,雖然處理速度上得到了些許提升,但是精度和原始算法持平。文獻[12]改進了特征金字塔增加反向側邊連接的支路,雖然能更好地利用低層信息,但是送入后續網絡的特征依舊是從支路中選擇的單一尺度特征,缺乏對不同尺度特征的針對性利用,精度提升效果不顯著。
針對當前深層神經網絡提取特征時低層特征信息丟失的問題,以及目標與非目標區域權重分配不合理的情況,本文提出的BU-CS Mask R-CNN 模型對Mask R-CNN 中FPN 結構進行改進,通過加入自下而上路徑縮短了底層和最頂層之間的信息路徑,使底層信息更容易傳播到頂層,并在頂層得到更有效的利用。同時,在該路徑中組合使用通道注意力模塊和空間注意力模塊,為特征圖每個像素分配不同權重,為目標響應較高的通道分配更大權重,令更多注意力集中在前景區域像素點上,提升了鋼筋目標的檢測精度。
Mask R-CNN 是一個可以同時進行目標檢測和語義分割的深度學習網絡[13],在2016 年COCO 挑戰賽中獲得第1 名。該模型基于Faster R-CNN 網絡提出mask 掩膜,將全卷積神經網絡(Fully Convolutional Network,FCN)中的分類和分割任務解耦。其中分類預測分支與Faster R-CNN 相同,生成類別并輸出矩形目標檢測框,其突出特點是增加了掩膜分支,通過FCN[14]進行像素級別的高精度語義分割。這兩者的有效組合令Mask R-CNN 成為目標檢測和語義分割的優秀工具。
Mask R-CNN 模型使用了LIN 等提出的特征金字塔網絡(Feature Pyramid Network,FPN)[15]作為骨架網絡,這使得網絡不僅能夠利用低層的高分辨率特征,而且可以利用語義上更具意義的高層次低分辨率特征進行精確定位。該模型的另一個貢獻是ROI-Align,它使用雙線性插值將任意大小的空間感興趣區域映射到固定的空間分辨率,這種改進能夠相對提高10%~50%的掩碼精確度,在更嚴格的定位度量指標下得到更好的度量,并啟用需要精確定位的實例掩碼。掩膜頭部引入了一個新的損失項LMask,用來計算預測掩膜和目標掩膜之間的像素交叉熵。Mask R-CNN 損失函數定義如下:

其中:LClass和LBox分別為分類誤差和檢測誤差。Mask R-CNN 結構如圖1所示。

圖1 Mask R-CNN 結構Fig.1 Mask R-CNN structure
在深層神經網絡中,下層特征需通過多層網絡層才能到達頂層,經過多層之后,一些較低層信息可能會丟失,然而這些低層的特征信息對語義分割至關重要。在Mask R-CNN 的FPN 結構中加入自下而上路徑(Bottom-up path),能夠縮短底層和最頂層要素層之間的信息路徑,使得底層信息更容易傳播到頂層,并在頂層得到更有效的利用。同時,組合使用通道注意力(Channel-wise Attention,CA)模塊和空間注意力(Spatial Attention,SA)模塊,將其定義為CA-SA 模塊,并把它添加到自下而上路徑。CA 負責在特征圖中分配每個通道的權重,SA 負責為每個像素分配相應的權重。增加自下而上結構和注意力機制強化了任務之間的關系,令特征圖對目標特征有更好的響應。本文將改進后的模型命名為BU-CS Mask R-CNN,將在特征提取網絡中加入自下而上擴展路徑和通道、空間注意力模塊的結構命名為BOTTOM-UP-CA-SA。
CNN 中不同通道獲得的特征包含不同的語義信息,某些通道可能不包含任何目標特征,不同通道特征的重要性也不盡相同。當通過卷積提取特征時,多數現有方法會將相同權重分配給不同通道,而不進行通道選擇。但在通道注意力模塊中,目標響應較高的通道被分配更大的權重,這樣可以更容易地獲得所需對象的特征。對于通道注意力,卷積特征F=[F1,F2,…,FC],Fi?Rw×h,式中Fi表示特征圖F的第i個通道,C為通道總數。將平均池化操作應用于每個特征圖并產生1 個通道特征向量V:V=[V1,V2,…,Vc],V?Rc,式中Vi表示平均池化后第i個通道的特征,用1×1 卷積核進行卷積以從每個通道Vi學習聚合特征,再對特征向量V執行softmax 操作,使所有通道的和為1,通道注意力模塊結構如圖2 所示。

圖2 通道注意力模塊Fig.2 Channel attention module
在圖像中檢測目標區域時,檢測目標只會出現在圖像的某些部分。普通CNN 網絡將平等對待圖像中的每個區域,空間注意力機制不會對每個圖像區域進行平等考慮,而更多地關注與檢測目標相關的區域,在特征圖中為每個像素分配一個權重,令更多注意力集中在前景區域像素點上,有效減少背景干擾[16-17]。給出卷 積特征F=[F1,F2,…,FC],使用1×1 卷積核生成特征圖M,在特征圖M 的像素點上執行softmax 操作使它們相加為1,空間注意力模塊結構如圖3 所示。

圖3 空間注意力模塊Fig.3 Spatial attention module
Mask R-CNN 模型采用ResNet-FPN 架構進行特征提取,ResNet[18]作為基礎特征提取網絡,是目前應用最廣泛的深度卷積特征提取網絡之一。根據特征圖大小分為5 個stage,conv2~conv5 這4 個層次的輸出特征圖分別 定義為C2、C3、C4、C5。通過ResNet 和FPN 結構得到4 種 不同層次的特征圖,即P2、P3、P4、P5,如圖4 所示。P2層到P5層是自下而上的擴展路徑,添加CA-SA 模塊后,每層特征圖Ni大小依然與對應的特征圖Pi相同,然后新的特征圖Ni便取代了原有特征圖Pi,并被發送到后續網絡層進行下一步處理。

圖4 BOTTOM-UP-CA-SA 結構示意圖Fig.4 Schematic diagram of BOTTOM-UP-CA-SA structure
由圖4可知,BOTTOM-UP-CA-SA 結構中N2與P2相同,為生成特征圖Ni+1,Ni(2W×2H×C)由1 個步幅為2 的3×3 卷積核卷積而成,特征圖的高和寬被縮小到原來的1/2,尺寸與Pi+1保持相同。縮小后的特征圖通過元素相加的方式與特征圖Pi+1融合得到1 個新的特征圖Ni-half,之后被發送到CA-SA 注意力模塊得到特征圖Ni,生成1 個新的特征金字塔{N2,N3,N4,N5},模塊構造如圖5 所示。

圖5 BOTTOM-UP-CA-SA 結構解析Fig.5 Illustraion of BOTTOM-UP-CA-SA structure
本文提出了像素轉化方法,通過轉換公式將鋼筋圖像中的直徑和間距像素值轉化為實際尺寸。無人機在與地面保持水平的h米高度(無人機自動記錄的實時高度),以固定倍數焦距拍攝圖像,以此為前提條件建立像素轉化模塊,計算方法如圖6所示。

圖6 像素轉化計算示意圖Fig.6 Schematic diagram of pixel conversion calculation
在圖6 中,d為片幅的對角線長度,135 片幅也就是標準鏡頭的對角線長度是43 mm。f是鏡頭焦距(單位為mm)。圖像視角的對角線角度(單位為°)公式為:
針對這部分老人,劉主任給出建議,“在遇到家庭矛盾時,應多與孩子溝通,畢竟子女孫兒都是親生的。家庭不和諧,別說旅行,做什么都會不開心的啊!親情為上,根據家庭具體情況,量力而為,達成一致意見是很有必要的。”

設圖像長為l像素,寬為w像素,對角線一半的像素值dp公式為:

已知無人機拍攝高度h,設鋼筋在圖像中直徑/間距為n像素,對角線一半的實際尺寸dt、單位像素的實際尺寸d1和鋼筋直徑/間距實際尺寸t的公式分別為:

建筑施工現場鋼筋目標檢測的主要難點有:背景復雜且多變;存在墊塊、雜質和施工工具等物體的干擾;螺紋鋼筋顏色與背景底色相近;日光照射下存在陰影。由于目前沒有公開可用的鋼筋數據集,本文利用大疆M600 無人機搭載高清可變焦攝像設備,在施工現場上空垂直攝影。拍攝時令橫豎鋼筋與圖像坐標盡量保持水平或垂直,這是因為目標檢測框為矩形,數據集圖像中的鋼筋保持水平或垂直能極大地提高模型訓練和測試的效率和準確率,可避免候選框包含不必要的背景與雜質,減少目標檢測框重疊帶來的誤差。但受飛行環境不穩定的影響,拍攝的圖像可能并不能完全達到要求,需要利用輔助參照物進行仿射變換[17]以矯正圖像角度,矯正前后的圖像效果如圖7 所示。

圖7 仿射變換矯正前后圖像效果Fig.7 Image effect before and after affine transformation correction
由于拍攝范圍有限,因此采用了數據增廣的方法,對圖片進行水平翻轉、增強亮度和添加不同密度噪聲等以增大訓練樣本數量,豐富樣本的多樣性。數據增廣效果如圖8 所示。經過處理和擴增后的數據集共有2 000 張,其中訓練集每張圖像大小為512 像素×384 像素,見圖9(a)。使用標注工具對其進行多邊形邊框標注。由于同一張圖像中一般存在多個鋼筋目標,因此使用了不同標簽加以區分。該操作可防止檢測結果只輸出1 個涵蓋全部目標鋼筋的矩形邊界框,避免出現分割效果不準確、無法進行后續應用等現象。為減少圖像計算量,對標定圖像進行了灰度化處理。經過數據標定和處理后的鋼筋目標掩膜圖像見圖9(b)。

圖8 數據增廣效果示意圖Fig.8 Schematic diagram of date expansion effect

圖9 鋼筋數據集Fig.9 Rebar dataset
本文中深度學習訓練的硬件配置為:操作系統Windows10,顯卡NVIDIA GeForce GTX1080,系統內存64 GB,搭建運行環境TensorFlow-GPU1.4.0,Keras2.1.6,CUDA9.0.176,以 及cuDNN7.0.5,利 用Python3.6 運行訓練程序。訓練過程需設置適合的參數,本文只針對鋼筋目標這1 個類別進行檢測訓練,相關設置如下:Batch_size 為2,訓練類別為1+1,學習率為0.001。
本文采用F1 分數(F1 Score)、召回率(Recall)、像素準確率(Accuracy,Acc)和交并比(Intersectionover-Union,IoU)作為檢測評價指標。鋼筋尺寸檢測是一個語義分割問題,這里令鋼筋像素取1,背景像素取為0。其中召回率、像素準確率的計算公式分別為:

F1 分數和交并比的計算式分別為:

本文選用ResNet101 作為主干網提取特征,并將提出的特征加入自下而上路徑和注意力模塊的Mask R-CNN 模型,即U-CS Mask R-CNN,并與Mask R-CNN 基礎模型、Mask Scoring R-CNN[19]、Mask R-CNN+S-NMS[20]及PANet[21]進行比較,模型性能評估對比見表1。實驗結果表明,BU-CS Mask R-CNN 模型在訓練過程中收斂更快,損失值也小于未添加的模型。同時,召回率、像素準確率和交并比分別較Mask R-CNN 基礎模型提升4.9%、7.4%、6.8%,評價指標數據和檢測效果較其他改進的Mask R-CNN 模型也更加優異。選取復雜背景的部分工地現場鋼筋圖像進行測試,如圖10 第1 行圖片所示。圖10 第2 行圖片的紫色區域和虛線邊框是本文算法提取到的鋼筋邊緣分割掩膜和目標檢測框。

表1 不同模型性能評估對比Table 1 Performance evaluation and comparison of different models

圖10 現場鋼筋圖片與BU-CS Mask R-CNN 模型檢測效果Fig.10 On-site rebar pictures and detection effect of BU-CS Mask R-CNN model
深度學習算法還需要考慮內存和算力的需求,本文在tensorflow 框架下計算了BU-CS Mask R-CNN 算法和Mask R-CNN 算法的時間復雜度和空間復雜度。其中時間復雜度決定模型的訓練和預測時間,用浮點運算數(FLOPs)衡量,空間復雜度決定模型的參數數量。CA-SA 模塊的加入增加了本文算法的計算量,在輸入圖片大小為512 像素×384 像素的 條件下,BU-CS Mask R-CNN 和Mask R-CNN 的FLOPs 分別為7.875 和8.355(增加0.485),網絡參數總量分別為49.6 M 和57.1 M(增加7.5 M)。本文算法雖然比Mask R-CNN 稍顯復雜,但對于建筑智能監理鋼筋尺寸檢測這部分的實際應用方面來說,檢測準確率的重要性遠大于檢測速度和時間,因此增加的復雜度相對于準確度的提升在可接受范圍內。
BU-CS Mask R-CNN 模型提取到更加準確的鋼筋目標檢測框和邊緣分割掩膜后,利用基于Zernike正交矩的亞像素邊緣檢測方法精確定位鋼筋邊緣輪廓。結合鋼筋圖像特征可知,同側鋼筋的直線相鄰較近且在圖像中呈對稱分布,通過直線上的點信息融合鄰近直線,便可獲得高度擬合的鋼筋邊緣直線。
鋼筋直徑與間距測量定位示意圖如圖11 所示。建筑工地現場主要包括3 種不同尺寸的鋼筋,分別為12 mm、10 mm 和8 mm 的直徑類型,在每種鋼筋類型的2 條邊緣直徑中間隨機選取20 個不同的直徑定位點,測量定位示意圖如圖11(a)所示。首先通過實地測量的方式記錄相同直徑定位點的真實尺寸,計算出實際直徑測量的平均值;接著利用Mask RCNN 深度學習網絡在選取的定位點對3 種類型鋼筋進行檢測,通過像素轉化方法將直徑像素尺寸轉化獲得實際尺寸,記錄直徑尺寸平均值和誤差;最后利用BU-CS Mask R-CNN 深度學習網絡在相同的定位點對3 種類型鋼筋執行相同操作,同樣記錄直徑尺寸平均值和誤差。改進前后的直徑平均檢測結果如表2 所示。

圖11 鋼筋直徑與間距測量定位示意圖Fig.11 Schematic diagram of rebar diameter and spacing positioning
隨機選取8 個區域位置的鋼筋間距,并實地測量、記錄鋼筋間距的真實尺寸,間距的測量定位示意圖如圖11(b)所示。在改進Mask R-CNN 模型前后分別記錄8 個相同位置檢測到的鋼筋間距值,并計算誤差。模型改進前后鋼筋間距檢測結果對比見表3。根據建筑監理工程驗收中的鋼筋直徑測量指標得知,直徑誤差在0.8 mm 內即為符合驗收要求的同一規格鋼筋。由表2 鋼筋直徑平均檢測結果分析可知,Mask R-CNN 改進前12 mm、10 mm、8 mm 這3 種鋼筋的平均誤差絕對值最大分別為1.697 mm、2.151 mm、1.823 mm,均不滿足直徑驗收需求;改進后3 種鋼筋的平均誤差絕對值最大分別為0.527 mm、0.363 mm、0.456 mm,均小于0.8 mm,滿足這3 種尺寸鋼筋的直徑驗收需求,且直徑尺寸檢測精度平均提升14.9%。

表2 Mask R-CNN 與BU-CS Mask R-CNN 平均直徑檢測結果Table 2 Average diameter detection result of Mask R-CNN and BU-CS Mask R-CNN

表3 Mask R-CNN 與BU-CS Mask R-CNN 間距檢測結果Table 3 Spacing detection result of Mask R-CNN and BU-CS Mask R-CNN
建筑監理工程中鋼筋間距驗收要求為20 cm,誤差在1 cm 內即為合格綁扎鋼筋。利用目標檢測框坐標對相鄰鋼筋間距進行測算,改進前誤差絕對值最小為10.55 mm,大于1 cm,不滿足間距驗收需求;改進后誤差絕對值最大為7.5 mm,小于1 cm,滿足間距驗收要求,且間距尺寸檢測精度平均提升4.4%。以上結果證明,基于BU-CS Mask R-CNN 模型的建筑鋼筋尺寸檢測方法提升了檢測精度,且改進后能夠滿足建筑監理工程中鋼筋直徑0.8 mm 的誤差指標和間距1 cm 的誤差指標。
本文針對建筑智能監理隱蔽工程驗收中的鋼筋尺寸檢測精度低的問題,提出了BU-CS Mask R-CNN 模型,該模型加入了自下而上路徑和注意力機制,能得到更加準確的鋼筋目標檢測框和邊緣分割掩膜。實驗結果表明,與Mask R-CNN 模型相比,BU-CS Mask R-CNN 模型的召回率、交并比和像素準確率分別提升了4.9%、6.8%、7.4%,鋼筋直徑和間距的尺寸檢測精度分別提升了14.9%、4.4%。同時,本文自建了含有2 000 張圖片的鋼筋數據集用于訓練和測試,實現了建筑智能監理領域基于機器視覺的智能化高精度鋼筋尺寸測量,為建筑監理中的鋼筋驗收工作提供了可靠的基礎數據和智能化的方法。下一步將對該模型進行輕量化處理,以提高模型的檢測速度。