?

基于輕量化MU-Net網絡的混凝土缺陷分割

2023-10-29 01:31陳智麗張士緣李宇鵬
計算機仿真 2023年9期
關鍵詞:卷積裂縫深度

陳智麗,張士緣,王 冰,李宇鵬

(沈陽建筑大學,遼寧 沈陽 110168)

1 引言

鋼筋混凝土結構是許多重要基礎設施的主要結構形式,在服役過程中,受自然災害、外部環境和人為等因素的影響,會出現裂縫、破損、甚至露筋等缺陷,如不能及時發現和修復,將嚴重威脅基礎設施安全,隨時可以帶來不可估量的重大損失。傳統的混凝土缺陷檢測主要通過檢測員肉眼判斷缺陷,檢測精度和效率低下。隨著計算機技術的發展,基于圖像處理的檢測方法已成為目前主流的缺陷檢測手段。

裂縫是最常見的一類混凝土缺陷,現有研究主要集中于裂縫檢測。傳統的裂縫檢測方法主要包括閾值法[1]、邊緣檢測法[2,3]和形態學方法[4]等。傳統檢測算法需要手工提取特征,帶有一定的主觀性,雖然通過裁剪、自適應等方法可以提高特征明顯的裂縫分割的準確率,但是對具有大量噪聲干擾的圖像、背景復雜以及細小裂縫無法取得良好的效果,魯棒性較低。

隨著計算機硬件的發展以及深度學習[5]的提出,深度學習在圖像分割領域得到了廣泛的應用,許多科研工作者將深度學習應用于混凝土裂縫檢測中。Chen等人[6]利用NB-CNN網絡進行裂縫檢測,這一算法雖然可以檢測到微小裂縫,但是只能實現對裂縫位置的定位,并不能對裂縫形狀精確提取。王森等人[7]將全卷積神經網絡應用到裂縫檢測研究中,構建了一種適用于缺陷場景的Crack FCN模型,通過增大分辨率減少信息的丟失,但是檢測精度仍有待提高。李鵬等人[8]使用改進的脈沖耦合神經網絡分割裂縫,對裂縫做了外接矩形并統計內部連通域,保證了裂縫的完整性,但是仍存在一定的噪點。Zhang等人[9]設計了重疊塊融合的上下文感知深度神經網絡,提出MSMP池化法,在空間上聚合每個圖像塊上的預測結果,算法復雜度明顯降低,但是預測精度不高。Choi等人[10]提出了一種實時的混凝土裂縫分割網絡SDDNet,使用密集連接可分離卷積顯著加快網絡的運行速度,但是無法有效識別細小裂縫。蘭天翔等人[11]基于MobileNetv2[12]網絡設計了一個輕量級全卷積語義分割網絡LU-Net,利用MobileNetv2中的Bottleneck大大縮短了分割所需的時間,但是模型精度有所下降。Xia等人[13]提出了SSIM-Net進行缺陷檢測,利用MobileNetv3[14]對檢測區域進行分類,檢測速度明顯提升。MobileNetv3是MobileNetv2的改進,采用MnasNet[15]作為整體架構,擁有更高的精度和實時性。

綜上,深度學習技術已在裂縫檢測中發揮了出色的作用,但在復雜背景下裂縫分割、細小裂縫分割、準確率提升、網絡輕量化等方面尚有改進的空間。

本文首先對U-Net模型進行了改進,結合MobileNetv3模型,在輕量化網絡的同時提升缺陷分割精度;其次,構建了一個多類混凝土缺陷數據集,相比網上的公開數據集,采集的缺陷圖像背景更復雜,更具有實際工程意義。

2 MU-Net

本文提出一種輕量化MU-Net網絡,其編碼部分加入一系列Bneck模塊作為特征提取網絡,解碼部分加入帶有通道注意力機制的深度可分離卷積(DSC-SE)模塊進行特征位置信息的還原。MU-Net的網絡結構如圖1所示。

圖1 MU-Net結構

編碼部分,將圖像縮放至1664×1664,之后進行一次3×3的標準卷積,通過步長為2的下采樣將圖像大小變成832×832,接著通過11個Bneck模塊,利用深度可分離卷積、反殘差模塊以及SE模塊提取深層特征,得到大小分別為208×208,104×104和52×52的特征圖。

解碼部分,為了進一步壓縮網絡的參數量以及恢復缺陷位置信息,將標準卷積模塊均換成了DSC-SE模塊,利用雙線性插值法進行上采樣。解碼部分共進行了五次上采樣與四次拼接,得到1664×1664×64的特征圖,最后使用1×1的標準卷積進行分類,輸出1664×1664×2的分割結果圖,其中0代表背景,1代表缺陷。

2.1 帶深度可分離卷積的反殘差模塊(IR-DSC)

