李朝勇,張成,韋海丹
廣西防城港核電有限公司,防城港 538001
道路安全問題至關(guān)重要,路面裂縫是威脅道路安全的重要因素之一(翁飄等,2019)。傳統(tǒng)的路面裂縫檢測方法主要采用人工目視,這會耗費大量的人力物力,檢測的精度也相對較低。近年來,隨著影像技術(shù)的發(fā)展,使用路面裂縫采集設(shè)備采集路面影像,并使用計算機(jī)視覺算法從影像中提取裂縫的方法逐漸成為研究熱點(Guan 等,2021;Chen等,2023)。在諸多計算機(jī)視覺算法中,主要有數(shù)字圖像處理和深度學(xué)習(xí)兩種方法(Cao 等,2020)?;跀?shù)字圖像處理的方法主要為邊緣檢測、形態(tài)學(xué)等針對裂縫低級特征而設(shè)計的提取方法。如Chanda等(1998)提出了基于多尺度結(jié)構(gòu)元素的形態(tài)學(xué)邊緣檢測,具有較強(qiáng)的抗噪性。Abdel-Qader 等(2003)將快速傅里葉變換、快速哈爾變換、坎尼算子、Sobel算子應(yīng)用于裂縫檢測中,結(jié)果表明快速哈爾變換對裂縫的檢測效果最好,但該類算法對噪聲仍很敏感。Yamaguchi 和Hashimoto(2007)提出了基于滲流模型的裂縫檢測算法,該算法將各像素點在其對應(yīng)的局部窗口內(nèi)進(jìn)行區(qū)域生長,根據(jù)生長的結(jié)果判斷該像素點是否為裂縫點。此類研究多針對某一特定數(shù)據(jù)集的方法,模型的泛化能力較弱。
隨著深度學(xué)習(xí)技術(shù)在圖像處理領(lǐng)域的廣泛應(yīng)用,卷積神經(jīng)網(wǎng)絡(luò)在圖像分類和目標(biāo)檢測領(lǐng)域取得了很大的進(jìn)展?;谏疃葘W(xué)習(xí)語義分割的裂縫分割方法因具有速度快、精度高、泛化能力強(qiáng)等特點,已成為路面裂縫分割任務(wù)中應(yīng)用最為廣泛的方法之一(Ali 等,2022)。語義分割是深度學(xué)習(xí)中廣泛使用的目標(biāo)檢測技術(shù)之一,其中,廣泛應(yīng)用于裂縫分割的模型主要為編解碼結(jié)構(gòu),該結(jié)構(gòu)通過對圖像中的每一個像素進(jìn)行分類實現(xiàn)了目標(biāo)的分割?;诖私Y(jié)構(gòu)提出的模型有很多,如全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN)、SegNet、U-Net(u-shaped network)等。FCN 由Long 等(2015)提出,使用反卷積結(jié)構(gòu)及特征圖相加的融合方式,實現(xiàn)了對物體的像素級分割。Yang 等(2018)使用FCN 進(jìn)行裂縫的檢測,達(dá)到了像素級別的分割效果。SegNet 由Badrinarayanan 等(2017)提出,該方法的特點在于不用保存整個解碼部分的特征圖,只需保存池化索引,節(jié)省了內(nèi)存空間。Nguyen 等(2022)將該方法應(yīng)用在混凝土裂縫分割任務(wù)中,實現(xiàn)了自動化、快速的裂縫分割。U-Net 由Ronneberger 等(2015)提出并應(yīng)用于細(xì)胞分割的模型,率先使用了U 型結(jié)構(gòu)的編解碼結(jié)構(gòu)的網(wǎng)絡(luò)。Ju等(2020)在此基礎(chǔ)上提出將U-Net 中的卷積層中加入填充,使卷積后的特征圖像保持與卷積前的分辨率一樣,更適用于細(xì)小尺寸的裂縫分割。Zhang等(2021)設(shè)計了擁有不同下采樣和上采樣層數(shù)的U-Net,并進(jìn)行對比實驗,分析了模型深度對裂縫分割效果的影響。
雖然基于深度學(xué)習(xí)的路面裂縫分割方法已經(jīng)得到了廣泛的應(yīng)用,但現(xiàn)有的算法中仍存在一些問題。由于路面裂縫通常比較細(xì)小,所以在整幅路面影像中,裂縫的像素數(shù)相對全圖像素數(shù)的占比通常較小,并且裂縫的形態(tài)通常為細(xì)長的,其寬度相對于全圖寬度的占比也十分小。此外,編解碼結(jié)構(gòu)網(wǎng)絡(luò)中頻繁的下采樣,導(dǎo)致其精度難以提升。鑒于此,本文提出了一種基于改進(jìn)U-Net的編解碼結(jié)構(gòu)語義分割網(wǎng)絡(luò)模型,通過建立編碼結(jié)構(gòu)和解碼結(jié)構(gòu)中多尺度特征圖之間的聯(lián)系,以及選用能平衡正負(fù)樣本數(shù)量的損失函數(shù),來提高路面影像中裂縫的分割精度。
U-Net 最初是為了解決生物醫(yī)學(xué)圖像分割問題而提出的,但由于其出色的分割性能,后來也被廣泛應(yīng)用在其他物體的分割上,如衛(wèi)星圖像分割、工業(yè)缺陷檢測等(呂書強(qiáng)等,2022)。U-Net 的編解碼結(jié)構(gòu),如圖1 所示。編碼結(jié)構(gòu)負(fù)責(zé)特征提取,主要用到的是卷積神經(jīng)網(wǎng)絡(luò)中常用的卷積層和池化層;解碼結(jié)構(gòu)負(fù)責(zé)將特征圖恢復(fù)至原始分辨率并對圖像中的每個像素點進(jìn)行分類,主要用到的是上采樣和跳躍連接。上采樣是將圖像的分辨率提高,使經(jīng)過下采樣后的特征圖恢復(fù)至原始分辨率;常用的上采樣方式有反卷積和插值兩種。跳躍連接是將編碼結(jié)構(gòu)和解碼結(jié)構(gòu)的特征圖進(jìn)行融合,融合采用將兩個特征圖沿著特征維度的方向進(jìn)行拼接的方式,這種設(shè)計可以幫助網(wǎng)絡(luò)更好地保留圖像中的原始信息,從而提高分割精度。
圖1 U-Net 模型結(jié)構(gòu)(Ronneberger 等,2015)Fig.1 Structure of the U-Net model
基于編解碼結(jié)構(gòu)的U-Net 網(wǎng)絡(luò)在特征融合時僅考慮了同一尺度的特征,這導(dǎo)致隨著編碼結(jié)構(gòu)下采樣次數(shù)的逐漸增多,低級別的特征信息逐漸丟失,而只保留了高級別特征信息。這使得最終的分割結(jié)果中,由低級別信息組成的邊界等特征被弱化,導(dǎo)致分割精度的下降。研究基于U-Net 模型,將編碼結(jié)構(gòu)中的原始特征圖按照不同的比例下采樣,得到不同尺度的特征圖;之后分別與解碼結(jié)構(gòu)中相對應(yīng)的特征圖進(jìn)行融合,實現(xiàn)了融合多尺度特征圖、保留多尺度特征信息,原理如圖2 所示。與U-Net 模型最大的不同點在于增加了多尺度特征融合層:①結(jié)構(gòu)將原始分辨率的特征圖C1 分別按照1/2、1/4、1/8 的下采樣比例進(jìn)行最大池化,分別得到P1、P2、P3 三個特征圖;②將這些包含了裂縫邊界等低級別特征信息的特征圖分別與編碼結(jié)構(gòu)、解碼結(jié)構(gòu)的特征圖進(jìn)行融合,即P1 與C2、U3 融合,P2 與C3、U2 融合,P3 與C4、U1 融合。融合的方式與U-Net模型的一致,采用沿特征維度拼接的方式:
圖2 本文方法的結(jié)構(gòu)Fig.2 Structure of the proposed method
式中, Featurefusion為融合后的特征圖; Feature1、Feature2為待融合的兩個特征圖,形狀分別為{C1,W,H}、{C2,W,H};Ci為特征圖的維度;W、H分別為特征圖的長和高。由此可知,使用拼接的特征融合方式需保證特征圖的長和高一致,這也是為何在多尺度特征融合層中采用三種不同下采樣比例的原因。
此外,為了使模型在誤差反向傳播時,更注重于對裂縫分類準(zhǔn)確度的優(yōu)化,本文使用了Focal Loss 作為網(wǎng)絡(luò)的損失函數(shù)。Focal Loss 是一個專門為正負(fù)類別數(shù)量不均衡而設(shè)計、適用于小目標(biāo)物體分割的損失函數(shù)(Lin 等,2017):
式中,γ>0 時,可以使易分類樣本的損失大幅減少,使模型更加關(guān)注不易分類的樣本;α為平衡因子,用于平衡正負(fù)樣本的重要性。研究中,易分類的樣本是占有大量像素的背景;不易分類的樣本是僅占少量像素的裂縫。
為了驗證本文方法的有效性和泛化性,選用CrackForest 數(shù)據(jù)集作為訓(xùn)練和測試的數(shù)據(jù)集(Shi等,2016)。CrackForest 數(shù)據(jù)集是一個常用的道路裂縫圖像數(shù)據(jù)庫,包含155 幅分辨率為480 像素×320 像素的道路裂縫圖像,可以大致反映城市的路面狀況。圖3 是該數(shù)據(jù)集的圖像和標(biāo)簽示例。
圖3 CrackForest 數(shù)據(jù)集的圖像和標(biāo)簽示例Fig.3 Examples of images and labels from the CrackForest dataset
為了量化評估模型的分割性能,本文利用交并比(intersection over union,IoU)、F1 分?jǐn)?shù)這兩個常用的綜合評價指標(biāo)對最終的分割結(jié)果進(jìn)行評價。
式中,TP 為將正類預(yù)測為正類的像素數(shù)量,即將裂縫像素分類為裂縫的個數(shù);FP 為將負(fù)類預(yù)測為正類的像素數(shù)量,即將背景像素分類為裂縫的個數(shù);FN為將正類預(yù)測為負(fù)類的像素數(shù)量,即將裂縫像素分類為背景的個數(shù);Precision 為模型判定是正的所有樣本中有多少是真正的正樣本;Recall 為所有正樣本中有多少被模型判定為正。
為了使模型的泛化能力更強(qiáng),研究對CrackForest 數(shù)據(jù)集進(jìn)行了數(shù)據(jù)增強(qiáng)處理。對所有圖像和標(biāo)簽分別進(jìn)行了90°、180°、270°的旋轉(zhuǎn),以及以豎邊為軸線的左右翻轉(zhuǎn),從而將數(shù)據(jù)集擴(kuò)充至原來的8 倍,即1240 幅圖像。通過這種方式,使模型能夠具有平移和旋轉(zhuǎn)不變性,提升模型的分割精度。
訓(xùn)練過程中,先將上述數(shù)據(jù)集里所有的圖像和標(biāo)簽按照6∶2∶2 的比例隨機(jī)分為訓(xùn)練集、驗證集和測試集。其中,訓(xùn)練集用于訓(xùn)練模型與確定參數(shù);驗證集用于確定網(wǎng)絡(luò)結(jié)構(gòu)及調(diào)整模型的超參數(shù);測試集用于檢驗?zāi)P偷姆夯芰?,即分割能力。除此之外,其他超參?shù)設(shè)置如下:優(yōu)化器選用Adam,初始學(xué)習(xí)率設(shè)為0.001;一階、二階矩估計的指數(shù)衰減率設(shè)為0.9、0.99;模糊因子epsilon 設(shè)為1×10-8;批量大小設(shè)為32;epoch 次數(shù)設(shè)為30;Focal Loss 中的α和γ分別設(shè)為0.25、2。
為了驗證本文方法對小裂縫分割的有效性,研究分別使用本文方法和經(jīng)典模型FCN-8s、U-Net、Segnet,以及一種專門為路面裂縫分割設(shè)計的模型CrackU-net,對經(jīng)過預(yù)處理后的CrackForest 數(shù)據(jù)集進(jìn)行訓(xùn)練和測試。其中,CrackU-net 是在U-Net 基礎(chǔ)上改進(jìn)的,通過分析路面裂縫的形態(tài)特點,將原始網(wǎng)絡(luò)中的池化方式改為最大池化、卷積中的填充方式改為不變,顯著提升了路面裂縫的分割精度,是一種非常具有代表性的路面裂縫分割網(wǎng)絡(luò)。
首先將訓(xùn)練集和驗證集放入模型中進(jìn)行訓(xùn)練,其次統(tǒng)一保存驗證集精度最高的模型參數(shù),最后分別使用這些模型參數(shù)對測試集進(jìn)行測試。圖4 是五種模型在測試集上的部分測試結(jié)果,測試圖像按照簡單到復(fù)雜的情況分為單條裂縫、多條裂縫和極細(xì)裂縫。其中,由紅框標(biāo)的位置可以看出,本文方法相比三種經(jīng)典模型無論在單條裂縫還是多條裂縫的情況下,在邊緣細(xì)節(jié)上的分割效果要更好,同時,噪點數(shù)即誤識別的區(qū)域也更少;CrackU-net 雖然分割情況稍好但仍與本文方法有差距。在對極細(xì)裂縫進(jìn)行分割時,其他四種模型的分割效果明顯不如本文方法,出現(xiàn)了不同程度的漏檢情況。這證明本文方法中的多尺度特征融合層,以及Focal Loss 的使用在分割路面裂縫這種小目標(biāo)物體時,相比已有方法具有更好的性能,更能還原細(xì)小裂縫本身的細(xì)節(jié)。
圖4 五種模型的分割結(jié)果示例Fig.4 Examples of segmentation results from five models
為了進(jìn)一步量化五種模型的分割性能,利用IoU、F1 分?jǐn)?shù)指標(biāo)對五種模型在測試集上的分割結(jié)果進(jìn)行統(tǒng)計,結(jié)果如表1 所示。本文方法有效地提升了路面裂縫的分割精度,相對于其他四種方法,IoU、F1 分?jǐn)?shù)指標(biāo)的提升幅度分別為2.9%~9.9%、2.0%~7.2%。
表1 五種模型分割結(jié)果的IoU、F1 分?jǐn)?shù)指標(biāo)Tab.1 IoU and F1 metrics for segmentation results of five models%
為了驗證本文方法中多尺度特征融合層和Focal Loss 損失函數(shù)對模型分割效果的影響,使用消融實驗進(jìn)行了分析,分別測試單獨使用特征融合層和單獨使用Focal Loss 損失函數(shù)對模型分割效果的影響,以及兩者都使用和都不使用對模型分割結(jié)果的影響。其中,兩者均不使用為基本的U-Net 模型,兩者均使用為本文方法,結(jié)果如表2 所示??梢钥闯?,多尺度特征融合層和Focal Loss 均起到了提升路面裂縫分割精度的作用,且多尺度特征層對分割效果的提升更為明顯。這表明本文方法的兩項改進(jìn)均有效。
表2 消融實驗測試結(jié)果Tab.2 Results of the ablation experiments%
針對路面影像中裂縫像素數(shù)占比較小,分割精度有待提升的問題,本文提出了一種改進(jìn)U-Net 的編解碼結(jié)構(gòu)語義分割模型。通過將編碼結(jié)構(gòu)中不同層級的特征圖分別與解碼結(jié)構(gòu)中的特征圖越級融合,并在網(wǎng)絡(luò)的反向傳播過程中使用了適用于小目標(biāo)物體分割的Focal Loss 損失函數(shù),提高路面裂縫的分割精度。本文方法在路面裂縫數(shù)據(jù)集CrackForest中進(jìn)行了訓(xùn)練和測試,與四種常用的語義分割模型進(jìn)行了對比分析,并通過消融實驗分析了改進(jìn)模型的有效性。從實驗結(jié)果中發(fā)現(xiàn),改進(jìn)的U-Net 模型在IoU、F1 分?jǐn)?shù)指標(biāo)上的表現(xiàn)均要優(yōu)于其他模型,且在細(xì)小裂縫的分割結(jié)果上提升更為明顯。這表明本文方法可以有效提升影像中細(xì)小物體的分割精度,在路面裂縫分割任務(wù)中具有實用價值。