周雙喜,袁海強(qiáng),鄧芳明
(1.華東交通大學(xué)土木建筑學(xué)院,江西 南昌 330013;2.華東交通大學(xué)電氣工程學(xué)院,江西 南昌 330013 )
實(shí)際工程中,混凝土結(jié)構(gòu)作為橋梁、房屋和公路等建筑物重要組成部分,對建筑物使用壽命起著決定性作用,混凝土耐久性[1-2]作為混凝土壽命重要影響因素,是國內(nèi)外學(xué)者研究的熱點(diǎn)。 影響混凝土耐久性因素主要有碳化、氯離子腐蝕、鋼筋銹蝕等,表面裂縫是對混凝土耐久性評價的重要表現(xiàn)之一。
傳統(tǒng)裂縫檢測由人工肉眼檢測發(fā)展到利用高頻率聲波[3-4]和電磁波[5]方法進(jìn)行人工檢測,李俊如[6]利用超聲波單面平測法對混凝土裂縫進(jìn)行深度檢測。 徐波[7]采用聲波穿透法判斷混凝裂縫缺陷及深度。 謝慧才[8]采用雷達(dá)圖像識別方法對混凝土結(jié)構(gòu)孔洞和裂縫缺陷進(jìn)行檢測。Hilloulin[9]提出了一種非線性聲混合的超聲方法,有效地全面檢測混凝土中小裂紋。 Chakraborty[10]采用嵌入式傳感器超聲信號檢測混凝土早期裂縫,但以上方法由于操作人員專業(yè)水平的不同從而造成檢測結(jié)果產(chǎn)生差異,且超聲波檢測設(shè)備昂貴,成本較高。
圖像處理方法很好解決上述問題,該類算法通過計算與統(tǒng)計特征分布進(jìn)行特征提取。 靳華中[11]結(jié)合梯度方向直方圖構(gòu)建路面裂縫檢測模型。王保憲[12]利用HOG 特征、LBP 特征和矩特征3 種算法提取混凝土裂縫特征。 朱力強(qiáng)[13]提出一種基于Hough 變化的算法,結(jié)合連通區(qū)域提取算法對隧道裂縫進(jìn)行識別。 但傳統(tǒng)手工提取特征方法存在計算量大,特征相對簡單且耗時久等不足。
機(jī)器學(xué)習(xí)的發(fā)展有效解決了圖像處理算法不足, 也減少了成本和因?yàn)槿藛T技術(shù)操作所造成的誤差。 王麗蘋[14]針對現(xiàn)有路面裂縫分類模型性能弱現(xiàn)狀,設(shè)計卷積神經(jīng)網(wǎng)絡(luò)對路面裂縫分類。 韓曉健等[15]運(yùn)用深度卷積網(wǎng)絡(luò)經(jīng)典模型Alexnet 來對裂縫做分類應(yīng)用, 運(yùn)用滑動窗口來對裂縫進(jìn)行定位。 李良福[16]對窗口滑動算法改進(jìn),提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的深度橋梁裂縫分類模型。 但以上文獻(xiàn)仍存在計算時間較長, 自動化程度還不夠高的問題。 裂縫作為小目標(biāo)檢測,一體化卷積網(wǎng)絡(luò)的檢測算法方法(如YOLO[17]和SSD[18])相比較兩階段[19-20]方法準(zhǔn)確率不夠高。深度學(xué)習(xí)目標(biāo)檢測任務(wù)能區(qū)分個體類別但不夠精確, 語義分割可劃分像素點(diǎn)但不可以區(qū)分個體類別。
針對以上問題本文提出一種改進(jìn)后Mask RCNN 裂縫自動檢測模型,通過對鋼纖維混凝土進(jìn)行加載試驗(yàn)得到裂縫數(shù)據(jù),實(shí)驗(yàn)通過標(biāo)記試塊的數(shù)字詞匯替代工程裂縫檢測障礙類別,對裂縫數(shù)據(jù)進(jìn)行圖像采集和圖像預(yù)處理,在殘差網(wǎng)絡(luò)基礎(chǔ)上引入模塊使注意力[22]跨越特征圖組,通過在交并比基礎(chǔ)上增加目標(biāo)與錨框間距離、重疊率、尺度和懲罰項(xiàng)來提高回歸精度。 最后利用改進(jìn)Mask R-CNN 模型進(jìn)行訓(xùn)練、驗(yàn)證和預(yù)測,并與原始Mask R-CNN 模型進(jìn)行對比,進(jìn)一步體現(xiàn)本文提出方法的可行性。
本文在Mask R-CNN 模型[21]基礎(chǔ)上增加分散注意力模塊和采用CIoU 來優(yōu)化模型, 對鋼纖維混凝土試塊進(jìn)行目標(biāo)檢測和分割。 整體結(jié)構(gòu)如下,首先制作鋼纖維混凝土,通過壓彎試驗(yàn)獲取帶裂縫試塊,采用智能手機(jī)獲取裂縫圖像,然后對獲取裂縫進(jìn)行裁剪,統(tǒng)一大小和數(shù)據(jù)增強(qiáng)等處理,對處理后數(shù)據(jù)進(jìn)行軟件標(biāo)記,構(gòu)建裂縫圖像數(shù)據(jù)集,同時在網(wǎng)絡(luò)模型中將數(shù)據(jù)集隨機(jī)劃分成訓(xùn)練集、驗(yàn)證集和測試集,構(gòu)建改進(jìn)Mask R-CNN模型,運(yùn)用訓(xùn)練集對模型進(jìn)行訓(xùn)練,再將采用驗(yàn)證集對訓(xùn)練后模型進(jìn)行參數(shù)微調(diào), 獲取最優(yōu)模型,最終運(yùn)用模型對圖像進(jìn)行測試,并與未改進(jìn)模型進(jìn)行比較得出結(jié)論。
結(jié)合實(shí)際工程,完成檢測裂縫目標(biāo)同時分割出裂縫的精準(zhǔn)輪廓任務(wù), 提出基于改進(jìn)Mask R-CNN裂縫檢測實(shí)例分割模型,模型框架如圖1。
圖1 改進(jìn)后Mask R-CNN 模型框架Fig.1 Improved Mask R-CNN model frame
模型主干網(wǎng)絡(luò)采用殘差網(wǎng)絡(luò),在網(wǎng)絡(luò)基礎(chǔ)上增加分散注意力,通過全局圖像特征選擇權(quán)重,使特征提取網(wǎng)絡(luò)具有更好學(xué)習(xí)能力,再結(jié)合特征金字塔網(wǎng)絡(luò)進(jìn)行多尺度特征提取,選取感興趣區(qū)域?qū)R特征圖獲得圖像感興趣區(qū)域,固定特征圖大小通過掩膜和全連接層網(wǎng)絡(luò)完成分類、邊框回歸和掩膜像素分類任務(wù),回歸任務(wù)引入CIoU(complete intersection over union)提高回歸精度。
為解決網(wǎng)絡(luò)增加出現(xiàn)的退化問題提出殘差學(xué)習(xí)模塊,在網(wǎng)絡(luò)中添加殘差單元,如圖2 所示。
圖2 單個殘差單元Fig.2 Single residual block
殘差單元使用一種快捷鏈接方式,圖2 中恒等映射模塊,實(shí)際是恒等映射的快捷連接,殘差部分殘差映射是圖中的學(xué)習(xí)差值,是從x 學(xué)習(xí)到通過激活函數(shù)后的輸出y=f(x)+x 中間差值f(x)部分,式中快捷連接是帶有權(quán)重的連接,如下式
式中:xl+1是圖2 中后面一層輸入;f(x)代表激活函數(shù)ReLU;h(x)是輸出快捷連接處函數(shù);F(x,w)由上到下經(jīng)過激活函數(shù)和權(quán)重的映射函數(shù)。 圖2 中快捷連接采用恒等映射會造成殘差部分變化,殘差部分變化影響權(quán)重調(diào)節(jié)主要因素,保證了反向傳播梯度值更大,更易于訓(xùn)練,也保證網(wǎng)絡(luò)加深不會造成網(wǎng)絡(luò)退化。現(xiàn)有殘差網(wǎng)絡(luò)有50 層、101 層和152 層,但更深網(wǎng)絡(luò)層次會帶來經(jīng)濟(jì)效益較低的問題,鑒于計算力有限,文章選取殘差網(wǎng)絡(luò)101 層。
以殘差網(wǎng)絡(luò)重復(fù)層策略網(wǎng)絡(luò)為基礎(chǔ), 對每個模塊增加k-1 個基數(shù),將拆分后基數(shù)進(jìn)行分散處理, 每個基數(shù)通過多個分割元素求和再融合得到特征圖輸出:h,w,c, 通過分散注意力模塊轉(zhuǎn)換合并,進(jìn)入分散注意力網(wǎng)絡(luò)頭部卷積后輸出,將該基數(shù)組輸入分成r 個分散塊,每個分散塊經(jīng)過變換,進(jìn)入到分散注意力模塊中, 對逐個元素相加將特征圖融合輸出維度:h*w*c, 再對融合特征圖全局池化,并將圖像空間維度壓縮輸出維度c′,結(jié)合分類器計算出每個分散塊權(quán)重圖中Dense c,實(shí)現(xiàn)方式為兩個全連接層, 將模塊輸入特征圖和其權(quán)重相乘得到基數(shù)組,再加權(quán)融合輸出維度h*w*c。 分散注意力將分散塊特征圖計算對應(yīng)權(quán)重進(jìn)行融合。 如圖3。
圖3 ResNeSt 單元結(jié)構(gòu)和split attention 模塊Fig.3 ResNeSt structure and split attention block
研究骨干網(wǎng)絡(luò)提取特征圖中深層次特征圖語義性較強(qiáng),適合完成圖像分割與分類,淺層卷積特征圖分辨率高,位置信息強(qiáng),適合做目標(biāo)檢測。
感興趣區(qū)域?qū)R輸出的特征圖通過2 個卷積層和1 個全連接層分為兩部分,一部分用于分類和回歸,另一部分用于掩膜生成,如圖4。
圖4 分類提議生成邊界框和掩碼Fig.4 Proposals generation bounding boxes and masks
Mask R-CNN 模型用于完成分類、 定位和掩膜生成,其損失函數(shù)由3 個損失函數(shù)之和構(gòu)成,如下式
式中:Lcls為分類損失函數(shù);Lbox為回歸損失函數(shù);Lmask選取平均二值交叉熵作為損失函數(shù)。
其中:pi為預(yù)測到目標(biāo)的概率;pi*表示是否為真實(shí)目標(biāo),是為1,否為0;Ncls為分類層數(shù)。原始Mask RCNN 模型交并比是測量在特定數(shù)據(jù)集中檢測相應(yīng)物體準(zhǔn)確度的一個標(biāo)準(zhǔn),但由于對物體特征規(guī)模不敏感,常用邊框回歸損失優(yōu)化和交并比優(yōu)化不完全等價, 常用交并比無法直接優(yōu)化沒有重疊的部分。通過使用CIoU 作為回歸優(yōu)化損失函數(shù)LCIoU,將目標(biāo)與錨框之間的距離,重疊率、尺度以及懲罰項(xiàng)都考慮進(jìn)去,解決原始交并比出現(xiàn)訓(xùn)練過程中發(fā)散等問題,懲罰因子把預(yù)測框長寬比擬合目標(biāo)框的長寬比考慮進(jìn)去,使得目標(biāo)框回歸變得更加穩(wěn)定。
回歸優(yōu)化損失函數(shù)LCIoU公式如下
式中:RIoU為交并比;ρ2(b,bgt)分別代表了預(yù)測框和真實(shí)框的中心點(diǎn)的歐式距離;c 代表的是能夠同時包含預(yù)測框和真實(shí)框的最小閉包區(qū)域的對角線距離;Nreg為回歸層數(shù)。
式中:s 為每一個像素是一個類別的總數(shù)和;si*為像素所在類別的標(biāo)簽;p(si)為預(yù)測類別的概率。
為獲得連續(xù)且混凝土試塊完整的裂縫圖像,而鋼纖維混凝土其韌性和疲勞性能具有一定優(yōu)勢。 而普通混凝土所得到的裂縫也可以作為實(shí)驗(yàn)數(shù)據(jù),只要具有裂縫特征即可。 通過實(shí)驗(yàn)對200 個鋼纖維混凝土試塊進(jìn)行壓彎試驗(yàn),運(yùn)用相機(jī)獲取整張混凝土試塊的圖像, 獲取200 個4 032*3 024 試塊的裂縫圖像如圖5(a)所示。由于輸入原始圖片會導(dǎo)致計算成本過大,將原始圖片裁剪為僅含有混凝土試塊圖像,如圖5(b)。
圖5 裁剪前后圖片F(xiàn)ig.5 Before and after images being cropped
數(shù)據(jù)樣本數(shù)量不足會影響識別精度,容易導(dǎo)致欠擬合,為獲得足夠樣本需進(jìn)行數(shù)據(jù)增強(qiáng),后期圖像輸入要求圖像的分辨率一致,通過標(biāo)記軟件標(biāo)記裂縫時清晰易見, 通過代碼進(jìn)行統(tǒng)一大小致像素512*512。
為實(shí)現(xiàn)裂縫以及腐蝕代替類別的分割網(wǎng)絡(luò)模型訓(xùn)練, 對裂縫數(shù)據(jù)集圖片進(jìn)行分割掩碼標(biāo)記,生成目標(biāo)裂縫掩碼和類別標(biāo)注等文件,通過數(shù)據(jù)增強(qiáng)庫對基礎(chǔ)數(shù)據(jù)進(jìn)行翻轉(zhuǎn)、旋轉(zhuǎn)、增加亮度、平移以及添加噪聲(添加高斯噪聲和椒鹽噪聲)得到2 000 張像素為512*512 圖片,如圖6 所示。
圖6 通過數(shù)據(jù)增強(qiáng)后圖片F(xiàn)ig.6 Images enhanced by data
隨機(jī)選取其中1 200 張作為訓(xùn)練網(wǎng)絡(luò)數(shù)據(jù)集。400 張作為驗(yàn)證數(shù)據(jù)集,400 張作為測試集。
利用深度學(xué)習(xí)框架Keras2.16 和Tensorflow1.14.3 搭建改進(jìn)Mask R-CNN 模型。 計算機(jī)操作系統(tǒng)為Windows10,服務(wù)器配置為:酷睿i9 9900K 3.6 GHz,32 GB 內(nèi) 存,NVIDIA Corporation GP 102[GeForce GTX 2080]顯卡。 根據(jù)計算力以及模型需求對模型基本參數(shù)進(jìn)行設(shè)計如表1 所示。
表1 模型基本參數(shù)Tab.1 Basic parameters of the model
數(shù)據(jù)在coco 數(shù)據(jù)集上使用訓(xùn)練好的模型作為訓(xùn)練模型初始化參數(shù),進(jìn)行訓(xùn)練。模型Mask R-CNN網(wǎng)絡(luò)在訓(xùn)練數(shù)據(jù)集上損失變化曲線如圖8。
由圖7 看出模型損失不斷減小, 逐漸收斂,改進(jìn)模型在迭代2 000 次左右開始收斂, 先于原始模型。 模型通過引入正則化對訓(xùn)練過后網(wǎng)絡(luò)用驗(yàn)證集驗(yàn)證進(jìn)行網(wǎng)絡(luò)參數(shù)微調(diào),在測試集上進(jìn)行測試,通過訓(xùn)練好網(wǎng)絡(luò)模型放入測試集進(jìn)行測試結(jié)果如表2。
圖7 Loss 曲線Fig.7 Curve of Loss
表2 測試集上面的準(zhǔn)確率Tab.2 Accuracy on test set
由表2 看出裂縫準(zhǔn)確率較其余兩種類別較低,實(shí)驗(yàn)過程中,養(yǎng)護(hù)時期會造成混凝土試塊外表出現(xiàn)不同顏色表狀,后期拍攝因素也會對裂縫區(qū)域造成影響,而人工增加類別簡易且特征易提取。 在訓(xùn)練過程驗(yàn)證和測試數(shù)據(jù)集上顯示出較好效果。 測試后對具有3 種類別圖像進(jìn)行預(yù)測,如圖8 所示。
圖8 Mask R-CNN 訓(xùn)練后預(yù)測圖Fig.8 Mask R-CNN prediction graph after training
圖9 中顯示預(yù)測效果較好,但也存在裂縫未識別,背景和裂縫相近的圖片置信度較低,數(shù)字和詞匯類別都顯示出改進(jìn)前模型已經(jīng)擁有較高的魯棒性,再對改進(jìn)模型進(jìn)行訓(xùn)練驗(yàn)證測試調(diào)參,進(jìn)行預(yù)測,結(jié)果如圖10 所示。
圖9 改進(jìn)后Mask R-CNN 訓(xùn)練后預(yù)測圖Fig.9 Improved Mask R-CNN prediction graph after training
由圖10 看出改進(jìn)后模型對檢測的裂縫呈現(xiàn)出很好的檢測效果,再將裂縫以外類別設(shè)置為一類計算出TP,被正確預(yù)測為正樣本的數(shù)量;FP,負(fù)樣本被預(yù)測為正樣本的數(shù)量;FN,正樣本預(yù)測負(fù)樣本的數(shù)量。 P 為精確率;R 為召回率。
圖10 相比較Mask R-CNN 預(yù)測P-R 圖Fig.10 Compared with that of Mask R-CNN,the P-R graph of prediction
繪制出P-R 圖。 再將該數(shù)據(jù)放在原始Mask R-CNN 中進(jìn)行多任務(wù)學(xué)習(xí), 在CIoU 為0.5 時得出結(jié)果并與本文改進(jìn)算法進(jìn)行比較如表3 所示。
表3 與原始Mask R-CNN 算法比較Tab.3 Compared with the original Mask R-CNN algorithm
改進(jìn)后裂縫檢測精度由提升84.32%增加到92.57%, 在原始檢測精度較高基礎(chǔ)上再次提升8.25%,數(shù)字和詞匯的檢出率也進(jìn)一步提升,由于人工添加類別特征相對較簡單,致使檢測精度相對較高,平均精度均值也從90.44%提升到96.09%。改進(jìn)后網(wǎng)絡(luò)對單樣本耗時也從210 ms 提升到198 ms。
通過鋼纖維混凝土進(jìn)行試驗(yàn)獲得裂縫,采用改進(jìn)深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行實(shí)例分割,獲得下列結(jié)論。
1) 本文建立裂縫自動識別改進(jìn)后Mask RCNN 深度網(wǎng)絡(luò)模型,用于裂縫檢測。 該模型對人工多類別圖像進(jìn)行分類、分割和定位,突破了僅含單一裂縫檢測,能夠高效完成實(shí)例分割任務(wù)。
2) 試驗(yàn)結(jié)果表明,改進(jìn)裂縫識別模型的準(zhǔn)確率為96.09%,平均精度均值和圖片處理速率分別提升6.2%和5.7%。 表現(xiàn)出模型較強(qiáng)的魯棒性和泛化能力。 模型作為基于對象建議檢測算法,與一體化卷積網(wǎng)絡(luò)算法相比,圖片處理速率較低,需要通過研究開發(fā)更好的網(wǎng)絡(luò)模型來做到精度高,速度快。