王保憲,白少雄,趙維剛
(1. 石家莊鐵道大學(xué) 安全工程與應(yīng)急管理學(xué)院,河北 石家莊 050043;2. 石家莊鐵道大學(xué) 電氣與電子工程學(xué)院,河北 石家莊 050043)
裂縫是服役期中路面結(jié)構(gòu)最常見的表面損傷之一,快速高效地識別裂縫病害是實現(xiàn)路面結(jié)構(gòu)損傷自動化分析的關(guān)鍵。由于裂縫區(qū)域具有明顯的邊界,CHO 等[1]提出利用5 種邊緣檢測子對輸入圖像進(jìn)行裂縫檢測,并對比評估了幾種邊緣檢測算子的檢測效果。由于邊緣檢測易受到不均勻光照干擾,OLⅠVEⅠRA 等[2]提出將輸入圖像分成多個不重疊分塊圖像,并通過圖像均值和方差特征計算、二分類識別等完成裂縫病害檢測。為了提高裂縫檢測性能,白彪[3]提出利用Hu 不變矩方法提取分塊圖像特征。張媛媛[4]通過計算分塊圖像的梯度直方圖特征,并通過訓(xùn)練SVM 分類器檢測識別裂縫病害。目前分塊圖像檢測與識別方法需要在良好的圖像特征與魯棒的模式分類方法同時作用下,才能取得良好的裂縫檢測效果。近年來,隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,基于深度學(xué)習(xí)的裂縫檢測方法開始被廣泛關(guān)注。ZHANG 等[5]利用4層CNN 卷積網(wǎng)絡(luò)提取圖像特征并進(jìn)行裂縫識別。高新聞等[6]通過DenseNet網(wǎng)絡(luò)模型提取分塊圖像特征并進(jìn)行分類識別。翁飄等[7]提出利用全卷積神經(jīng)網(wǎng)絡(luò)(FCN)構(gòu)建路面裂縫檢測模型。朱蘇雅等[8]提出將Unet 網(wǎng)絡(luò)應(yīng)用于裂縫病害檢測,可提升裂縫病害檢測精度。以上幾種基于深度學(xué)習(xí)的裂縫檢測方法取得了比傳統(tǒng)裂縫視覺檢測方法更好的檢測效果,但仍存在以下問題亟需解決:1) 復(fù)雜背景下路面裂縫與背景的區(qū)分度較低,裂縫檢測過程易受背景雜波干擾,致使檢測結(jié)果仍存在虛警;2) 在既有的深度神經(jīng)網(wǎng)絡(luò)中,傳統(tǒng)的采樣操作會導(dǎo)致細(xì)微裂縫信息丟失,致使裂縫檢測精度較低;3) 現(xiàn)有裂縫檢測方法對于不同尺度的裂縫檢測任務(wù),適用性較差,存在病害漏檢現(xiàn)象。綜上所述,為了實現(xiàn)復(fù)雜背景下的裂縫病害精準(zhǔn)檢測與識別,本文提出一種基于語義特征增強(qiáng)學(xué)習(xí)的裂縫病害檢測方法,即利用視覺注意力機(jī)制及空洞卷積方法提高對裂縫區(qū)域顯著性特征、細(xì)微裂縫特征和多尺度特征的學(xué)習(xí)能力。如圖1 所示,該方法以Unet++為主框架,重點解決既有裂縫檢測方法存在的虛警與漏檢問題。首先,在Unet++網(wǎng)絡(luò)的卷積過程中,差異性地應(yīng)用注意力計算機(jī)制,增強(qiáng)網(wǎng)絡(luò)對復(fù)雜路面中裂縫特征的感知能力,提高裂縫病害檢測精度;然后針對漏檢問題,在網(wǎng)絡(luò)的下采樣中引入空洞卷積操作,提高對細(xì)微裂縫特征的學(xué)習(xí)能力;同時在網(wǎng)絡(luò)的上采樣前,構(gòu)造空洞卷積金字塔池化層,增加對裂縫特征多尺度信息的感知能力,降低裂縫病害漏檢率。
圖1 裂縫檢測整體網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Overall network structure diagram of crack detection
Unet++網(wǎng)絡(luò)是ZHOU 等[9]于2018年在原Unet網(wǎng)絡(luò)的基礎(chǔ)上提出的語義分割模型。該網(wǎng)絡(luò)通過一系列嵌套、密集的跳躍連接路徑進(jìn)行特征融合(如圖2(b)所示),因而可有效地增強(qiáng)對淺層語義特征圖的學(xué)習(xí)能力??紤]在卷積神經(jīng)網(wǎng)絡(luò)中,淺層特征圖往往包含了目標(biāo)圖像的邊界、顏色等特征信息,而裂縫作為一種條狀病害,具有很強(qiáng)的邊界信息?;诖?,本文提出利用Unet++網(wǎng)絡(luò)構(gòu)建裂縫病害檢測的主體網(wǎng)絡(luò),充分利用其對裂縫線條邊界特征的敏感性,提高模型對裂縫病害的感知效果。
圖2 Unet與Unet++網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Unet and Unet++network structure diagram
圖(2(b))展示了Unet++網(wǎng)絡(luò)架構(gòu),假設(shè)卷積模塊Xi,j的輸出為yi,j,其計算過程可用式(1)表示
式(1)中:i為下采樣的次數(shù);j為密集跳躍連接到的第j個卷積模塊[10];X 為卷積模塊,用來提取圖像特征;u為雙線性插值上采樣模塊,即恢復(fù)圖像下采樣損失的分辨率;[·]為特征融合操作。在前期實驗中,將Unet++網(wǎng)絡(luò)直接應(yīng)用于裂縫病害檢測,發(fā)現(xiàn)其在部分裂縫圖像上取得了較好的檢測結(jié)果。但受到路面復(fù)雜背景雜波干擾,發(fā)現(xiàn)單一利用Unet++網(wǎng)絡(luò)在裂縫檢測中仍存在漏檢與虛警的現(xiàn)象。
神經(jīng)網(wǎng)絡(luò)中,注意力機(jī)制根據(jù)特征的重要性來給特征分配不同的權(quán)重[11]??紤]在Unet++網(wǎng)絡(luò)中,淺層特征與深層特征的特點不同,以圖2(b)中卷積模塊X1,0與X4,0的輸出為例。淺層卷積模塊X1,0的輸出特征分辨率為224×224,通道數(shù)為32。深層卷積模塊X4,0的輸出特征分辨率為28×28,通道數(shù)為256。由此可知,淺層特征分辨率大、空間信息較為豐富,深層特征分辨率較小、通道信息比較豐富。因此本文將空間注意力引入到Unet++的淺層網(wǎng)絡(luò)中,提高裂縫區(qū)域特征的權(quán)重;在Unet++深層網(wǎng)絡(luò)中應(yīng)用通道注意力,增加有用信息的通道權(quán)重,進(jìn)一步增加裂縫與背景特征的區(qū)分度,減少裂縫檢測虛警現(xiàn)象。
1.2.1 空間注意力機(jī)制
空間注意力模塊如圖3所示,首先對輸入的特征圖進(jìn)行最大池化操作,將特征通道數(shù)降維至1。同時對原特征圖進(jìn)行平均池化操作,同樣將特征的通道數(shù)降維至1。最后將平均池化的結(jié)果與最大池化的結(jié)果在通道維度上合并,進(jìn)行卷積操作得到空間區(qū)域的不同權(quán)重。將所得空間權(quán)重與原始的特征圖相乘,由此增強(qiáng)特征空間中有用的特征信息。該計算過程,如式(2)所示:
圖3 空間注意力機(jī)制結(jié)構(gòu)圖Fig.3 Structure diagram of spatial attention mechanism
式(2)中:F為輸入特征;Conv為卷積計算,max(F)為最大池化操作,mean(F)為平均池化操作。
1.2.2 通道注意力機(jī)制
通道注意力模塊如圖4所示,首先對輸入特征進(jìn)行全局池化,將原來通道的二維特征壓縮為一個實數(shù),獲得每個通道的初始權(quán)重。隨后進(jìn)一步通過全連接層與激活函數(shù)學(xué)習(xí)各個通道之間的關(guān)系,得到每個通道的不同權(quán)重,最后將通道權(quán)重與原輸入特征相乘得到通道特征增強(qiáng)的輸出結(jié)果。該過程如式(3)所示:
圖4 通道注意力機(jī)制結(jié)構(gòu)圖Fig.4 Channel attention mechanism structure diagram
式(3)中:F為輸入特征;gp為全局池化層;fc(·)為全連接層。
利用Unet++網(wǎng)絡(luò)進(jìn)行裂縫病害檢測時,雖然通過多層池化操作可獲得語義信息豐富的特征圖,減少了模型計算量,但同時也為裂縫病害檢測帶來了一定的弊端,即池化的過程中會丟失一些細(xì)微裂縫的特征信息,從而導(dǎo)致在上采樣過程中信息無法重建。基于此,本文在Unet++融入注意力機(jī)制的基礎(chǔ)上,應(yīng)用空洞卷積改進(jìn)網(wǎng)絡(luò)的訓(xùn)練過程:首先,應(yīng)用步長為2的空洞卷積代替?zhèn)鹘y(tǒng)的池化操作,通過網(wǎng)絡(luò)的自動學(xué)習(xí)剔除無關(guān)緊要的特征信息,減少有效信息的丟失。其次,利用空洞卷積金字塔池化操作,增加特征的尺度多樣性,保證不同尺度下的裂縫病害檢測工作。
空洞卷積是WANG 等[12]提出的新型卷積結(jié)構(gòu)??斩淳矸e通過控制超參數(shù)“擴(kuò)張率”—d進(jìn)行卷積運(yùn)算獲取圖像的特征。假定原來的卷積核大小為k,那么擴(kuò)張率為d的卷積核大小等效為n,如下式:
圖5 為不同擴(kuò)張率空洞卷積的感受野示意圖[13],其可以在不增加計算量的前提下有效增大對特征信息的提取,使得每次卷積輸出的特征圖都包含了大范圍的圖像信息。空洞卷積計算公式如式(5)所示[14],這里假定輸入的特征圖x,y[i]為輸出特征圖中第i個位置的值,k為卷積核中元素的位置,K為卷積核元素的數(shù)量,擴(kuò)張率為d,w[k]為卷積核中第k個位置的值。
圖5 感受野示意圖Fig.5 Schematic diagram of receptive field
空洞卷積金字塔池化是由多個不同擴(kuò)張率的空洞卷積并聯(lián)而成,如圖6 所示[15]。由于裂縫病害在圖像中可能有不同的尺寸,空洞卷積金字塔池化可提取多個尺度的裂縫病害特征,提高檢測的準(zhǔn)確率??斩淳矸e金字塔池化過程如式(6)所示:
圖6 ASPP結(jié)構(gòu)圖Fig.6 ASPP structure diagram
其中:x為輸入的特征圖;y1,y2,y3,y4為空洞卷積的結(jié)果;gp為全局池化操作;[·]為特征融合操作;Conv為卷積操作。
圖7 展示了本文提出的裂縫病害檢測算法整體框架:整個網(wǎng)絡(luò)前2層的卷積模塊中加入空間注意力機(jī)制,可從圖像全局范圍內(nèi)提高裂縫區(qū)域特征的計算權(quán)重;整個網(wǎng)絡(luò)后3層的卷積模塊中加入通道注意力機(jī)制,提高特征通道中對存在裂縫信息通道的計算權(quán)重值,實現(xiàn)局部范圍內(nèi)關(guān)鍵特征的增強(qiáng);整個網(wǎng)絡(luò)在下采樣過程中引入空洞卷積計算,可避免細(xì)微裂縫特征信息的丟失;在淺層特征初次上采樣前,構(gòu)建空洞卷積金字塔池化操作,可獲取裂縫區(qū)域多尺度的特征信息,提高對裂縫病害的檢測效果。
圖7 本文網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.7 Network structure diagram of this article
為了驗證本文提出的網(wǎng)絡(luò)模型對裂縫病害檢測的有效性,收集并整合了大量的裂縫病害數(shù)據(jù)集進(jìn)行實驗。本文中使用的數(shù)據(jù)集共有11 200 張原始圖像,以及人工標(biāo)注真值圖,每張圖像的分辨率均為448×448。在上述11 200 張圖片中隨機(jī)選擇了10 000 張不同的原始圖片用于這些裂縫檢測網(wǎng)絡(luò)的訓(xùn)練和交叉驗證,剩余的1 200 張圖像作為測試集用來驗證網(wǎng)絡(luò)性能。
為了進(jìn)一步評價該方法的性能,本文采用4種深度網(wǎng)絡(luò)進(jìn)行對比實驗,分別為FCN,Unet++,融合注意力機(jī)制的Unet++(Attention Unet++)和具有空洞卷積金字塔池化的Unet++(ASPP Unet++)。所有對比的方法都是在同一個計算平臺(i9-9900K GeForce 1080 Ti,64GB RAM,Ubuntu 系統(tǒng))上實現(xiàn)的。本文算法與其他對比算法均采用正態(tài)分布對卷積層權(quán)重進(jìn)行初始化,并采用隨機(jī)梯度下降SGD 優(yōu)化器更新網(wǎng)絡(luò)模型參數(shù),動量和權(quán)重衰減系數(shù)均被設(shè)定為0.9 和0.000 1,批量處理的大小設(shè)定為2,迭代次數(shù)為200,損失函數(shù)為Dice 損失函數(shù),如公式(7)所示,其中X為預(yù)測的結(jié)果圖,Y為真值圖。
每種算法分別用6種學(xué)習(xí)率0.000 01,0.000 1,0.001,0.01,0.1,1 迭代訓(xùn)練20 次,統(tǒng)計迭代完成后的損失值,由此確定最優(yōu)學(xué)習(xí)率參數(shù)。圖8為所有算法在不同學(xué)習(xí)率下訓(xùn)練時所對應(yīng)的損失值情況,可看出FCN,Unet++ 與ASPP Unet++網(wǎng)絡(luò)在學(xué)習(xí)率為0.01 時收斂最快,而本文網(wǎng)絡(luò)與Attention Unet++網(wǎng)絡(luò)在學(xué)習(xí)率為0.001 時收斂最快。
圖8 不同學(xué)習(xí)率對應(yīng)的損失值曲線Fig.8 Curves of loss corresponding to different learning rates
圖9 展示了所有對比算法在訓(xùn)練過程中l(wèi)oss 值的變化過程。在訓(xùn)練初期,各個網(wǎng)絡(luò)的loss值衰減均比較大;相比于FCN 網(wǎng)絡(luò),基于Unet++框架的4 種裂縫檢測網(wǎng)絡(luò)在初始階段的訓(xùn)練更為高效。而在分別引入注意力計算模塊和空洞卷積計算模塊后,2種改進(jìn)的Unet++網(wǎng)絡(luò)在訓(xùn)練效率上取得了小幅度的提升。其中,ASPP Unet++網(wǎng)絡(luò)在迭代訓(xùn)練40次后loss值衰減出現(xiàn)了小幅度的振蕩,這可能與不同尺度的裂縫特征在空洞卷積操作下的敏感程度不同有關(guān)。相比而言,引入注意力計算模塊后,Attention Unet++網(wǎng)絡(luò)模型取得了較為平穩(wěn)的loss值衰減過程。與其他幾種網(wǎng)絡(luò)模型相比,本文方法在同時引入注意力計算和空洞卷積計算2 個模塊后,整個網(wǎng)絡(luò)在訓(xùn)練效率與收斂效果上均取得了最優(yōu)效果。
圖9 訓(xùn)練損失值變化曲線Fig.9 Training loss value change curves
2.3.1 定性分析
圖10展示了部分典型場景下的裂縫檢測效果,每個測試圖像的真值圖均顯示在圖9 的最后一行。從第2 行向下分別為FCN 網(wǎng)絡(luò)、Unet++網(wǎng)絡(luò)、ASPP Unet++網(wǎng)絡(luò)以及Attention Unet++網(wǎng)絡(luò)的檢測結(jié)果。
圖10 部分裂縫病害檢測結(jié)果Fig.10 Part of the results of crack detection
此外,由于FCN 算法采用直接相加的特征融合方式,導(dǎo)致背景噪聲的特征摻雜其中,使得網(wǎng)絡(luò)無法有效地檢測目標(biāo)邊緣(見4 號檢測結(jié)果)。Unet++網(wǎng)絡(luò)通過將不同的語義特征融合在一起,取得了比FCN 網(wǎng)絡(luò)更精細(xì)的裂縫檢測結(jié)果,但部分細(xì)微裂縫檢測仍存在漏檢現(xiàn)象(見4號檢測結(jié)果)。雖然Unet++網(wǎng)絡(luò)通過密集特征融合方式抑制了部分背景噪聲,但當(dāng)背景內(nèi)容過于復(fù)雜時仍然會出現(xiàn)大量的虛警現(xiàn)象(見5 號和6 號檢測結(jié)果)。ASPP Unet++網(wǎng)絡(luò)通過在Unet++的基礎(chǔ)上加入空洞卷積金字塔池化,增強(qiáng)了裂縫特征的尺度信息,進(jìn)而提高不同尺度下裂縫檢測的適應(yīng)性,可減少一定的漏檢現(xiàn)象(見7 號和8 號檢測結(jié)果)。然而該網(wǎng)絡(luò)在復(fù)雜背景干擾下的裂縫檢測結(jié)果不理想(見6 號檢測結(jié)果)。Attention Unet++網(wǎng)絡(luò)模型差異性地應(yīng)用注意力機(jī)制抑制背景噪聲,取得了較好的檢測結(jié)果(見3 號和5 號檢測結(jié)果),但從其他檢測結(jié)果來看,該模型很難適應(yīng)多尺度的裂縫檢測任務(wù),檢測結(jié)果出現(xiàn)了裂縫漏檢現(xiàn)象(見6 號和8 號檢測結(jié)果)。
2.3.2 定量分析
本文使用以下3個評價指標(biāo)評價各個模型的性能,準(zhǔn)確率(A),精準(zhǔn)率(P)以及召回率(R),其定義如表1所示。
表1 裂縫檢測結(jié)果的定量對比Table 1 Quantitative comparison of crack detection results
通過表1中統(tǒng)計數(shù)據(jù)可知,F(xiàn)CN網(wǎng)絡(luò)檢測結(jié)果的準(zhǔn)確率A大于其精確率P和召回率R,其原因可能是裂縫病害區(qū)域在圖像中占比較小;雖然會發(fā)生一定程度的裂縫漏檢,但大部分背景內(nèi)容仍被良好識別,導(dǎo)致算法的準(zhǔn)確率A偏高一些。Unet++網(wǎng)絡(luò)憑借其密集的特征融合方式取得了比FCN 網(wǎng)絡(luò)更好的效果,3 項性能指標(biāo)數(shù)值均有所提升;然而該網(wǎng)絡(luò)抑制背景噪聲的能力較弱,導(dǎo)致對背景復(fù)雜的裂縫和細(xì)微裂縫的檢測效果不理想(P和R較小)。ASPP Unet++網(wǎng)絡(luò)在Unet++網(wǎng)絡(luò)基礎(chǔ)上通過增強(qiáng)學(xué)習(xí)裂縫特征的尺度信息,使得檢測結(jié)果的召回率R得到大幅提升(大于80%),但該網(wǎng)絡(luò)沒有解決背景雜波干擾的問題,使得檢測結(jié)果仍存在虛警,精確率A提升不多。Attention Unet++網(wǎng)絡(luò)通過融入注意力機(jī)制在精確率方面取得了更好的表現(xiàn),精準(zhǔn)率P得到提升;但由于其無法處理多尺度的裂縫病害檢測問題,導(dǎo)致其召回率R不高。與其他幾種算法相比,本文所提出的裂縫檢測模型不僅利用注意力機(jī)制抑制背景雜波,還通過空洞卷積操作增強(qiáng)對多尺度特征的感知能力,因此在所有的對比算法中,取得了最優(yōu)的檢測性能指標(biāo)。
1) 模型以Unet++為主體框架,可通過密集的特征融合層,提高裂縫病害檢測的精準(zhǔn)度。
2) 在保證已有檢測精度的基礎(chǔ)上,為了抑制背景雜波的干擾,在Unet++特征提取的過程中差異性地引用注意力計算機(jī)制,提高模型對含有裂縫信息特征的感知能力,減少虛警現(xiàn)象。
3) 為了避免細(xì)微裂縫信息的丟失,利用空洞卷積改變網(wǎng)絡(luò)下采樣,進(jìn)一步提高檢測精度;此外,為了適用不同拍攝距離下的裂縫檢測,應(yīng)用空洞卷積金字塔池化增加裂縫特征的尺度多樣性,降低裂縫漏檢率。