高 靜, 周岳鈺, 桂藝婷, 朱 柱, 聞 軍*
(1. 安慶師范大學(xué)電子工程與智能制造學(xué)院, 安徽 安慶 246133;2. 金陵科技學(xué)院計(jì)算機(jī)工程學(xué)院, 南京 211169)
因長(zhǎng)期受交通載荷、腐蝕和高溫等多種惡劣因素的共同作用, 公共基礎(chǔ)設(shè)施表面易出現(xiàn)裂紋、坑槽或翻漿等缺陷[1]. 定期檢測(cè)可以為基礎(chǔ)設(shè)施的維護(hù)提供重要決策依據(jù),有助于延長(zhǎng)其使用壽命[2-3]. 人工目視檢測(cè)方法適用范圍雖廣, 但過度依賴于檢測(cè)人員的主觀判斷, 缺乏客觀統(tǒng)一的檢測(cè)標(biāo)準(zhǔn). 超聲波、射線或電磁等檢測(cè)方法雖然能準(zhǔn)確檢測(cè)出裂紋位置, 但對(duì)檢測(cè)環(huán)境要求苛刻且實(shí)時(shí)性較差[4]. 數(shù)字圖像處理技術(shù)在裂紋分割領(lǐng)域表現(xiàn)優(yōu)良, 但在復(fù)雜背景下難以準(zhǔn)確捕獲裂紋的位置信息[5]. 近年來, 基于深度學(xué)習(xí)的基礎(chǔ)設(shè)施表面裂紋檢測(cè)方法因能自動(dòng)學(xué)習(xí)數(shù)據(jù)集的有效特征, 從而克服了針對(duì)含大量背景噪聲的樣本檢測(cè)準(zhǔn)確度偏低的問題, 故受到廣泛關(guān)注. Dung等[6]提出一種基于深度全卷積網(wǎng)絡(luò)(fully convolutional network, FCN)的裂縫檢測(cè)方法, 用于混凝土裂縫圖像的語義分割; 姜瑾等[7]結(jié)合電致發(fā)光圖像分割與卷積神經(jīng)網(wǎng)絡(luò)分類, 提出一種太陽能電池板裂紋檢測(cè)算法; Dais等[8]通過探究磚石表面裂紋分割,發(fā)現(xiàn)基于單一材質(zhì)的表面裂紋數(shù)據(jù)集訓(xùn)練模型的泛化能力較差; Alipour等[9]研究了基于深度學(xué)習(xí)的裂紋檢測(cè)模型在常見建筑材料領(lǐng)域的自適應(yīng)性, 認(rèn)為在特定材質(zhì)數(shù)據(jù)集上訓(xùn)練的裂紋檢測(cè)模型未必適用于其他材料. 針對(duì)基于單一材質(zhì)基礎(chǔ)設(shè)施表面裂紋訓(xùn)練的模型魯棒性弱的問題, 本文擬提出一種基于深度學(xué)習(xí)的雙層編解碼網(wǎng)絡(luò)(Double U-Net)模型, 利用其上層U-Net獲取豐富的上下文信息, 下層U-Net增強(qiáng)特征信息的利用率, 通過融合上下層網(wǎng)絡(luò)的特征彌補(bǔ)單層U-Net在檢測(cè)過程中丟失細(xì)節(jié)信息的缺陷, 以期提高模型的泛化能力和實(shí)現(xiàn)對(duì)多種材質(zhì)基礎(chǔ)設(shè)施表面裂紋的準(zhǔn)確檢測(cè).
構(gòu)建如圖1所示的Double U-Net模型的網(wǎng)絡(luò)結(jié)構(gòu). 該模型采用兩層U-Net[10]架構(gòu), 其上下支路分別標(biāo)記為網(wǎng)絡(luò)1和網(wǎng)絡(luò)2. 網(wǎng)絡(luò)1為編解碼器中均使用改進(jìn)的Inception模塊和擠壓激勵(lì)網(wǎng)絡(luò)(squeeze-and-excitation networks, SENet)[11]的U-Net模型, 是Double U-Net的主要特征提取器. 特別地, 網(wǎng)絡(luò)1的解碼器中大小為(224, 224, 32)的特征圖像不參與跳躍連接操作,僅與網(wǎng)絡(luò)2的解碼器中分辨率相同的特征圖像進(jìn)行通道特征融合. 網(wǎng)絡(luò)2是經(jīng)典U-Net模型, 它由包含3×3卷積層的重復(fù)塊和上下采樣層組成. Double U-Net的實(shí)現(xiàn)流程如下: 1) 將大小為(224, 224, 3)的裂紋圖像輸入網(wǎng)絡(luò)1,2, 并進(jìn)行圖像壓縮、復(fù)原和跳躍連接; 2) 利用通道融合方式, 將網(wǎng)絡(luò)2解碼器的特征與網(wǎng)絡(luò)1中融合后的分辨率大小相同的特征進(jìn)行融合; 3) 利用Sigmoid函數(shù)對(duì)網(wǎng)絡(luò)2的輸出進(jìn)行分類預(yù)測(cè). Double U-Net通過融合上下兩個(gè)U-Net中不同級(jí)別的特征,促進(jìn)模型對(duì)于裂紋圖像不同尺度語義信息的學(xué)習(xí),有效過濾圖像背景干擾, 從而提高設(shè)施表面裂紋的分割精度.
圖1 Double U-Net的網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 The network structure of Double U-Net
圖2 改進(jìn)的Inception模塊Fig.2 The improved Inception block
在網(wǎng)絡(luò)1中, 首先在編解碼器部分引入具有雙層并行濾波器的Inception模塊來擴(kuò)展網(wǎng)絡(luò)深度,每個(gè)Inception模塊的兩個(gè)卷積層之間通過不同大小的濾波器節(jié)點(diǎn)進(jìn)行連接. 編碼器的濾波器節(jié)點(diǎn)分別為(16,32)、(32,64)、(64,128)、(128,256)和(256,512),解碼器的節(jié)點(diǎn)分別為(512,128)、(256,64)、(128,32)和(64,16). 由于Inception模塊的引入會(huì)導(dǎo)致模型產(chǎn)生大量參數(shù), 故在原始Inception模塊[12]的基礎(chǔ)上加以改進(jìn)(如圖2所示), 以非對(duì)稱卷積核1×5和5×1替換并行濾波器中5×5卷積核, 使得模型參數(shù)減少約25%. 其次,在編碼器中的池化層和解碼器中Inception模塊后均引入SENet. 通過壓縮與激勵(lì)操作獲取特征通道上的全局感受野和通道間的相關(guān)性, 以強(qiáng)化特征提取過程中的目標(biāo)特征. 最后, 利用跳躍連接機(jī)制將網(wǎng)絡(luò)的高低級(jí)特征進(jìn)行融合, 以減少圖像復(fù)原過程中細(xì)節(jié)信息的丟失.
在網(wǎng)絡(luò)2中, 首先將輸入圖像在編碼器中經(jīng)過連續(xù)4次池化(下采樣)和卷積操作, 解碼器對(duì)編碼器的輸出再進(jìn)行連續(xù)4次反卷積和卷積操作, 卷積操作表現(xiàn)為重復(fù)2次3×3卷積、歸一化和激活操作. 其次,網(wǎng)絡(luò)2中的淺層特征與深層特征通過跳躍連接進(jìn)行融合的同時(shí),還與網(wǎng)絡(luò)1解碼器中經(jīng)過跳躍連接后的特征圖像進(jìn)行通道融合, 有效解決了網(wǎng)絡(luò)1在解碼過程中丟失的邊緣和局部信息的問題. 最后, 利用Sigmoid激活函數(shù)對(duì)網(wǎng)絡(luò)2的輸出結(jié)果進(jìn)行分類, 從而獲得大小為(224,224,1)的裂紋分割圖像.
用于裂紋分割的數(shù)據(jù)集通常存在嚴(yán)重的類不平衡問題,即裂紋像素占比小于5%,這會(huì)導(dǎo)致網(wǎng)絡(luò)在訓(xùn)練過程中高估自身的學(xué)習(xí)能力,而習(xí)慣性地將裂紋錯(cuò)誤地分類為背景. 本文采用加權(quán)交叉熵[13](weighted cross entropy, WCE)損失函數(shù), 通過加強(qiáng)少數(shù)樣本對(duì)損失函數(shù)的貢獻(xiàn)改變少數(shù)類別的權(quán)重, 從而解決類不平衡問題. WCE損失函數(shù)
(1)
建立一個(gè)包含不同材質(zhì)的基礎(chǔ)設(shè)施表面裂紋圖像的混合數(shù)據(jù)集(Dataset 1). Dataset 1共包含4 204組原始裂紋和標(biāo)簽圖像, 由混凝土(Dataset 2)[14]、瀝青(Dataset 3)[15]和磚石(Dataset 4)[8]等3個(gè)公共數(shù)據(jù)集構(gòu)成, 其中Dataset 2~4分別包含600,3 364,240組圖像. 將Dataset 1~4均按照7∶1∶2的比例劃分為模型的訓(xùn)練集、驗(yàn)證集和測(cè)試集. 為進(jìn)一步測(cè)試基于不同材質(zhì)的表面裂紋訓(xùn)練模型的魯棒性和穩(wěn)健性, 建立一個(gè)測(cè)試集(Dataset Test), 其所包含的40張不同基礎(chǔ)設(shè)施表面的裂紋圖像均取自于互聯(lián)網(wǎng). 將Dataset Test中全部圖像裁剪為224×224像素, 并對(duì)其進(jìn)行二值化處理得到相應(yīng)的標(biāo)簽圖像.
圖3為Dataset 1中的3種基礎(chǔ)設(shè)施表面的裂紋示意圖. 由圖3可見: 混凝土結(jié)構(gòu)表面平滑, 裂紋形狀簡(jiǎn)單、尺寸相似, 其附近常伴有少量石灰漿點(diǎn)、污漬和落葉等噪聲; 瀝青道路表面呈顆粒狀、凹凸不平,裂紋形狀多樣,如線形、放射狀和網(wǎng)狀等, 其附近帶有車道線和油漬等噪聲; 磚石墻面由磚或石材組成,表面有砂漿接縫,顏色多呈鮮紅色,其裂紋縫隙較大、痕跡明顯, 且裂紋周圍存在較多窗戶、門或植被等復(fù)雜物體.
圖3 不同材質(zhì)的基礎(chǔ)設(shè)施表面裂紋圖像Fig.3 The crack images of different infrastructure surfaces
本文模型運(yùn)用Python語言開發(fā), 由Keras和Tensorflow框架實(shí)現(xiàn). 實(shí)驗(yàn)平臺(tái)所用計(jì)算機(jī)配置為RTX2080Ti GPU, 顯存為11 GB, 操作系統(tǒng)為Ubuntu 11.2.0. 實(shí)驗(yàn)預(yù)先設(shè)置100輪訓(xùn)練, 使用Adam優(yōu)化器, 設(shè)定學(xué)習(xí)率為0.000 5, 批量處理的圖像數(shù)為8. 當(dāng)加權(quán)交叉熵?fù)p失函數(shù)中β值設(shè)為10時(shí)可解決磚石表面裂紋的類不平衡問題[8], 故本文損失函數(shù)中β取10.
將Double U-Net與經(jīng)典U-Net[10], U-Net-Inception-v1[12]和U-Net-Inception-v2[16]等對(duì)比模型在數(shù)據(jù)集Dataset 1~4上分別進(jìn)行訓(xùn)練和驗(yàn)證, 選擇查全率R、查準(zhǔn)率P和F1值F作為評(píng)價(jià)指標(biāo)[17]驗(yàn)證Double U-Net的優(yōu)越性. 對(duì)比結(jié)果如表1所示, 其中各項(xiàng)指標(biāo)為所有預(yù)測(cè)結(jié)果的均值,指標(biāo)值越大, 則模型的分割性能越好. 由表1可見: 1) Double U-Net在4個(gè)數(shù)據(jù)集上均展現(xiàn)出優(yōu)于其他模型的分割能力; 2) 相較于其他3種分割網(wǎng)絡(luò)模型, Double U-Net在Dataset 1上預(yù)測(cè)結(jié)果的F1值最高, 表明該模型的誤檢率和漏檢率最低; 3) Double U-Net在Dataset 4上的F1值高于其他模型, 表明Double U-Net處理背景噪聲大的裂紋圖像效果更顯著.
進(jìn)一步采用交并比(intersection over union, IoU)和骰子相似系數(shù)(dice similarity coefficient, DSC)[18]評(píng)價(jià)預(yù)測(cè)結(jié)果與標(biāo)簽之間的相似度. 表2給出了在Dataset 1上訓(xùn)練的各分割網(wǎng)絡(luò)模型的IoU和DSC預(yù)測(cè)結(jié)果均值. 由表2可見: Double U-Net模型分割結(jié)果的IoU和DSC明顯優(yōu)于其他分割網(wǎng)絡(luò),驗(yàn)證了該模型的有效性和合理性.
表1 分割網(wǎng)絡(luò)模型在數(shù)據(jù)驗(yàn)證集Dataset 1~4上的檢測(cè)結(jié)果
表2 基于IoU和DSC評(píng)價(jià)指標(biāo)的分割網(wǎng)絡(luò)模型測(cè)試結(jié)果
表3 嵌入不同Inception模塊的Double U-Net的測(cè)試結(jié)果
在數(shù)據(jù)集Dataset 1上將改進(jìn)前后的Inception模塊分別嵌入Double U-Net進(jìn)行訓(xùn)練和測(cè)試, 結(jié)果如表3所示. 由表3可見: 由于使用了非對(duì)稱卷積核, 改進(jìn)后Inception模塊的學(xué)習(xí)參數(shù)數(shù)目約減少25%, 每輪訓(xùn)練時(shí)間減少14 s; 裂紋分割結(jié)果的IoU由65.31%提升至65.60%, 說明使用非對(duì)稱卷積核在減少模型學(xué)習(xí)參數(shù)的同時(shí)并未降低模型檢測(cè)能力.
圖4 不同模型在Dataset 1上的裂紋圖像分割結(jié)果Fig.4 Crack image segmentation results of different methods on Dataset 1
圖4為Double U-Net及3種對(duì)比模型在Dataset 1上的裂紋分割結(jié)果. 由圖4可見: 1) 對(duì)于裂紋附近帶有砂漿、植被和白點(diǎn)等噪聲的圖像, Double U-Net能夠最大程度地減少圖像中的冗余信息, 這表明Double U-Net可有效降低背景噪聲的影響; 2) Double U-Net模型不僅能明顯降低圖像中存在的植被、油漬和水管等大面積背景噪聲的影響, 還可相對(duì)完整地分割出真實(shí)裂紋的形狀; 3) 在檢測(cè)光照條件下的磚石墻面裂紋圖像過程中, Double U-Net受陰影和磚石顏色變化的影響最小, 分割出的裂紋最接近標(biāo)簽圖像. 上述Doble U-Net所具備的分割優(yōu)勢(shì),是由于Double U-Net中兩層U-Net的有效結(jié)合不僅增強(qiáng)了重要特征的影響度和突出圖像的邊緣信息, 而且彌補(bǔ)了網(wǎng)絡(luò)1強(qiáng)化分割特征時(shí)導(dǎo)致的精細(xì)結(jié)構(gòu)損失, 使得Double U-Net保留更多淺層邊緣信息和深層語義信息.
為了檢驗(yàn)基于不同材質(zhì)的設(shè)施表面裂紋數(shù)據(jù)集訓(xùn)練的Double U-Net模型的普適性, 將其與對(duì)比模型在新建的混合測(cè)試集Dataset Test和Dataset 2~4的測(cè)試集上分別進(jìn)行測(cè)試, 結(jié)果如表4所示. 由表4可見: 1) 在Dataset Test上, Double U-Net的F1和IoU值最大, 說明Double U-Net分割不同基礎(chǔ)設(shè)施表面的裂紋時(shí)所得裂紋圖像最接近標(biāo)簽圖像; 2) 無論是在混凝土、瀝青還是磚石表面, Double U-Net的F1和IoU值均最大, 說明Double U-Net模型檢測(cè)單一材質(zhì)表面的裂紋時(shí)仍具有優(yōu)于對(duì)比模型的分割能力; 3) 相對(duì)于測(cè)試集Dataset 2~3, Double U-Net在測(cè)試集Dataset 4上的F1和IoU值提升較大, 這是因?yàn)榇u石表面的裂紋附近冗余信息較多. 綜上, Double U-Net可以有效抑制大面積的背景噪聲,提高復(fù)雜背景下裂紋分割精度.
圖5為各模型的裂紋分割結(jié)果. 由圖5可見: 1) 對(duì)于較平整且纖細(xì)的混凝土裂紋, Double U-Net相較于對(duì)比模型不僅可較完整地分割出裂紋, 而且能使分割出的裂紋邊緣更平滑; 2) 對(duì)于裂紋附近伴隨有較強(qiáng)背景噪聲的混凝土圖像, Double U-Net雖不能完全消除干擾, 但其抗干擾能力較對(duì)比模型更強(qiáng); 3) 對(duì)于存在陰影的裂紋圖像, Double U-Net可有效降低陰影的干擾. Double U-Net優(yōu)越的分割效果主要是因?yàn)镈ouble U-Net將上下兩層U-Net有效結(jié)合增強(qiáng)了特征信息的利用率, 從而提高了模型的魯棒性.
通過消融實(shí)驗(yàn)逐一消除單個(gè)模塊并觀察其對(duì)預(yù)測(cè)結(jié)果的影響, 確定不同模塊的重要性, 結(jié)果如表5所示. 由表5可知: 1) 對(duì)比實(shí)驗(yàn)① ②, 引入Inception模塊的單層U-Net模型能顯著提升裂紋的分割精度, 說明加入改進(jìn)的Inception模塊有利于提高網(wǎng)絡(luò)的特征提取能力; 2) 對(duì)比實(shí)驗(yàn)②③, 加入SENet后的IoU值達(dá)65.29%, 說明通過引入SENet學(xué)習(xí)重要特征可以使分割出的裂紋的位置信息更加準(zhǔn)確; 3) 對(duì)比實(shí)驗(yàn)③④, 引入網(wǎng)絡(luò)2后的IoU值得到一定提升, 說明雙層U-Net能夠彌補(bǔ)單層U-Net丟失局部特征信息的缺陷; 4) 嵌入了所有模塊的Double U-Net的IoU值最大, 說明Double U-Net模型是通過各個(gè)模塊的共同作用實(shí)現(xiàn)模型分割性能的整體提高.
表4 各模型在不同測(cè)試集上的測(cè)試指標(biāo)結(jié)果
圖5 對(duì)比模型在Dataset Test上的裂紋分割結(jié)果Fig.5 Crack segmentation results of contrast methods on Dataset Test sets
表5 具有不同模塊的模型分割結(jié)果
為了有效檢測(cè)不同材質(zhì)的基礎(chǔ)設(shè)施表面裂紋, 本文構(gòu)建了一種基于編解碼器的Double U-Net網(wǎng)絡(luò)模型. 該模型首先利用網(wǎng)絡(luò)1學(xué)習(xí)圖像中的復(fù)雜特征, 然后利用網(wǎng)絡(luò)2將兩個(gè)網(wǎng)絡(luò)提取到的特征進(jìn)行融合, 最后通過激活函數(shù)對(duì)網(wǎng)絡(luò)2的輸出結(jié)果進(jìn)行分類, 從而獲得預(yù)測(cè)的裂紋分割圖像. 在相同的參數(shù)設(shè)置下, Double U-Net的F和IoU分別達(dá)78.70%和65.60%, 明顯高于其他對(duì)比模型相應(yīng)的指標(biāo)值, 驗(yàn)證了該網(wǎng)絡(luò)模型的合理性和有效性.