瞿 中,李 明
(重慶郵電大學 計算機科學與技術學院,重慶 400065)
路面裂縫檢測對延長路面壽命和保證路面結構安全具有重要的意義。近年來,國內外學者已提出了一系列自適應的裂縫檢測算法。早期裂縫檢測算法大多都基于數字圖像處理技術。Zhou等[1]提出一種基于小波變換的裂縫檢測算法。Li等[2]提出了一種基于K-means聚類的路面裂縫分割算法。Qu等[3]提出了一種基于改進遺傳規劃的裂縫檢測算法。但是對于數字圖像處理技術來說,絕大多數方法對于特征提取的處理都采用手工提取,其針對性較強,泛化能力較弱,不能很好適配所有噪聲情況下的裂縫圖像。
近年來一些基于深度學習的裂縫檢測算法層出不窮。Yang等[4]提出一種基于特征金字塔的裂縫檢測算法。Qu等[5]提出了一種基于注意力機制和多特征融合的裂縫檢測算法。Zhou等[6]提出一種高精度的裂縫檢測模型,該模型使用條形池化減少特征損失并使用注意力機制提高模型識別精度。基于深度學習的裂縫檢測算法會隨著網絡層數的增加導致分辨率降低,可供提取的有效局部和全局特征變少,成為精度提升的瓶頸。
本文提出了一種基于混合擴張卷積和空間-通道注意力機制的路面裂縫檢測算法。該算法基于改進的U-Net[7]網絡,在編碼階段,使用空間-通道注意力機制增強裂縫特征,抑制非裂縫特征。混合擴張卷積可以在保持輸入圖像分辨率不變的前提下擴大網絡模型感受野,而在卷積神經網絡深層部分,由于不斷對圖像進行降采樣操作來擴大感受野,造成了圖像在獲取特征時大量局部特征信息丟失。因此在深層網絡階段使用混合擴張卷積來擴大感受野,提取圖像的全局特征。在解碼階段引入深監督學習融合多尺度特征,使最終預測結果更接近路面真實情況。
在進行裂縫檢測時,需要被識別的類別只有裂縫和非裂縫兩種,故可以對每個像素點進行類別區分,即二分類的操作。對于輸入的圖像,經過裂縫檢測網絡后都能輸出相應的預測圖。在預測圖中,裂縫像素為白色,非裂縫(背景)像素為黑色。
本文提出的裂縫檢測網絡模型結構如圖1所示,該網絡采用改進的U-Net網絡作為主干網絡。在編碼階段,使用空間-通道注意力機制(spatial-channel attention mechanism,scSE)增強對裂縫特征的關注。該模塊結合了空間注意力機制(spatial attention mechanism,sSE)和通道注意力機制(Channel attention mechanism,cSE),能夠有效的增強裂縫特征,抑制非裂縫特征。在網絡中間部分,采用混合擴張卷積模塊(hybrid dilated convolution,HDC)來提取更多的裂縫特征。混合擴張卷積對于輸入圖像并沒有進行降采樣的操作,其卷積核大小要比一般的卷積核要大很多,既可以在保持輸入圖像分辨率不變的前提下擴大模型感受野,獲取到更多的全局特征,又不會增加模型的參數量。在解碼階段,使用深監督學習獲取多尺度裂縫特征,并經過卷積核大小為1×1的卷積進行處理。最終,使用多尺度特征融合模塊(multi-scale feature fusion,MFF)對提取的裂縫特征進行融合,使最終的預測結果更接近路面的真實狀況。在訓練網絡模型時,輸入一張大小為256×256的裂縫圖像,輸出一張同樣大小的裂縫預測圖,并使用概率值來確定該像素屬于裂縫或非裂縫。概率值為1代表該像素屬于裂縫,概率值為0代表該像素屬于非裂縫。

