常 惠,饒志強(qiáng),趙玉林,李益晨
1.北京聯(lián)合大學(xué) 北京市信息服務(wù)工程重點(diǎn)實(shí)驗(yàn)室,北京100101 2.北京聯(lián)合大學(xué) 城市軌道交通與物流學(xué)院,北京100101
裂縫是鐵路隧道施工和使用過程中不可避免的問題,對(duì)隧道的結(jié)構(gòu)穩(wěn)定和列車的安全運(yùn)行有著重要的影響。目前,國(guó)內(nèi)鐵路隧道裂縫的檢測(cè)主要依靠人工檢測(cè),難以滿足鐵路安全檢測(cè)快速發(fā)展的要求。利用數(shù)字圖像處理和計(jì)算機(jī)視覺技術(shù)來檢測(cè)裂縫逐漸成為主流方法,常用的方法如Gabor濾波[1]、隨機(jī)森林[2]、稀疏表示方法[3]、支持向量機(jī)(Support Vector Machine,SVM)[4-5]等,但是隧道圖像存在水漬、劃痕、光照不均勻、噪聲大等復(fù)雜情況,影響傳統(tǒng)圖像處理方法的發(fā)展,因此應(yīng)該采取更有效的方法及時(shí)檢測(cè)隧道裂縫。
近年來,深度學(xué)習(xí)在結(jié)構(gòu)健康監(jiān)測(cè)領(lǐng)域得到了很大的應(yīng)用,裂縫檢測(cè)也不例外。文獻(xiàn)[6]和文獻(xiàn)[7]利用深度神經(jīng)網(wǎng)絡(luò)檢測(cè)隧道裂縫,檢測(cè)精度和速度都得到了有效提高。文獻(xiàn)[8]在U-Net 網(wǎng)絡(luò)結(jié)構(gòu)上引入了一種基于距離變換的新代價(jià)函數(shù)對(duì)裂縫進(jìn)行像素級(jí)的分割。文獻(xiàn)[9]采用改進(jìn)的U-Net網(wǎng)絡(luò)實(shí)現(xiàn)了像素級(jí)、小樣本的橋梁裂縫圖像的檢測(cè)。文獻(xiàn)[10]在U-Net網(wǎng)絡(luò)體系結(jié)構(gòu)上對(duì)裂縫進(jìn)行分割,利用預(yù)訓(xùn)練的ResNet34 作為預(yù)編碼器來改進(jìn)網(wǎng)絡(luò)的性能。文獻(xiàn)[11]在U-Net的基礎(chǔ)上使用預(yù)訓(xùn)練的ResNet34 作為編碼器,并添加注意力機(jī)制模塊進(jìn)一步提高了混凝土裂縫檢測(cè)的精度。文獻(xiàn)[12]采用U-Net 方法檢測(cè)混凝土裂縫,與全卷積網(wǎng)絡(luò)(Fully Convolutional Networks,F(xiàn)CN)相比,該方法顯示出高效率、良好的魯棒性和更好的準(zhǔn)確性,但目前方法仍存在邊緣平滑、細(xì)節(jié)丟失和誤檢的問題。文獻(xiàn)[13]提出VGGU-Net網(wǎng)絡(luò)的路面分割方法,將已訓(xùn)練好的VGG16遷移到經(jīng)典的U-Net 網(wǎng)絡(luò)中,在裂縫數(shù)據(jù)集上實(shí)現(xiàn)了優(yōu)于FCN、Crack-FCN和經(jīng)典U-Net模型的性能。文獻(xiàn)[14]提出了一種以VGGNet 作為骨干網(wǎng)絡(luò)的端到端的裂縫檢測(cè)方法,提出的編碼器和解碼器框架不僅可以提高檢測(cè)精度,還可以通過反向?qū)W習(xí)進(jìn)行語義分析,以捕獲裂縫的上下文信息,但是由于網(wǎng)絡(luò)比較深,效率相對(duì)不高。文獻(xiàn)[15]利用基于SegNet的分割方法,通過對(duì)視頻中多個(gè)重疊幀的裂縫概率進(jìn)行聚合來檢測(cè)裂縫。文獻(xiàn)[16]提出了一種改進(jìn)的深度全卷積網(wǎng)絡(luò)CrackSegNet,從復(fù)雜場(chǎng)景中提取隧道裂縫,有效地消除其他干擾的影響,并執(zhí)行端到端的裂縫分割,提高了模型的魯棒性,但該方法的計(jì)算效率略低于U-Net。
目前大多數(shù)裂縫分割都是在U-Net 網(wǎng)絡(luò)結(jié)構(gòu)上進(jìn)行改進(jìn),雖然該網(wǎng)絡(luò)對(duì)裂縫分割具有很好的效果,并且適合于小數(shù)據(jù)集的情況,但不能很好地恢復(fù)經(jīng)過池化層之后的圖像細(xì)節(jié)結(jié)構(gòu)信息,易造成細(xì)小裂縫漏檢的現(xiàn)象。針對(duì)U-Net 網(wǎng)絡(luò)在裂縫圖像分割時(shí)存在的問題以及隧道裂縫圖像的特點(diǎn),可對(duì)基礎(chǔ)的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)一步改進(jìn),主要改進(jìn)方面為:首先將殘差模塊添加到U-Net 網(wǎng)絡(luò)中,并且將批量歸一化層(Batch Normalization,BN)添加到網(wǎng)絡(luò)中,加快訓(xùn)練速度并防止過度擬合;其次引入SE 模塊來提升重要特征,加強(qiáng)對(duì)裂縫特征的權(quán)重分配;最后設(shè)計(jì)交叉熵?fù)p失和Dice損失相結(jié)合的組合損失函數(shù)來解決裂縫分割網(wǎng)絡(luò)訓(xùn)練過程中像素樣本不均衡的問題,進(jìn)一步獲得更加精細(xì)的分割結(jié)果,從而更好地實(shí)現(xiàn)復(fù)雜背景下隧道裂縫的分割。
U-Net 是全卷積神經(jīng)網(wǎng)絡(luò)的一種變形,主要有編碼器(Encoder)、解碼器(Decoder)和跳躍連接(Skip Connection)[12]。Encoder 用于從圖像中提取空間特征,卷積塊有兩個(gè)3×3卷積操作,然后是最大池操作。在每次下采樣之后,卷積中的濾波器數(shù)量將增加一倍,最后兩個(gè)3×3卷積運(yùn)算將編碼器連接到解碼器。Decoder用于根據(jù)Encoder 特征構(gòu)造分割圖,并使用2×2 轉(zhuǎn)置的卷積運(yùn)算對(duì)特征圖進(jìn)行上采樣,同時(shí)將特征通道縮小為一半,然后再次執(zhí)行兩個(gè)3×3 卷積運(yùn)算的序列,最后再執(zhí)行1×1卷積運(yùn)算以生成最終的分割圖。Skip Connection將輸出從Encoder傳輸?shù)紻ecoder,這些特征圖與上采樣操作的輸出串聯(lián)在一起,并將級(jí)聯(lián)特征圖傳播到后續(xù)圖層,以盡可能保留更多細(xì)節(jié),提高最終分割結(jié)果的分辨率和邊緣準(zhǔn)確率。U-Net在醫(yī)學(xué)分割領(lǐng)域應(yīng)用廣泛,并取得了很好的效果,而裂縫圖像分割屬于二值分割,與醫(yī)學(xué)圖像分割相似,因此本文使用U-Net作為裂縫分割模型的基礎(chǔ)網(wǎng)絡(luò),U-Net網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 U-Net網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 U-Net network structure
為了從隧道裂縫圖像中提取出更多細(xì)節(jié)信息,緩解復(fù)雜背景下低對(duì)比度區(qū)域及細(xì)小裂縫欠分割的問題,可引入殘差模塊代替?zhèn)鹘y(tǒng)的卷積層。殘差模塊的引入是為了防止后續(xù)隨著神經(jīng)網(wǎng)絡(luò)的加深使得在利用小批量隨機(jī)梯度下降法訓(xùn)練網(wǎng)絡(luò)時(shí)產(chǎn)生梯度消失,導(dǎo)致網(wǎng)絡(luò)模型訓(xùn)練無法收斂的問題。其中,殘差塊定義為:
其中,x為輸入;y為輸出;F(x)是待學(xué)習(xí)的殘差映射函數(shù)。
傳統(tǒng)殘差模塊由兩個(gè)卷積層和ReLU 激活函數(shù)組成,為提高網(wǎng)絡(luò)的泛化能力,本文對(duì)殘差模塊進(jìn)行了優(yōu)化,在每個(gè)卷積層之前加入BN 層和ReLU 激活函數(shù)。優(yōu)化后的殘差模塊結(jié)構(gòu)如圖2所示。
圖2 優(yōu)化后的殘差模塊Fig.2 Optimized residual module
雖然殘差模塊強(qiáng)化了特征的傳播能力,有效地提取出更多裂縫細(xì)節(jié)信息,但復(fù)雜背景下低層特征中缺少語義信息,亮度不均衡,對(duì)比度較低,仍會(huì)對(duì)隧道裂縫的分割造成干擾。通過引入注意力機(jī)制SE模塊[17]來捕獲高級(jí)語義信息,根據(jù)特征圖像的值對(duì)各特征通道進(jìn)行加權(quán),提升重要特征的權(quán)重,降低不重要特征的權(quán)重,從而提升特征提取的效果,提高模型的分割精度。SE 結(jié)構(gòu)示意圖如圖3所示。
在圖3中,對(duì)于任何給定的將輸入特征X映射到特征圖U的變換,比如卷積,可以構(gòu)造一個(gè)相應(yīng)的SE 塊來進(jìn)行特征重新校準(zhǔn)。首先特征X經(jīng)過Ftr卷積將其通道數(shù)由C′變?yōu)镃,將特征圖U傳遞給擠壓(Squeeze)操作,該操作通過在空間維度(H×W)上聚合特征圖來生成通道描述符,允許來自全局接收域的信息被網(wǎng)絡(luò)的各個(gè)層所使用。聚合之后的激勵(lì)(Excitation)操作采用自選通機(jī)制將嵌入作為輸入來生成每通道調(diào)制權(quán)重的集合,并將這些權(quán)重應(yīng)用于特征圖U,就形成了SE 模塊的輸出,可以將其直接饋送到網(wǎng)絡(luò)的后續(xù)層中[17]。通道注意力機(jī)制SE模塊相較于其他注意力機(jī)制實(shí)現(xiàn)起來比較簡(jiǎn)單,可以很容易加載到現(xiàn)有的網(wǎng)絡(luò)模型框架中,易于集成。隧道裂縫圖像背景復(fù)雜,利用該模塊為輸入特征圖各特征通道賦予權(quán)重,增強(qiáng)任務(wù)相關(guān)像素權(quán)重,可以弱化背景和噪聲影響,從而獲得更精確的語義信息,通過引入極少參數(shù)可明顯提升模型的分割精度,不會(huì)加大模型的計(jì)算復(fù)雜度。
圖3 SE結(jié)構(gòu)示意圖Fig.3 SE structure diagram
為了更好地使用U-Net對(duì)隧道裂縫圖像進(jìn)行分割,鑒于殘差網(wǎng)絡(luò)和SE 模塊的優(yōu)點(diǎn),設(shè)計(jì)出一種改進(jìn)的隧道裂縫分割網(wǎng)絡(luò)SE-RU-Net(Squeeze and Excitation Residual Network U-Net)模型,網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示。
圖4 SE-RU-Net網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 SE-RU-Net network structure
編碼器的每個(gè)網(wǎng)絡(luò)層由兩個(gè)殘差模塊組成,每個(gè)網(wǎng)絡(luò)層之間通過步長(zhǎng)為2,卷積核為2×2 的最大池化卷積方式進(jìn)行連接,共有8個(gè)殘差模塊,每個(gè)殘差模塊由2個(gè)3×3卷積層及快捷連接構(gòu)成,通過下采樣從上下文中提取高像素特征。解碼器的每個(gè)網(wǎng)絡(luò)層由一個(gè)殘差模塊構(gòu)成,每個(gè)網(wǎng)絡(luò)層通過步長(zhǎng)為2的3×3轉(zhuǎn)置卷積進(jìn)行層與層之間的連接,共有4個(gè)殘差模塊,每個(gè)殘差模塊由2個(gè)3×3卷積層組成,然后返回到像素的分類。編碼和解碼部分通過殘差模塊使得模型融合更多的淺層特征。該模型從圖像數(shù)據(jù)中提取局部特征,殘差模塊的快捷連接操作將輸入的全局信息與局部特征進(jìn)行融合,使得模型能夠獲得更豐富全面的特征,同時(shí)網(wǎng)絡(luò)不易退化。
為了獲得更輕的網(wǎng)絡(luò)模型,本文算法在每一層中使用了比U-Net更少的卷積核數(shù),并在每個(gè)卷積層后加入BN 層和ReLU 激活函數(shù)用于防止過擬合現(xiàn)象的發(fā)生。為了滿足分割任務(wù)中多層次特征學(xué)習(xí)的需求,在U-Net結(jié)構(gòu)前面的跳躍連接部分添加注意力機(jī)制SE模塊來學(xué)習(xí)編碼器多尺度的特征,獲取每個(gè)特征通道的重要程度,按照每個(gè)特征通道的重要程度來提升有用特征,將特征提取的權(quán)重分布到收縮路徑的所有階段,解決UNet在圖像特征提取過程中依賴固定權(quán)重的問題。
本文使用Python 編程語言在Ubuntu 16.04 操作系統(tǒng)上進(jìn)行相關(guān)實(shí)驗(yàn),實(shí)驗(yàn)基于PyTorch的深度學(xué)習(xí)框架,硬件平臺(tái)為Intel I7-9750H、Nvidia GTX1660Ti、16 GB內(nèi)存。
鐵路隧道裂縫圖像的語義分割問題是二分類問題,可采用二分類的交叉熵(Binary cross entropy,Bce)損失函數(shù),定義如下:
其中,N為圖像像素?cái)?shù)目;yi為第i個(gè)像素點(diǎn)的標(biāo)簽值;pi為第i個(gè)像素點(diǎn)的預(yù)測(cè)概率值。
由于裂縫像素?cái)?shù)量占被檢測(cè)的隧道圖片的比例很低,Bce 損失造成網(wǎng)絡(luò)裂縫類別的學(xué)習(xí)和識(shí)別被抑制,網(wǎng)絡(luò)更傾向預(yù)測(cè)為背景。相比于Bce損失來說,Dice損失可以很好地解決這種正負(fù)樣本不均衡的問題,它的本質(zhì)是評(píng)估兩個(gè)輪廓區(qū)域的相似程度,表達(dá)式如下:
其中,yi為第i個(gè)像素點(diǎn)的標(biāo)簽值;pi為第i個(gè)像素點(diǎn)的預(yù)測(cè)概率值;ε根據(jù)實(shí)驗(yàn)設(shè)置,是為了減少過擬合,更快收斂。當(dāng)yi和pi過小時(shí),會(huì)導(dǎo)致梯度發(fā)生很大變化,使得訓(xùn)練出現(xiàn)大的波動(dòng),造成訓(xùn)練相對(duì)困難。
將Bce 損失函數(shù)和Dice 損失函數(shù)進(jìn)行結(jié)合可以很好地適應(yīng)于裂縫分割模型,并且發(fā)揮很好的效果[18],兩者組成的組合損失函數(shù)在關(guān)注像素級(jí)別的同時(shí)也能關(guān)注圖像級(jí)別的顯著性,使得模型訓(xùn)練穩(wěn)定且能有效處理裂縫像素正負(fù)樣本不平衡的問題,如式(4)所示:
其中,L總為總損失;LBce為二分類交叉熵?fù)p失;LDice為Dice損失;λ為平衡Bce損失函數(shù)和Dice損失函數(shù)之間重要性的權(quán)重系數(shù)。
為了定量評(píng)估隧道裂縫分割的性能,采用以下幾個(gè)指標(biāo)進(jìn)行準(zhǔn)確性評(píng)估,包括像素準(zhǔn)確性(PA)、交并比(IoU)、精準(zhǔn)率(Precision)、召回率(Recall)和F1 得分(F1-score)。比較分割結(jié)果時(shí),考慮以下四個(gè)像素評(píng)價(jià)類別,如表1所示。
表1 像素評(píng)價(jià)類別Table 1 Pixel evaluation category
(1)像素準(zhǔn)確性
(2)交并比
(3)精準(zhǔn)率即查準(zhǔn)率,突出顯示誤檢的比例
(4)召回率即查全率,突出顯示漏檢的比例
(5)F1得分
F1-Score 綜合考慮了精準(zhǔn)率與召回率,F(xiàn)1-Score 值越大代表模型性能越好。
為驗(yàn)證本文算法的有效性,在公共隧道裂縫數(shù)據(jù)集CrackSegNet[16]和自制數(shù)據(jù)集Tunnel Crack 上進(jìn)行了實(shí)驗(yàn),以4∶1 的比例將其分為訓(xùn)練集和測(cè)試集,并在同一運(yùn)行環(huán)境下使用不同的分割模型進(jìn)行對(duì)比分析。在組合損失函數(shù)的設(shè)計(jì)中,通過調(diào)參來確定合適的λ取值。實(shí)驗(yàn)結(jié)果顯示將λ設(shè)置為0.2 時(shí),模型的分割效果最好。這是由于模型的主要任務(wù)是分割,分類任務(wù)只是分割的輔助任務(wù),二分類的交叉熵?fù)p失函數(shù)權(quán)重過大仍會(huì)讓模型傾向于預(yù)測(cè)裂縫背景,影響分割的性能。模型使用Adam 優(yōu)化器進(jìn)行優(yōu)化,初始學(xué)習(xí)率設(shè)定為0.001,批量大小設(shè)定為16,迭代次數(shù)200次。
CrackSegNet[16]是帶注釋的隧道裂縫圖像數(shù)據(jù)集,共有919張裂縫圖像及其對(duì)應(yīng)的Ground truth,文獻(xiàn)[16]中采用CrackSegNet網(wǎng)絡(luò)對(duì)該數(shù)據(jù)集的裂縫圖像進(jìn)行分割。該網(wǎng)絡(luò)由編解碼器、空洞卷積、空間金字塔池化和跳躍連接模塊組成,這些模塊可用于高效的多尺度特征提取,既保留了U-Net、FCN和PSPNet的優(yōu)點(diǎn),又根據(jù)隧道裂縫數(shù)據(jù)集的特點(diǎn)進(jìn)行了改進(jìn),使其魯棒性更強(qiáng)。利用U-Net、CrackSegNet 和本文方法對(duì)CrackSegNet 數(shù)據(jù)集進(jìn)行裂縫識(shí)別,不同模型在隧道裂縫分割中的結(jié)果對(duì)比如表2所示。
從表2 中不同模型在隧道裂縫分割中的結(jié)果對(duì)比可以看出,本文方法的PA、IoU、Precision、Recall 和F1-Score 明顯更高,F(xiàn)1 得分和IoU 分別達(dá)到了76.36%和61.76%,比基礎(chǔ)的U-Net 網(wǎng)絡(luò)分別提高了13.27 個(gè)百分點(diǎn)和14.12 個(gè)百分點(diǎn),并且也加快了計(jì)算效率,相比文獻(xiàn)[16]的CrackSegNet 方法來說也具有一定的先進(jìn)性,不僅提高了分割的查準(zhǔn)率和查全率,同時(shí)也提高了模型運(yùn)行的速度。為更加直觀地驗(yàn)證網(wǎng)絡(luò)的性能,利用三種算法在CrackSegNet 數(shù)據(jù)集上進(jìn)行測(cè)試,定性比較結(jié)果如圖5所示。
表2 不同模型在隧道裂縫分割中的結(jié)果對(duì)比Table 2 Comparison of results of different models in tunnel crack segmentation
在圖5 中,紅色矩形框表示裂縫像素漏檢的情況,綠色矩形框表示裂縫像素誤檢的情況,U-Net網(wǎng)絡(luò)對(duì)細(xì)小的裂縫不能進(jìn)行很好的分割,有較多的孤立散點(diǎn),CrackSegNet 的分割效果較好,但是在背景下的障礙物影響算法的檢測(cè)結(jié)果,分割的細(xì)節(jié)需加強(qiáng),分割出的裂縫邊界不夠細(xì)膩。相較于其他方法,本文方法分割的裂縫邊界較為明顯,可以獲得與分割標(biāo)簽相似的分割結(jié)果,對(duì)細(xì)小的裂縫能夠進(jìn)行很好的分割,漏檢的情況相對(duì)比較少,對(duì)應(yīng)的召回率也就有所提升,這為鐵路隧道裂縫圖像的分割提供了新思路。
圖5 CrackSegNet數(shù)據(jù)集定性比較結(jié)果Fig.5 Qualitative comparison results of CrackSegNet dataset
通過實(shí)際采集和網(wǎng)絡(luò)爬蟲的方式來獲取鐵路隧道裂縫圖像樣本數(shù)據(jù)。將收集的圖片嚴(yán)格挑選,把沒有裂縫的隧道裂縫圖像剔除。使用Labelme 軟件對(duì)數(shù)據(jù)集中的圖片進(jìn)行人工標(biāo)注,裂紋像素標(biāo)記為0,背景像素標(biāo)記為1。允許以二進(jìn)制格式存儲(chǔ)不同環(huán)境條件下的圖像信息,圖片統(tǒng)一輸入尺寸為512×512,從而有助于多批同時(shí)進(jìn)行網(wǎng)絡(luò)輸入的訓(xùn)練,并加入水平翻轉(zhuǎn)、小角度旋轉(zhuǎn)來擴(kuò)充數(shù)據(jù)集。
3.2.1 不同損失函數(shù)的結(jié)果對(duì)比
為驗(yàn)證組合損失函數(shù)的性能,選取三種不同損失函數(shù)在SE-RU-Net網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)比較,圖6為不同損失函數(shù)的結(jié)果對(duì)比。
從圖6 中可以看出,應(yīng)用Bce 損失函數(shù)的Recall 值相對(duì)較小,這是由于交叉熵?fù)p失函數(shù)使得神經(jīng)網(wǎng)絡(luò)更傾向于識(shí)別多樣本的類別而忽視少樣本的類別造成的,即使像素準(zhǔn)確率很高,召回率也會(huì)偏低。Dice損失的召回率相對(duì)較高,但是精準(zhǔn)率并不是很高,使得模型不能很好地查準(zhǔn)隧道內(nèi)的裂縫。利用組合損失函數(shù)讓模型訓(xùn)練更加穩(wěn)定的同時(shí)還能解決像素類別不平衡的問題,提高了模型的召回率,并且F1得分比利用Bce損失函數(shù)和Dice損失函數(shù)的模型分別高出9.25個(gè)百分點(diǎn)和13.03個(gè)百分點(diǎn),但是精準(zhǔn)率比利用交叉熵?fù)p失函數(shù)的模型降低了0.66個(gè)百分點(diǎn)。從工程應(yīng)用的角度來看,模型必須能最大程度有效地檢測(cè)出所有的裂縫。因此,在隧道檢測(cè)過程中,提高裂縫分割的召回率就顯得尤為重要,甚至要犧牲檢測(cè)的精度。根據(jù)實(shí)際需求,組合損失函數(shù)可以發(fā)揮更大的優(yōu)勢(shì)。
圖6 不同損失函數(shù)的結(jié)果對(duì)比Fig.6 Comparison of results of different loss functions
3.2.2 消融實(shí)驗(yàn)
為了說明本文多種改進(jìn)策略可以有效提高算法的分割性能,通過消融實(shí)驗(yàn)來驗(yàn)證加入殘差模塊和SE 模塊的先進(jìn)性,其中每種網(wǎng)絡(luò)模型都采用組合損失函數(shù)。不同改進(jìn)模塊的分割算法比較如表3所示。
表3編程計(jì)算出了多種改進(jìn)策略的分割算法結(jié)果,經(jīng)比較得出添加殘差模塊的RU-Net網(wǎng)絡(luò)避免了深層網(wǎng)絡(luò)的退化問題,整體裂縫區(qū)域分割效果優(yōu)于U-Net,精準(zhǔn)率相比未改進(jìn)的基準(zhǔn)U-Net網(wǎng)絡(luò)提高了5.09個(gè)百分點(diǎn),IoU 和F1 得分也得到了很大的提升,運(yùn)行時(shí)間約為65 ms,說明加入殘差網(wǎng)絡(luò)的U-Net 可以提取出更多的裂縫細(xì)節(jié)信息,并能提高計(jì)算效率;只在基準(zhǔn)的U-Net網(wǎng)絡(luò)中添加SE模塊,加強(qiáng)了對(duì)裂縫邊緣、圖案和形狀等特征的權(quán)重分配,網(wǎng)絡(luò)性能也得到了改善。SE-RU-Net的IoU為60.59%,F(xiàn)1得分為75.46%,在各個(gè)指標(biāo)上都很大程度地超過了U-Net,說明使用殘差網(wǎng)絡(luò)和SE模塊改進(jìn)的網(wǎng)絡(luò)模型緩解了復(fù)雜背景下低對(duì)比度區(qū)域及細(xì)小裂縫漏檢和誤檢的問題,每張圖片的計(jì)算效率得到了很大的提升,網(wǎng)絡(luò)的泛化能力也比較好。
表3 不同改進(jìn)模塊的分割算法比較Table 3 Comparison of segmentation algorithms of different improved modules
3.2.3 不同網(wǎng)絡(luò)模型的結(jié)果對(duì)比
為體現(xiàn)模型及算法的先進(jìn)性和魯棒性,在自制的數(shù)據(jù)集上復(fù)現(xiàn)U-Net 和CrackSegNet 算法,并與本文算法進(jìn)行對(duì)比,使用相同的實(shí)驗(yàn)參數(shù)分別訓(xùn)練不同的網(wǎng)絡(luò),確保對(duì)比結(jié)果的可信度,定性和定量地來驗(yàn)證改進(jìn)模型的性能。不同方法的像素準(zhǔn)確率和訓(xùn)練損失的變化曲線對(duì)比如圖7和圖8所示。
圖7 準(zhǔn)確率曲線Fig.7 Accuracy curve
圖8 損失函數(shù)曲線Fig.8 Loss function curve
從圖7 和圖8 中可看出,每個(gè)模型在訓(xùn)練初始階段的像素準(zhǔn)確率PA 指標(biāo)就很高,這是由于裂縫圖像中裂縫所占的像素比很小,即便模型將整張圖全部判定為裂縫圖片的背景,像素準(zhǔn)確率仍然能獲得比較高的值,在第70 個(gè)Epoch 時(shí)均獲得較高增長(zhǎng),隨后緩慢增長(zhǎng),三者的增長(zhǎng)趨勢(shì)較為一致。本文所提方法的收斂情況優(yōu)于U-Net 和CrackSegNet,并且像素準(zhǔn)確率也是最高的,相較于其他方法,該網(wǎng)絡(luò)性能得到了較大的改善,加入殘差塊和SE 模塊的U-Net 加快了網(wǎng)絡(luò)的收斂速度,提高了網(wǎng)絡(luò)的分割性能。同樣利用PA、IoU、Precision、Recall、F1-Score 和Running time 等指標(biāo)來進(jìn)一步驗(yàn)證模型的性能,不同模型在鐵路隧道裂縫分割的性能對(duì)比如表4所示。
表4 不同模型在鐵路隧道裂縫分割中的性能對(duì)比Table 4 Comparison of performance of different models in crack division of railway tunnels
從表4結(jié)果中可以看出,本文方法PA、IoU、Precision、Recall、F1-Score 的評(píng)估結(jié)果分別達(dá)到98.81%、60.59%、68.86%、83.46%、75.46%,運(yùn)行時(shí)間約為65 ms,均優(yōu)于其他方法,這說明本文提出的分割模型有利于隧道裂縫圖像的分割。為了更直觀地說明本文方法的準(zhǔn)確性,本文隨機(jī)選取了5 個(gè)樣本在不同模型上的分割結(jié)果,如圖9所示。
圖9 Tunnel Crack數(shù)據(jù)集定性比較結(jié)果Fig.9 Qualitative comparison results of Tunnel Crack dataset
在圖9 中,第一列為裂縫原始圖,第二列為裂縫原始圖的標(biāo)簽圖,后面為三種方法對(duì)應(yīng)的裂縫分割結(jié)果圖,紅色矩形框表示裂縫像素漏檢的情況,綠色矩形框表示裂縫像素誤檢的情況。主觀評(píng)價(jià)從分割結(jié)果圖與標(biāo)簽對(duì)比判斷,基于U-Net的隧道裂縫檢測(cè)方法基本上可以檢測(cè)出圖像中出現(xiàn)的裂縫,可以完整地將裂縫呈現(xiàn)出來,但是在檢測(cè)結(jié)果圖中也可以看到會(huì)出現(xiàn)細(xì)小裂縫沒有被分割,以及有噪聲的裂縫背景被分割出來的情況,這樣很難統(tǒng)計(jì)出裂縫的信息。CrackSegNet 可以對(duì)細(xì)小的裂縫進(jìn)行很好的分割,但是裂縫的背景仍被分割了出來?;诟倪M(jìn)U-Net 網(wǎng)絡(luò)的隧道裂縫檢測(cè)圖的檢測(cè)精度最高,且基本沒有噪聲像素,與CrackSegNet 相比,其裂縫分割結(jié)果有顯著提升,裂縫的檢測(cè)結(jié)果圖與標(biāo)簽圖更為接近,漏檢和誤檢的情況也相對(duì)減少了很多,并具有更準(zhǔn)確的位置和詳細(xì)的形態(tài)信息,同時(shí)對(duì)背景中的污漬等干擾具有較好的魯棒性。
本文針對(duì)鐵路隧道裂縫圖像的特點(diǎn),提出一種改進(jìn)U-Net的隧道裂縫分割模型。該模型以U-Net網(wǎng)絡(luò)為基本框架,首先在U-Net 網(wǎng)絡(luò)中引入殘差塊,加強(qiáng)特征的傳播,減少信息損失;然后引入注意力機(jī)制SE模塊來加強(qiáng)裂縫區(qū)域的權(quán)重,抑制無用特征的權(quán)重,減緩圖像對(duì)比度低對(duì)模型的影響;最后結(jié)合Bce損失和Dice損失組成的組合損失函數(shù)處理裂縫像素類別不平衡的問題,提高模型的召回率,從而提高模型的性能。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的方法在兩個(gè)數(shù)據(jù)集上都得到了很好的分割效果,并且在不同的評(píng)價(jià)指標(biāo)上證明了該方法的有效性,在鐵路隧道裂縫數(shù)據(jù)集上PA達(dá)到了98.81%,F(xiàn)1得分達(dá)到了75.46%,每張圖片的測(cè)試運(yùn)行時(shí)間約為65 ms,可以很好地滿足隧道裂縫檢測(cè)的實(shí)時(shí)要求。在后續(xù)的工作中可采集更多高質(zhì)量的圖片,訓(xùn)練性能更好的分割網(wǎng)絡(luò)模型,對(duì)隧道裂縫進(jìn)行有效及時(shí)的檢測(cè)。