廖延娜,豆丹陽(yáng)
(西安郵電大學(xué) 電子工程學(xué)院,陜西 西安 710121)
橋梁道路由于長(zhǎng)時(shí)間被外部力量破壞或道路基層質(zhì)變等影響,容易出現(xiàn)各種形態(tài)的裂縫病害,針對(duì)橋梁維護(hù)[1]工作,傳統(tǒng)圖像檢測(cè)方法對(duì)于復(fù)雜背景識(shí)別[2]、實(shí)驗(yàn)方法、檢測(cè)結(jié)果等方面難以達(dá)到有效且智能的效果。
深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)算法的出現(xiàn)突破了傳統(tǒng)方法的局限性。文獻(xiàn)[3]提出了將AlexNet 卷積神經(jīng)網(wǎng)絡(luò)和局部閾值分割相結(jié)合的裂縫檢測(cè)和分割算法。文獻(xiàn)[4]采用UNet++和條件生成對(duì)抗網(wǎng)絡(luò)(convolution generative adversarial networks,CGAN)算法,兩者反復(fù)博弈訓(xùn)練,達(dá)到裂縫檢測(cè)分割的效果。文獻(xiàn)[5]利用網(wǎng)絡(luò)模型(fully convolutional network,F(xiàn)CN)解決裂縫分割中局部信息丟失和局部細(xì)化能力不足的問(wèn)題,采用多尺度結(jié)構(gòu)森林(multiscale structured forests,SFD)和反對(duì)稱(chēng)雙正交小波的半重構(gòu)方法,克服裂紋邊緣檢測(cè)的局限性。文獻(xiàn)[6]對(duì)道路坑洼做分類(lèi)與分割實(shí)驗(yàn),對(duì)比了Mask RCNN 和UNet 網(wǎng)絡(luò)的檢測(cè)結(jié)果,通過(guò)Validation set和Test set 的數(shù)據(jù)對(duì)比可知,Mask RCNN 檢測(cè)精確度為92.1%,而UNet 精確度為77.38%,兩者對(duì)比性能效果差異分明。UNet 網(wǎng)絡(luò)算法在醫(yī)學(xué)圖像[7]領(lǐng)域具有顯著的工作成果,但是在工程領(lǐng)域的檢測(cè)效果弱于其他卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)算法。
結(jié)合以上典型文獻(xiàn)的研究成果,文中選用了Mask RCNN 算法[8]實(shí)現(xiàn)橋梁裂縫病害的檢測(cè)與分割,并在原算法的基礎(chǔ)上進(jìn)行了優(yōu)化改進(jìn)。
Mask RCNN 主要結(jié)構(gòu)組成有:主干網(wǎng)絡(luò)(ResNet101+FPN)、區(qū)域選取網(wǎng)絡(luò)[9](region proposal network,RPN)、對(duì)齊操作(regional of interest align,ROI align)、分類(lèi)器和邊框回歸器以及掩膜分割(classification,box regression,mask)。網(wǎng)絡(luò)結(jié)構(gòu)框架如圖1所示。
圖1 Mask RCNN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of Mask RCNN
Mask RCNN 是作為多任務(wù)工作網(wǎng)絡(luò),其損失計(jì)算為各分支損失的加權(quán)值。如下式所示:
式中:Lcls和Lbbox分別為原Faster RCNN 中類(lèi)別損失和回歸框損失;Lmask是掩膜Mask 支路的損失,損失值的計(jì)算方式是對(duì)每一個(gè)像素[10]應(yīng)用Sigmoid,取ROI 上所有像素的交叉熵的平均值作為L(zhǎng)mask,k對(duì)應(yīng)Mask 的類(lèi)別,其表達(dá)式為
為防止特征提取過(guò)程中特征信息丟失[11],在FPN 網(wǎng)絡(luò)結(jié)構(gòu)中設(shè)計(jì)了語(yǔ)義增強(qiáng)模塊SEM,如圖2所示。SEM 模塊與上采樣中得到的特征圖進(jìn)行融合[12],得到新的多尺度特征圖feature maps。
圖2 改進(jìn)的FPN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of improved FPN
SEM 模塊的結(jié)構(gòu)如圖3所示。SEM 模塊基于空洞卷積算法[13]設(shè)計(jì)思想獲取不同感受野的特征圖并進(jìn)行融合。SEM 模塊的操作方式為:采用(D=3,D=5,D=7)3 個(gè)不同膨脹率的3×3 卷積核和1×1 卷積核,分別對(duì)下采樣的卷積層(C2,C3,C4,C5)進(jìn)行計(jì)算,每個(gè)卷積核限制64 個(gè)通道,每層得到的4 個(gè)不同感受野的特征圖,通過(guò)Concate 融合后輸出一個(gè)256 通道的特征圖。
圖3 SEM 模塊結(jié)構(gòu)圖Fig.3 Structure diagram of SEM module
Concate 融合是對(duì)特征通道直接拼接,此操作過(guò)程無(wú)信息損失影響[14],Add 操作將兩兩特征圖進(jìn)行像素相加,增加了特征信息量。Concate 融合后的特征圖與上采樣中的特征圖尺寸大小及通道相同,由此可以將他們的對(duì)應(yīng)層[15]進(jìn)行像素相加Add,得到新的多尺度特征圖feature maps。
Add 特征融合的方法是,將兩兩相同尺寸的特征圖像素直接相加[16],公式如(3)所示。圖4(a)列出了裂縫圖片;該圖片的兩種特征圖如圖4(b)和4(c)所示;Add 融合后的圖像如圖4(d)所示。
圖4 Add 特征融合Fig.4 Add feature fusion
依據(jù)公共道路表層病害的劃分類(lèi)別[17],對(duì)裂縫病害進(jìn)行了兩類(lèi)劃分,分別是裂縫和破損,如圖5所示。劃分依據(jù)為,將分布清晰明確的裂縫依然視為裂縫,數(shù)據(jù)標(biāo)注時(shí)定義其標(biāo)簽為crack,將分布錯(cuò)綜復(fù)雜的裂縫視為破損,定義其標(biāo)簽為damage。
圖5 裂縫病害類(lèi)別劃分圖Fig.5 Category classification diagram of crack diseases
目前沒(méi)有公開(kāi)的橋梁裂縫數(shù)據(jù)集及數(shù)據(jù)標(biāo)注文件可用,通過(guò)采集橋梁道路常見(jiàn)的裂縫病害,共2 566 張,圖片尺寸為600×600 pixel,并對(duì)采集到的圖片做像素變化[18]處理以進(jìn)行數(shù)據(jù)擴(kuò)充,最終得到共4 200 張的裂縫圖片。
利用Labelme 軟件工具完成標(biāo)注,如圖6所示。針對(duì)類(lèi)別對(duì)比實(shí)驗(yàn)需要2 種標(biāo)注形式:未分類(lèi)的實(shí)驗(yàn),如圖6(a)和(b)所示;分類(lèi)實(shí)驗(yàn),如圖6(c)和(d)所示。
圖6 數(shù)據(jù)集標(biāo)注可視化Fig.6 Data set annotation visualization
算法基于TensorFlow1.12[19]和Keras1.0.8 的框架搭建Mask RCNN 卷積神經(jīng)網(wǎng)絡(luò),系統(tǒng)使用window 10,內(nèi)存為16 G,顯卡為NVIDIA GTX 1660,處理器為Intel(R)Core(TM)i5-9400F。
圖7 是網(wǎng)絡(luò)訓(xùn)練損失曲線圖地改進(jìn)后網(wǎng)絡(luò)的損失曲線相比原網(wǎng)絡(luò)損失曲線有所降低,并且后期驗(yàn)證集損失曲線對(duì)訓(xùn)練結(jié)果已較好地?cái)M合,網(wǎng)絡(luò)的泛化性能得到提升。
圖7 損失曲線Fig.7 Loss curves
評(píng)估卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測(cè)算法性能指標(biāo)通常有:精確率Precision、召回率Recall、平均精度AP、平均精度均值mAP 等幾個(gè)指標(biāo)。
為了驗(yàn)證改進(jìn)方法的有效性、創(chuàng)新性,基于2 種策略做對(duì)比實(shí)驗(yàn),對(duì)文章中設(shè)計(jì)的方法進(jìn)行性能測(cè)試。
策略1:對(duì)裂縫不進(jìn)行類(lèi)別劃分,即將裂縫和破損依然視為裂縫crack,輸入改進(jìn)前網(wǎng)絡(luò)和改進(jìn)后網(wǎng)絡(luò),檢測(cè)結(jié)果如表1所示。改進(jìn)后網(wǎng)絡(luò)的mAP 比原網(wǎng)絡(luò)提高6.6%。
表1 策略1 網(wǎng)絡(luò)改進(jìn)前后性能指標(biāo)對(duì)比Table 1 Comparison of performance indicators before and after network improvement of strategy 1
策略2:對(duì)裂縫病害進(jìn)行類(lèi)別劃分,裂縫和破損分別作為crack 和damage,檢測(cè)結(jié)果如表2所示。改進(jìn)后網(wǎng)絡(luò)的mAP 比原網(wǎng)絡(luò)提高5.7%,并且裂縫的平均精度crack_AP 和破損的平均精度damage_AP 分別提高2.4%和9.0%。
表2 策略2 網(wǎng)絡(luò)改進(jìn)前后性能指標(biāo)對(duì)比Table 2 Comparison of performance indicators before and after network improvement of strategy 2
對(duì)比以上2 個(gè)策略的結(jié)果,可以驗(yàn)證網(wǎng)絡(luò)改進(jìn)和類(lèi)別劃分結(jié)合的方法設(shè)計(jì),改進(jìn)了網(wǎng)絡(luò)性能,相比原網(wǎng)絡(luò)無(wú)類(lèi)別劃分方法mAP 共提高了12.6%。
另外,通過(guò)ResNet101 和ResNet50 的對(duì)比,衡量深度不同的主干網(wǎng)絡(luò)對(duì)預(yù)測(cè)結(jié)果的影響,結(jié)果發(fā)現(xiàn),深層主干網(wǎng)ResNet101 相比ResNet50 較淺層網(wǎng)絡(luò),其預(yù)測(cè)結(jié)果在時(shí)間上無(wú)較大差別,但預(yù)測(cè)準(zhǔn)確率Accuracy 和mAP 有明顯優(yōu)勢(shì),如表3所示。
表3 網(wǎng)絡(luò)模型分別基于ResNet101 和ResNet50 的性能指標(biāo)對(duì)比Table 3 Comparison of performance indicators of network model based on ResNet101 and ResNet50 respectively
結(jié)合以上數(shù)據(jù),又與其他網(wǎng)絡(luò)模型進(jìn)行了性能對(duì)比。將結(jié)果繪制成柱狀圖直觀對(duì)比各網(wǎng)絡(luò)的性能差異,如圖8所示。
圖8 各網(wǎng)絡(luò)模型性能對(duì)比圖Fig.8 Performance comparison diagram of each network model
根據(jù)以上2 個(gè)策略,列出了3 張不同圖片的檢測(cè)結(jié)果,如圖9、圖10 和圖11所示。圖9~圖11 中(a)和(b)均為策略1 檢測(cè)結(jié)果,(c)和(d)均為策略2 檢測(cè)結(jié)果,通過(guò)對(duì)比圖9~圖11 中(a)、(b)、(c)和(d)可知,(d)圖檢測(cè)結(jié)果掩膜分布清晰、無(wú)漏檢,無(wú)重疊等缺陷,具有較好的檢測(cè)結(jié)果。
圖9 細(xì)小裂縫檢測(cè)結(jié)果Fig.9 Detection results of fine cracks
圖10 較大裂縫檢測(cè)結(jié)果Fig.10 Detection results of larger cracks
圖11 形態(tài)復(fù)雜裂縫檢測(cè)結(jié)果Fig.11 Detection results of complex cracks
基于Mask RCNN 卷積神經(jīng)網(wǎng)絡(luò)算法,本文增加了語(yǔ)義增強(qiáng)模塊,使新的特征圖融合了淺層網(wǎng)絡(luò)和深層網(wǎng)絡(luò)的特征,對(duì)裂縫形態(tài)特征做到了較充分保留,提高了對(duì)道路裂縫病害檢測(cè)的精確度。同時(shí)對(duì)裂縫進(jìn)一步作類(lèi)別劃分,有益于為道路維護(hù)工作提供相應(yīng)裂縫修護(hù)措施。文中方法通過(guò)指標(biāo)數(shù)據(jù)和檢測(cè)結(jié)果顯示,算法的改進(jìn)一定程度上提高了裂縫檢測(cè)精度,但是對(duì)于復(fù)雜裂縫的檢測(cè)仍然需要提高算法的改進(jìn)水平。