圖1 裂縫檢測網絡模型結構
由于網絡模型頻繁的下采樣操作,降低了輸入圖像的分辨率,導致隨著模型深度的加深,圖像的局部特征信息也被逐漸丟失。當前主流的裂縫檢測算法都采用卷積神經網絡的方式來進行特征的提取,但隨著網絡層數的增加,能夠提取到的特征也變得越來越少,造成隨著網絡的逐步加深,模型的參數量越來越大,但對模型精度的提升并沒有明顯幫助甚至降低模型的檢測精度和速度。為了避免該現象的發生,一些裂縫檢測算法引入空洞卷積來解決感受野變小的問題。空洞卷積可以減少下采樣的使用,避免部分細節特征的丟失。雖然空洞卷積的引入避免了感受野的減小,但是也帶來了新的問題-棋盤問題。所謂棋盤問題就是連續的卷積層使用相同空洞率(Dilated Rate,r),如圖2(a)所示(三層卷積核大小為3×3的連續卷積層,空洞率都為2),部分像素將不參與中心像素的計算,整體呈網格狀向外擴張,破壞特征信息的連續性。對于裂縫檢測而言,裂縫圖像背景復雜,裂縫拓撲結構多變,如果連續的卷積層都使用相同的空洞率,盡管在低層卷積層中使用空洞卷積擴大網絡的感受野可以提取更多的裂縫特征,但是隨著網絡層次的加深,頂層的卷積層會變的過于稀疏,造成無法檢測細裂縫的同時寬裂縫的局部特征也會丟失,使得檢測準確率大大降低。

圖2 空洞卷積問題
為了解決該問題,引入了混合擴張卷積[8],如圖2(b)所示(三層卷積核大小為3×3的連續卷積層,空洞率分別為1、2、3)。混合擴張卷積的目的是為了讓最后的感受野覆蓋整個區域。混合擴張卷積需滿足以下條件:①疊加的卷積層空洞率不能有大于1的公約數;②每組空洞率按照從小到大的方式排列,下組采用相同模式,即[1、2、3、1、2、3]循環結構;③N個卷積核大小為K×K的空洞卷積,其空洞率為[r1、r2……ri……rn],定義兩個非零點之間最大距離如式(1)所示
Mi=max[Mi+1-2ri,Mi+1-2(Mi+1-ri),ri]
(1)
Mn=rn, 需滿足M2≤K。 例如卷積核大小為K=3,r=[1、2、5],M2=2, 滿足M2≤K。 混合擴張卷積在不增加額外的模塊的情況下自然地擴大網絡的感受野,而且能夠自然地融入網絡的原始層中,可以穩健地提取上下文語義信息和不同類型的裂紋特征。
本文中提出的混合擴張卷積模塊如圖3所示,由3部分組成,每部分空洞卷積空洞率為1、2、5。每部分包括兩層1×1的卷積,一層卷積核大小為3×3的空洞卷積和一層大小為3×3的卷積,每層卷積后進行批量歸一化操作。本文將混合擴張卷積模塊引入編碼-解碼網絡的中間部分,該模塊能夠自然融入網絡中,能夠有效地在保證擴大網絡的感受野的同時減少局部和長距離裂縫特征的丟失。混合擴張卷積模塊不僅能夠解決傳統空洞卷積存在的問題,還能自然而然融入到網路模型中,減少了網絡模型的參數量。

圖3 混合擴張卷積模塊
注意力機制被廣泛應用到卷積神經網絡上,雖然卷積神經網絡可以通過卷積操作來獲取圖像的裂縫特征,但是由于裂縫圖像本身裂縫像素較少,且存在大量的冗余噪聲,因此模型可能關注點會被這些噪聲所干擾,而注意力機制恰好可以使得模型在提取特征時定位到感興趣區域,降低噪聲對模型特征提取的影響。本文中使用的空間-通道注意力機制模塊[9]如圖4所示,該模塊結合了通道注意力機制和空間注意力機制,可以更好增強裂縫特征,抑制非裂縫特征,減少噪聲的影響。