提出的MU-Net能夠被輕量化的一個重要原因,在于整個網絡大量地使用深度可分離卷積(DSC)代替標準卷積進行特征提取。深度可分離卷積將標準卷積拆分成了深度卷積和逐點卷積。假設輸入特征圖大小為Dw×Dh×M,卷積核大小為Dk×Dk,卷積后的特征圖大小為Dw×Dh×N,逐點卷積核大小默認為1×1,則深度可分離卷積與標準卷積的參數量之比P為

(1)

由式(1)可以看出,使用深度可分離卷積之后,網絡的參數量和計算量都有顯著的下降。

為充分提取特征,MU-Net編碼部分使用IR-DSC模塊,其結構如圖2所示。首先使用1×1的逐點卷積,由于深度卷積本身的計算特性決定了其沒有改變通道數的能力,而上一層的通道數過少會造成深度卷積只能在低維空間進行特征提取。因此在深度卷積之前加入一個1×1的逐點卷積,用來提升維度。本文中升維系數為6,如此經過第一個逐點卷積之后,深度卷積可以在相對的高維空間進行特征提取。此外,網絡使用了兩種不同的非線性激活函數ReLU6和h-swish,其中ReLU6是ReLU的變體,將最大輸出限定在6,在低精度情況下具有更強的魯棒性;h-swish可以減少內存訪問次數,大幅降低延遲損失。二者表達式如式(2)和(3)所示。

圖2 IR-DSC結構

(2)

(3)

編碼網絡的第2-3層使用ReLU6激活函數,4-5層使用h-swish激活函數。最后再使用1×1的逐點卷積進行降維,使得輸出維度與輸入維度一致。若深度卷積步長為1,則降維之后的特征圖與輸入特征圖大小一致,相加形成反殘差結構,若步長為2,則無法形成反殘差結構。

2.2 SE模塊

本文在Bneck模塊和DSC-SE模塊中均加入SE模塊,其結構如圖3所示。特征圖M(w×h×t)經過深度可分離卷積進行特征提取之后得到特征圖N(w×h×t),通道數為t,隨后進行全局平均池化,輸入特征在通道維度上進行融合,得到1×1×t的全局平均池化結果。接著加入兩層全連接層,第一層全連接層中神經元個數設置為t/x,x是一個可變參數,控制注意力強度以及參數量,這里選取x=4,得到大小為1×1×t/4的張量,激活函數采用ReLU6。第二層全連接層中的神經元個數設置為t,得到大小為1×1×t的張量,與輸入特征圖通道數一致,然后使用h-swish函數進行激活,這樣就得到了輸入的各通道的權值,最后把獲得的各通道權值與輸入特征圖N相乘,就輸出了帶有通道權重的特征圖N1。

圖3 SE結構

2.3 Bneck模塊

Bneck模塊把SE融合到IR-DSC模塊中,其模塊結構如圖4所示。

圖4 Bneck結構

2.4 DSC-SE模塊

為了兼顧網絡的輕量化以及特征位置信息還原的準確率,MU-Net解碼部分使用了DSC-SE模塊,編碼部分輸出的特征圖作為其輸入,進行核大小為3×3的深度卷積,激活函數采用ReLU6,隨后通過SE層,最后使用標準卷積,激活函數保持一致。

3 實驗

3.1 實驗數據集

網上公開的缺陷數據集大多背景簡單、缺陷明顯,與工程實例圖像存在差異,在使用語義分割網絡對其進行缺陷分割時精確度較高,缺乏實際工程意義。因此,本文采集了大量混凝土缺陷圖像,構建了多類混凝土缺陷數據集。圖像大小為4000×3000,背景復雜,包括裂縫168張、孔洞400張、破損100張、露筋160張。數據集的標簽部分,采用專業語義分割標注軟件LabelMe,由專業技術人員對缺陷區域進行像素級標注。

3.2 訓練與測試

實驗使用的操作系統為Win10,軟件環境為Python3.6,Keras2.2.4,Tensorflow2.3,CUDA10.1,硬件環境為Intel(R) Xeon(R) CPU @ 2.20GHz,Teslat4 GPU,使用He方法對模型進行初始化,優化器使用Adam,初始學習率設置為0.001,批大小設置為1,訓練100個epoch。

為了保證實驗的客觀性,對數據集采用五折交叉驗證,將數據集中的每類缺陷圖像平均分為五折,將其中的四折作為訓練集,剩余的一折作為測試集,如此進行五次實驗,確保數據集中的每一張圖像都經過測試。

3.3 評價指標

本文采用準確率(Precision,Pre)、召回率(Recall,Re)、F1分數(F1)來評價分割的結果。

網絡輸出的分割結果與標簽提供的ground truth相比,會有四種情況,如表1所示:其中TP表示實際為缺陷,網絡判斷為缺陷;FP表示實際為背景,網絡判斷為缺陷;FN表示實際為缺陷,網絡判斷為背景;TN表示實際為背景,網絡判斷為背景。三種評價指標的計算方法如式(4)-(6)所示:

表1 分割結果說明

(4)

(5)

(6)

準確率指的是目標的標簽像素在模型預測像素中的比值,召回率指的是目標的模型預測像素在標簽像素中的比值,F1值是一個綜合指標,是準確率和召回率的調和平均數,能較為全面地評估模型性能。

3.5 實驗結果

為了驗證在MU-Net網絡中加入的模塊組合對提高缺陷分割性能的有效性,本文設計了5種不同的網絡進行消融實驗。其中U-Net是基準網絡,U-Net+IR-DSC表示編碼部分使用IR-DSC模塊,U-Net+IR-DSC+SE表示編碼部分同時使用IR-DSC和SE模塊,U-Net+DSC-SE表示解碼部分使用DSC-SE模塊,MU-Net是本文提出的改進網絡。表2-5是四類缺陷的消融實驗比較。

表2 裂縫消融實驗結果

表3 孔洞消融實驗結果

表4 破損消融實驗結果

表5 露筋消融實驗結果

從以上結果可以看出,與基準網絡U-Net相比,編碼部分加入IR-DSC模塊之后,Pre指標有了顯著提升,但是誤檢較多,導致分割后的圖像噪點較多,Re、F1值變低,加入SE模塊之后網絡更注重提取缺陷的特征,抑制背景信息,Re、F1值有了顯著的提升。

此外,基于上述的語義分割評價指標,本文在構建的數據集上進行訓練模型泛化能力的評價比較。其中Mobile-Unet模型將U-Net模型中的標準卷積替換成了深度可分離卷積,LU-Net是文獻[11]中的模型。

圖5是四類缺陷在不同模型上的分割結果。對于裂縫,U-Net模型對于圖像中部的細小裂縫分割不完整,Mobile-Unet模型出現噪點,LU-Net模型噪點更多并且出現了將部分偽裂縫識別為裂縫的情況,MU-Net模型由于加入了SE模塊,增大了模型對裂縫區域的注意力,因此,全局圖像噪點得到了有效控制,并且也沒有出現偽裂縫,細小裂縫分割較為完整。對于破損,U-Net模型左下角破損區域出現缺失,Mobile-Unet模型和LU-Net模型的破損區域邊緣較為光滑,并且出現了噪聲,MU-Net模型分割邊緣貼合ground truth,并且基本沒有出現破損區域分割缺失的情況。由于孔洞和露筋形狀呈較為規則的圓形與長條狀,并且像素占比不低,因此四種模型都取得了不錯的分割結果。

圖5 四類缺陷在不同模型上的分割結果

表6-9列出了四類缺陷在其它模型和MU-Net模型上的五折交叉驗證結果,結果是五折結果的平均值與方差。實驗表明,MU-Net對裂縫的分割提升最明顯,準確率、召回率和F1分數較U-Net分別提高7.9%、1.15%、5.61%,但是穩定性遜于U-Net。四種模型對其它三類缺陷的分割不分伯仲,MU-Net模型要更勝一籌。

表6 模型對裂縫的分割結果

表7 模型對孔洞的分割結果

表8 模型對破損的分割結果

表9 模型對露筋的分割結果

表10列出了四類缺陷在不同模型和本文提出的MU-Net上模型參數量以及訓練時長上的對比結果。U-Net模型的參數量比其它模型大了一個數量級,MU-Net模型的參數量最少,為U-Net模型的1/16左右;在同樣的100個epoch的訓練條件下,U-Net模型訓練時長最長,Mobile-Unet、LU-Net和MU-Net由于使用了深度可分離卷積,都加速了模型的訓練,MU-Net耗時最短,約為U-Net模型的1/2。

表10 模型參數量與訓練時長對比

4 結論

本文基于語義分割U-Net網絡設計了輕量化且有效的MU-Net網絡,編碼部分加入帶深度可分離卷積的反殘差模塊,使得特征提取更加充分全面,加入通道注意力機制模塊,提升模型在通道維度上提取細節特征的能力;解碼部分使用帶有注意力機制模塊的深度卷積模塊,更好地獲取目標區域的位置關系和細節信息,目標特征的位置信息還原更加準確。此外,本文構建了一個混凝土缺陷數據集,數據集圖像背景復雜、缺陷種類全面,具有實際的工程意義,所提出的網絡在構建的數據集上取得了不錯的效果。本文現階段依據混凝土試塊采集了缺陷圖像,未來將加入戶外實際橋梁混凝土缺陷圖像,應用到實際混凝土缺陷檢測中,具有更廣闊的應用前景。

猜你喜歡
卷積裂縫深度
基于3D-Winograd的快速卷積算法設計及FPGA實現
碳酸鹽巖裂縫描述七大難點
深度理解一元一次方程
完美“切割”,裂縫之謎
從濾波器理解卷積
深度觀察
深度觀察
深度觀察
地球的裂縫
基于傅里葉域卷積表示的目標跟蹤算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合