圖4 空間-通道注意力機制模塊
空間注意力機制主要是對目標的定位,之后對定位到的目標進行選擇,選擇正確的定位點并排除錯誤的目標定位點,之后將注意力關注到正確的位置,降低模型對非必要像素的關注和檢測,保留圖像的關鍵信息。通道注意力機制的操作是對圖像的各個通道進行興趣點的關注,學習圖像各個通道維度的信息特征。兩者的區別在于在不同維度和角度來關注圖像的裂縫特征信息,通道注意力機制分為Squeeze和Excitation操作。Squeeze操作將各通道的全局特征作為該通道的表示,使用全局平均池化生成各通道的統計量。Excitation操作通過在通道維度上提取裂縫的有效性息,計算各個通道上對于裂縫的關注程度。空間-通道注意力機制模塊就是將空間注意力機制和通道注意力機制相加,能夠得到更精準的特征圖。
對于裂縫檢測而言,由于路面復雜的背景以及裂縫拓撲結構的多變性,空間-通道注意力機制能夠更好增強裂縫特征,抑制非裂縫特征,提取更多的裂縫特征。本文將空間-通道注意力機制模塊運用在編碼的下采樣階段,每個下采樣階段使用該模塊可以減少下采樣時裂縫特征的丟失,有效增強裂縫特征,抑制非裂縫特征。
在許多檢測工作中,不同深度和尺度的特征圖所包含的有效信息各不相同,對檢測精度都有著不同程度的影響。在卷積神經網絡中,低層特征包含更多的局部信息特征,包含更多的細節,但是語義較低,噪聲較大。高層特征語義信息較強,但是分辨率很低,由于頻繁的下采樣操作丟失了許多局部細節特征。對于裂縫檢測而言,由于裂縫本身的結構特性與周圍噪聲特性較為相似,即使是人眼檢測也難以很好將其和背景噪聲分開,因此這一特性是當前裂縫檢測領域所遇到的難點。在裂縫檢測網絡中,低層的卷積層可以提取到較多的裂縫特征,但是這些特征圖受路面復雜背景環境的影響會存在很多的噪聲、黑斑和污垢等。在經過多層的卷積層和池化層處理之后,高層的卷積可以從這些低層卷積層提取的特征圖中提取到更高級特征,其噪聲、黑斑和污垢也會隨之減少,但是隨著網絡層次的加深許多細小的裂縫就會丟失,這樣就造成高層提取的特征圖丟失過多的細節特征,導致檢測的結果與路面真實情況相差甚遠。由此可以看出,不同卷積層得到的特征圖有各自的優缺點,但是不同層之間可以相互補充,將低層提取的特征圖與高層提取的特征圖進行融合來提高裂縫檢測的精度。
為了解決該問題,本文提出了多尺度特征融合,如圖5所示。每一層輸出的特征圖使用卷積核大小為1×1的卷積進行處理,再上采樣到輸入圖像的大小,最后融合不同層次特征圖得到最終的預測圖。多尺度特征融合模塊融合多尺度和多層次的特征使最終的預測圖更接近路面真實狀況。

圖5 多尺度特征融合模塊
(1)DeepCrack:Liu等[10]建立了一個名為DeepCrack的公共路面數據集。該數據集由537張人工標注的路面裂縫圖像,其中300張用來訓練,237張用來測試。對于一些光滑的路面裂縫圖像,裂縫和背景之間有明顯的區分,這種類型的裂縫比較容易檢測[11]。對于一些粗糙的路面裂縫圖像,裂縫有明顯的遮擋,亮度不均勻,甚至有些裂縫表面有污漬,因此裂縫和背景之間的區分度相對而言并不明顯,即使是人眼也很難對其進行區分,這類裂縫成為了當前裂縫檢測領域的檢測難點。為了更好訓練本文的模型,訓練數據集的規模大小是至關重要的影響點,但由于當前公開的裂縫檢測數據集規模都比較小,會對模型的訓練造成一定程度的精度降低,因此在訓練前對數據集采用數據增強的方式進行了擴充。對當前DeepCrack訓練數據集中的每幅圖像進行8次角度旋轉以及水平旋轉,旋轉角度為[45°、90°、135°、180°、225°、270°、315°、360°],最終每幅圖像都擴充為16幅,即將數據集擴充到16倍大小。同時,為了使得模型能夠快速訓練并收斂,將訓練數據集中的圖像縮放到比例為256×256大小。數據集的擴充只是為了能夠增強模型的精確度和泛化能力,因此在測試階段并沒有對測試數據集進行數據的擴充操作。
(2)CFD:CFD數據集[12]由118張480×320像素的圖像組成。每張圖像都有手動標記的裂紋輪廓。本文采用該數據集作為測試集對模型進行測試。
(3)CRACK500:Yang等[4]提出了一個名為CRACK500的路面裂縫數據集。該數據集由1124張尺寸大小為640×360的路面裂縫圖像組成,每張圖像有較為復雜的背景。本文使用該數據集作為測試集來驗證所提出的網絡。
為了驗證所提出的裂縫檢測算法的有效性,將所提出的裂縫檢測算法與現有的裂縫檢測、邊緣檢測以及圖像分割算法進行對比。本文的對比實驗在相同的實驗參數配置以及硬件環境條件下進行,考慮到數據集訓練時間以及效果的因素,本文采用DeepCrack訓練數據集進行訓練,并在3個公開的數據集DeepCrack、CFD和Crack500上進行了測試。在訓練期間,將每個輸入圖像都縮放為256×256大小進行訓練,并將學習率設置為le-4,且最終的側邊損失權重固定為[0.5、0.75、1、0.75、0.5],并采用動態調整學習率的方式來進行訓練,在每100個epoch的時候將學習率設置為之前的0.1倍,權重衰減為2e-4,epoch設置為700,并且每50個epoch保存一次模型。所有實驗均在配備Tesla-V100-SXM2-32 GB GPU和4核Inter(R)Xeno(R)Sliver 4214 CPU的服務器上進行的。
(1)HED:整體邊緣檢測網絡(holistically-nested edge detection,HED)[13]是一種新的邊緣檢測算法,裂縫的檢測可以被視為邊緣檢測任務,定位裂縫的邊緣細節特征,并將其識別出來。
(2)DeepCrack:DeepCrack[10]網絡模型使用VGG16作為骨干網絡,同時使用深監督模型訓練的方式來提高網絡的精確度和泛化能力,該模型具有5個側邊網絡,其損失函數的最終值為所有側邊網絡損失值權重和。
(3)DeepCrackT:DeepCrackT[14]采用SegNet作為模型的骨干網絡,SegNet網絡是一種端到端的語義分割網絡模型,將裂縫檢測任務使用語義分割算法來進行解決,因為是對單個像素點進行預測,因此可以很好提高網絡模型的檢測精度,將模型的檢測提升到毫米級別。因為該算法與DeepCrack重名,為了區分它們,將該算法命名為DeepCrackT。
(4)FPHBN:特征金字塔和分層提升網絡(feature pyramid and hierarchical boosting network,FPHBN)[4]是基于HED網絡改進的裂縫檢測網絡,其最主要的創新是將特征圖金字塔模型和分層推進模型納入到網絡模型中,提高了網絡模型的檢測精度和泛化能力。
(5)DeepLab v3+:DeepLab v3+[15]在原有的DeepLab v3的基礎上增加了一個簡單有效的解碼器來修正分割結果,尤其是目標的邊界。
(6)CrackSegNet:CrackSegNet[16]由骨干網絡、擴張卷積、空洞金字塔池化和跳躍連接模塊組成。這些模塊可以用于高效的多尺度特征提取、聚合和分辨率重建,增強了網絡的分割能力。
(7)CrackW-Net:CrackW-Net[17]通過卷積神經網絡實現跳躍級往返采樣塊結構,從而構建了一種新的像素級別的語義分割網絡用于裂縫檢測。
在深度學習中通常需要建立各種網絡模型來解決具體問題,但是對于模型的好壞以及其性能需要一定的評估指標來進行評估。因此為了評估裂縫檢測的效果以及所提出的網絡模型的好壞,本文使用準確率(Precision,P)、召回率(Recall,R)和F-score(F)作為評估指標。
準確率主要針對預測結果而言,代表所有被預測為正的樣本中實際為正樣本的概率。召回率主要針對原樣本而言,代表實際為正的樣本中被預測為正樣本的概率。在實際的檢測中,希望得到高準確率、高召回率的預測結果,但是通常情況下可以發現精確率高的模型往往召回率會降低,當提高召回率的時候,精確率又會降低。因此需要平衡兩者來度量模型的好壞,同時還可以通過精確率和召回率的最終預測數值來對模型進行分析,判斷模型精度降低的原因,并針對具體問題和具體問題產生的原因來采取相應的措施。F-score結合了準確率和召回率,當兩者達到最高時取得平衡。此外,檢測結果中被正確檢測并判斷為裂縫像素點個數的稱為真正例(true positives,TP),檢測結果中將背景像素誤檢為裂縫像素點個數的稱為假正例(false positives,FP),檢測結果中被正確檢測并判斷為背景像素的個數稱為真反正例(true negatives,TN),檢測結果中將裂縫像素誤檢為背景像素點個數稱為假反正例(false negatives,FN)。綜上所述,Precision、Recall、F-score如式(2)、式(3)、式(4)所示
Precision=TPTP+FP
(2)
Recall=TPTP+FN
(3)
F-score=2×Precision×RecallPrecision+Recall
(4)
由于F-score結合了準確率和召回率,能夠很好平衡兩者之間關系,故本文使用F-score作為最終結果。
為了驗證所提出網絡的有效性,將本文提出的網絡以及HED、DeepCrack、DeepCrackT、FPHBN、DeepLab v3+、CrackSegNet、CrackW-Net固定在同一硬件環境及參數初始化條件,并使用DeepCrack訓練集進行訓練之后,分別在DeepCrack、CFD和CRACK500數據集測試,在DeepCrack、CFD和CRACK500這3個數據集上不同網絡的檢測結果圖像如圖6所示。此外,本文使用所提出的評估指標對不同的算法進行評估,對比實驗評估結果評估結果見表1,在DeepCrack、CFD和CRACK500數據集上的準確率-召回率曲線如圖7所示。

表1 對比實驗評估結果

圖6 自上而下分別是在DeepCrack、CFD和CRACK500這3個數據集上不同網絡的檢測結果圖像

圖7 在DeepCrack、CFD和CRACK500數據集上的準確率-召回率曲線
(1)在DeepCrack上的實驗結果:從表1中和圖7(a)可以看到在相同的實驗條件下,本文所提出的算法優于其它算法,達到了最高的F-score值。相比較于HED、DeepCrack、DeepCrackT、FPHBN、DeepLab v3+、CrackSegNet、CrackW-Net分別提高10.76%、1.13%、4.41%、8.07%、8.19%、7.03%、3.51%
(2)在CFD上的實驗結果:從表1中和圖7(b)可以看到在相同的實驗條件下本文所提出的算法優于其它算法,達到了最高的F-score值相比較于HED、DeepCrack、DeeCrackT、FPHBN、DeepLab v3+、CrackSegNet、CrackW-Net分別提高了15.02%、1.81%,4.61%、7.37%、10.35%、9.19%、12.84%。
(3)在CRACK500上的實驗結果:從表1中和圖7(c)可以看到在相同的實驗條件下本文所提出的算法優于其它算法,達到了最高的F-score值,相比較于HED、DeepCrack、DeepCrackT、FPHBN、DeepLab v3+、CrackSegNet、CrackW-Net分別提高了15.87%、2.78%、5.25%、13.34%、10.78%、15.62%、0.74%。F-score值在該數據集上相對于其它兩個數據集有所下降。
從視覺角度出發,根據圖6可知,本文算法提取的裂縫細節保存完整,預測結果受噪聲影響較小,與路面真實情況較為接近。從客觀角度出發,由表1和圖7可以看出,本文所提出的算法的各項評估指標高于其它算法。因此,無論從視覺角度還是評估指標來看,本文所提出的算法在復雜的背景下能夠對裂縫特征進行準確的提取,具有較好的檢測效果。
本文使用增減引入的模塊并在DeepCrack數據集上進行消融實驗來驗證模塊有效性。消融實驗評估結果見表2,其中U-Net表示使用最原始的U-Net網絡去提取裂縫,U-Net+HDC表示在U-Net基礎上引入混合擴張卷積模塊,U-Net+HDC+scSE表示U-Net+HDC基礎上引入空間-通道注意力機制模塊,本文算法表示在U-Net+HDC+scSE的基礎上使用多尺度特征融合。由表2可知,本文所提出的模塊都能提高裂縫檢測的準確率,當結合混合擴張卷積,空間-通道注意力機制結合和多尺度特征融合時,達到的效果最好。

表2 在DeepCrack數據集上的消融實驗評估結果
本文提出了一種基于混合擴張卷積和空間-通道注意力機制的路面裂縫檢測算法,解決了復雜背景下路面裂縫檢測困難的問題。首先將空間-通道注意力機制融入主干網絡來提取裂縫特征。其次在網絡的中間部分引入混合擴張卷積模塊,實現在增加網絡的感受野的同時減少局部特征的丟失。最后使用多尺度特征融合對提取的裂縫特征進行融合,使最終預測結果更接近路面真實情況。最終本文算法在公開數據集上預測的F-score值充分地驗證了本文算法的有效性。