黃思文,包騰飛,2,3,李揚濤,?;塾?/p>
(1.河海大學(xué)水利水電學(xué)院,江蘇 南京 210098;2.河海大學(xué)水文水資源與水利工程科學(xué)國家重點實驗室,江蘇 南京 210098;3.三峽大學(xué)水利與環(huán)境學(xué)院,湖北 宜昌 443002)
水工混凝土建筑物工作條件復(fù)雜[1],在太陽輻射、干濕循環(huán)、凍融循環(huán)等作用下易產(chǎn)生裂縫[2]。裂縫的存在和發(fā)展,輕則引發(fā)滲漏、溶蝕破壞,重則引發(fā)大壩失事,危及下游人民生命財產(chǎn)安全。因此,及時發(fā)現(xiàn)裂縫并采取相應(yīng)除險加固措施對保障大壩安全十分重要。目前國內(nèi)外大壩裂縫檢測方法主要采用傳統(tǒng)的人工巡視[3],該方法不僅費時費力,且水下區(qū)域通常無法到達(dá)。近年來,出現(xiàn)了利用無人機和水下機器人拍攝大量影像資料,然后通過人工解讀影像識別大壩裂縫的方式,該方式雖然減輕了野外工作的強度,但人工解讀影像工作量巨大,效率低下。
采用圖像處理方法可以替代人工解讀工作,一定程度實現(xiàn)圖片中裂縫的自動化識別。徐歡等[4]提出了一種基于Canny算子的路面裂縫檢測方法,引入形態(tài)學(xué)濾波進(jìn)行改進(jìn),使用Ostu算法實現(xiàn)雙閾值的自適應(yīng)獲取。王麗[5]提出了基于樽海鞘群優(yōu)化的大壩裂縫圖像分割算法,并建立了混凝土壩病害監(jiān)測GUI系統(tǒng)。張小偉等[6]基于自適應(yīng)區(qū)域生長和局部K-Means聚類,提出了一種針對混凝土壩面裂縫檢測的圖像處理算法。王一兵等[7]提出基于LabVIEW+VDM的混凝土壩裂縫分析方法,利用VDM視覺開發(fā)包獨立完成混凝土壩裂縫的檢測。陶健等[8]基于Retinex算法和百分比閾值法,提出了一種瀝青路面裂縫檢測方法。雖然上述方法取得了一定的裂縫識別效果,但這些圖像處理方法都存在處理速度慢的問題,針對海量的圖片數(shù)據(jù),處理效率不高,且自動化程度較低。
使用深度學(xué)習(xí)方法可以有效提高圖像識別的自動化程度,近年來,眾多研究人員將深度學(xué)習(xí)方法應(yīng)用到裂縫識別中。劉承飛[9]構(gòu)建了雙卷積神經(jīng)網(wǎng)絡(luò)(CNN-Segnet),提出了一種混凝土橋梁裂縫識別方法,但以目前相機傳感器的分辨率水平,在保證識別精度的前提下,其推理速度較慢。任松等[10]基于R-FCN網(wǎng)絡(luò),提出了一種公路隧道裂縫檢測方法,馮春成[11]提出了一種基于深度學(xué)習(xí)的溢流壩表面裂縫檢測方法,二者推理速度均較快,但識別精度較低、泛化能力較弱。李良福等[12]基于PSPNet網(wǎng)絡(luò),引入自注意力機制,提出了一種針對橋梁裂縫的語義分割方法,其測試平均交并比(mean intersection over union,MIoU)為84.31,一定程度提升了分割精度,但分割仍不夠精確。張鵬[13]提出了一種基于Deeplab V3+網(wǎng)絡(luò)[14]的混凝土裂縫識別方法,其識別精度較高,但主干網(wǎng)絡(luò)使用Xception網(wǎng)絡(luò),推理速度存在明顯不足。祝一帆等[15]提出了一種基于U-Net網(wǎng)絡(luò)的路面裂縫檢測方法,采用密集連接結(jié)構(gòu),在以往結(jié)構(gòu)的基礎(chǔ)上提高了網(wǎng)絡(luò)各層特征信息利用率,該方法增強了網(wǎng)絡(luò)的泛化能力,但其推理速度較慢。
為實現(xiàn)對水工混凝土裂縫快速而準(zhǔn)確地檢測,本文將Deeplab V3+網(wǎng)絡(luò)應(yīng)用于水工混凝土裂縫檢測中,提出了基于改進(jìn)Deeplab V3+網(wǎng)絡(luò)的水工混凝土裂縫語義分割方法(以下簡稱“本文方法”)。本文方法采用Mobilenetv2網(wǎng)絡(luò)替換原主干網(wǎng)絡(luò),將空洞卷積金字塔池化模塊(ASPP)的空洞卷積替換為空洞深度可分離卷積,以提升運算速度,降低深層特征下采樣倍數(shù)以減少語義信息丟失。并結(jié)合實際工程數(shù)據(jù)集,對本文方法可靠性進(jìn)行了驗證。
目前,Deeplab V3+網(wǎng)絡(luò)使用的主干特征提取網(wǎng)絡(luò)(以下簡稱主干網(wǎng)絡(luò))主要為Xception網(wǎng)絡(luò),對于識別目標(biāo)種類多,且訓(xùn)練集數(shù)據(jù)大的情況,具有很好的識別效果。但實際應(yīng)用中,數(shù)據(jù)集通常很難滿足此要求,其識別效果往往不夠理想,而且因其參數(shù)多、結(jié)構(gòu)復(fù)雜,網(wǎng)絡(luò)推理速度較慢。而Mobilenetv2網(wǎng)絡(luò)[16]是輕量級卷積神經(jīng)網(wǎng)絡(luò),參數(shù)少、結(jié)構(gòu)相對簡單,推理速度快,且在數(shù)據(jù)集數(shù)據(jù)較少時仍能實現(xiàn)較高的分割精度。因此,本文采用Mobilenetv2網(wǎng)絡(luò)替換原主干網(wǎng)絡(luò)(Xception網(wǎng)絡(luò))。
Mobilenetv2網(wǎng)絡(luò)引入了倒殘差結(jié)構(gòu)和線性瓶頸結(jié)構(gòu)。Mobilenetv2網(wǎng)絡(luò)獲取輸入信息后,先利用1×1卷積將輸入升維并使用非線性激活函數(shù)ReLU6激活,再利用3×3深度可分離卷積進(jìn)行特征提取,之后進(jìn)行1×1卷積降維并使用線性激活函數(shù)激活,最后將其與輸入進(jìn)行疊加。所謂倒殘差結(jié)構(gòu),即在3×3卷積前后各有一個1×1卷積分別進(jìn)行升維和降維,此結(jié)構(gòu)可增強梯度的傳播,顯著減少推理期間所需的內(nèi)存占用。而線性瓶頸結(jié)構(gòu)則是指進(jìn)行1×1卷積降維時不再使用非線性激活函數(shù)ReLU6,而采用線性激活函數(shù),以保留更多特征信息。
Deeplab V3+網(wǎng)絡(luò)對深層特征的下采樣倍數(shù)為16~32,下采樣倍數(shù)越高則語義信息的壓縮程度越高,過高的下采樣倍數(shù)會丟失目標(biāo)特征信息,影響識別效果。本文將深層特征下采樣倍數(shù)更改為8,以保留裂縫更多的特征信息,進(jìn)而提升網(wǎng)絡(luò)識別精度。原網(wǎng)絡(luò)的空洞卷積金字塔池化模塊(ASPP)采用3×3空洞卷積,本文將其替換為3×3空洞深度可分離卷積,以降低參數(shù)量,進(jìn)而提升網(wǎng)絡(luò)推理速度。
改進(jìn)Deeplab V3+網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,其結(jié)構(gòu)可以分為3個部分:主干特征提取網(wǎng)絡(luò)、ASPP模塊和上采樣模塊。利用主干網(wǎng)絡(luò)Mobilenetv2提取輸入圖片的淺層特征和深層特征。主干網(wǎng)絡(luò)對深層特征進(jìn)行8倍下采樣后傳入ASPP模塊,ASPP模塊采用5種方式對深層特征進(jìn)行并行處理,分別為:1×1卷積進(jìn)行特征提取,3個空洞率分別為6、12、18的3×3空洞深度可分離卷積進(jìn)行跨像素點特征提取,以及全局圖像池化。5種處理方式得到對應(yīng)的5個特征層,將其堆疊并利用1×1卷積進(jìn)行通道數(shù)調(diào)整后得到一個深層特征層。對其進(jìn)行上采樣操作后,與經(jīng)過1×1卷積調(diào)整通道數(shù)的淺層特征層融合,得到一個包含輸入圖片淺層特征和深層特征的特征層,之后利用3×3卷積進(jìn)行特征提取,最后利用上采樣將結(jié)果調(diào)整為與輸入圖片同等大小后輸出。
圖1 改進(jìn)Deeplab V3+網(wǎng)絡(luò)結(jié)構(gòu)
訓(xùn)練過程采用交叉熵?fù)p失函數(shù)計算預(yù)測誤差,進(jìn)行反向傳遞,調(diào)整網(wǎng)絡(luò)參數(shù),損失函數(shù)計算公式為
(1)
式中:N為像素總數(shù);c為某一語義分割類別;K為語義分割類別總數(shù)(包括背景),本文為2;wc為類別c的損失權(quán)重;pc(zi)為像素zi屬于真實類別c的概率。
裂縫損失權(quán)重設(shè)置為0.8,背景損失權(quán)重設(shè)置為0.2,以解決類別不平衡問題。
為評估本文方法對水工混凝土裂縫的語義分割性能,結(jié)合實際工程數(shù)據(jù)集驗證該網(wǎng)絡(luò)的可靠性。
2.1.1數(shù)據(jù)集制作
驗證試驗采用自制水工混凝土裂縫數(shù)據(jù)集,原始數(shù)據(jù)來源于中國西北地區(qū)某水利樞紐工程,所拍攝裂縫位于壩頂路面、閘墩、溢流堰邊墻、引水渠邊墻等部位。使用相機Nikon D300s拍攝,圖片分辨率為3 216×2 136像素,為了便于網(wǎng)絡(luò)訓(xùn)練,將拍攝圖片裁剪至224×224像素,裁剪后得到裂縫圖片共1 200張。
數(shù)據(jù)集制作過程如圖2所示。首先對圖片裂縫進(jìn)行人工精細(xì)標(biāo)注,再利用標(biāo)注文件生成PNG標(biāo)簽文件。同時,使用數(shù)據(jù)增強方法以擴充數(shù)據(jù)集,增強方法為順時針旋轉(zhuǎn)90°、水平翻轉(zhuǎn)和局部放大。經(jīng)過增強后,數(shù)據(jù)集為4 800張裂縫圖片及對應(yīng)標(biāo)簽文件,按比例7∶2∶1劃分,即訓(xùn)練集3 360張,驗證集960張,測試集480張。
圖2 數(shù)據(jù)集標(biāo)注與增強
2.1.2試驗平臺
試驗所用計算機操作系統(tǒng)為Windows 10,運行內(nèi)存16GB,CPU為Intel Core i5-10400F,GPU為NVIDA 1660S,GPU加速為CUDA 11.0,深度學(xué)習(xí)框架為Pytorch 1.7.1。
2.1.3試驗流程
先收集實際工程中水工混凝土裂縫圖片,將收集的圖片制成數(shù)據(jù)集,用訓(xùn)練集訓(xùn)練改進(jìn)Deeplab V3+網(wǎng)絡(luò),并采用驗證集進(jìn)行調(diào)參。
訓(xùn)練使用VOC數(shù)據(jù)集訓(xùn)練得到的權(quán)重作為預(yù)訓(xùn)練權(quán)重,訓(xùn)練優(yōu)化器使用Adam。網(wǎng)絡(luò)共訓(xùn)練100輪,先進(jìn)行50輪凍結(jié)訓(xùn)練,再進(jìn)行50輪解凍訓(xùn)練。在凍結(jié)階段,網(wǎng)絡(luò)的主干部分被凍結(jié),僅調(diào)整網(wǎng)絡(luò)其余部分的參數(shù)。在解凍階段,主干部分被解凍,網(wǎng)絡(luò)所有參數(shù)都會調(diào)整。凍結(jié)階段批尺寸設(shè)為8,學(xué)習(xí)率設(shè)為5×10-4;解凍階段批尺寸設(shè)為4,學(xué)習(xí)率設(shè)為5×10-5。
訓(xùn)練結(jié)束后,將得到的權(quán)值文件載入網(wǎng)絡(luò)并在測試集上測試,并進(jìn)行消融試驗分析。同時引入對比方法,計算各方法評估指標(biāo),并選取典型混凝土裂縫圖片以測試分割效果,最后對網(wǎng)絡(luò)進(jìn)行光照強度影響評估。
2.1.4評估指標(biāo)選取
采用MIoU和平均像素精度(MPA)評價本方法對混凝土裂縫的語義分割精度。MIoU為各類別預(yù)測值與真實值集合交集與并集比值的平均值,MPA為各類別預(yù)測正確的像素數(shù)量與總像素數(shù)量的比值的平均值[17-19]。
除了分割精度,評價語義分割網(wǎng)絡(luò)性能的另一個重要指標(biāo)是推理速度,即網(wǎng)絡(luò)每秒鐘能處理的圖片數(shù)量,試驗采用幀率(FPS)評估網(wǎng)絡(luò)推理速度。
2.2.1訓(xùn)練過程評估
訓(xùn)練損失函數(shù)與驗證損失函數(shù)均隨著訓(xùn)練輪次的增加而降低,第1輪訓(xùn)練時訓(xùn)練損失函數(shù)為0.139,驗證損失函數(shù)為0.080;第100輪訓(xùn)練時訓(xùn)練損失函數(shù)為0.030,驗證損失函數(shù)為0.046(圖3)。損失函數(shù)在前幾輪訓(xùn)練快速降低,之后緩慢降低并趨于穩(wěn)定,曲線變化趨勢良好,且在訓(xùn)練結(jié)束時訓(xùn)練與驗證損失函數(shù)均小于0.05。說明改進(jìn)Deeplab V3+網(wǎng)絡(luò)在混凝土裂縫數(shù)據(jù)集上收斂效果較好。
圖3 損失函數(shù)隨訓(xùn)練輪次變化
2.2.2消融試驗分析
本文對Deeplab V3+網(wǎng)絡(luò)做了3處改進(jìn):采用Mobilenetv2網(wǎng)絡(luò)替換原主干網(wǎng)絡(luò)Xception,將深層特征下采樣倍數(shù)降低為8,將ASPP模塊的空洞卷積替換為空洞深度可分離卷積。為評估各項改進(jìn)對網(wǎng)絡(luò)性能的提升效果,進(jìn)行了消融試驗測試各種改進(jìn)組合的精度及推理速度指標(biāo),結(jié)果見表1。
表1 消融試驗評價指標(biāo)統(tǒng)計
由表1可知,替換主干網(wǎng)絡(luò)可以大幅提升網(wǎng)絡(luò)推理速度,并一定程度提升精度;降低深層特征下采樣倍數(shù)會使推理速度有所降低,但精度有明顯提升;改變ASPP模塊的空洞卷積類型能一定程度提升推理速度,對精度影響很小。做3項改進(jìn)的網(wǎng)絡(luò)(第8組)MPA最高,MIoU比最高的第5組僅低0.01,而MPA和FPS均高于第5組,F(xiàn)PS比最高的第6組低4.84幀/s。綜合來看,做3項改進(jìn)的網(wǎng)絡(luò)綜合性能最優(yōu),在大幅提升推理速度的同時,精度也有明顯提升。
2.2.3分割效果評估
從測試集中選取4張典型混凝土裂縫圖片,包含單條裂縫、多條裂縫以及交叉裂縫,測試本文方法對典型裂縫圖片的分割效果。并將其與Deeplab V3+網(wǎng)絡(luò)、U-Net網(wǎng)絡(luò)、基于2種主干網(wǎng)絡(luò)的PSPNet網(wǎng)絡(luò)[20]、Canny邊緣檢測算法[21]作比較,結(jié)果如圖4所示。
圖4 典型裂縫分割效果對比
Canny邊緣檢測算法提取的裂縫存在多處間斷,且提取了很多非裂縫部分的邊緣,檢測效果受噪聲影響較大。PSPNet網(wǎng)絡(luò)將很多裂縫像素點識別為背景,將背景識別為裂縫,尤其在識別交叉裂縫時存在多處間斷,可見PSPNet網(wǎng)絡(luò)對于混凝土裂縫識別能力較弱。U-Net網(wǎng)絡(luò)對裂縫2識別效果較差,該圖混凝土表面不平整,網(wǎng)絡(luò)將部分凹陷識別成裂縫,抗噪性較差,且對裂縫4識別存在間斷。
Deeplab V3+網(wǎng)絡(luò)對裂縫1分割存在間斷,對表面不平整的裂縫2的分割也存在問題,其中較短裂縫兩端均有局部被識別為背景。而本文方法對這些部位分割更精確,尤其對Deeplab V3+網(wǎng)絡(luò)和U-Net網(wǎng)絡(luò)分割效果不佳的裂縫2,其分割效果明顯更優(yōu),體現(xiàn)出網(wǎng)絡(luò)更強的泛化能力。經(jīng)過改進(jìn),網(wǎng)絡(luò)的分割精度和泛化能力都有一定提升,其混凝土裂縫分割效果優(yōu)于所有比較方法。
2.2.4分割精度評估
經(jīng)測試集測試,不同分割方法的精度見表2。本文方法的MIoU達(dá)到了89.45,MPA達(dá)到了95.19,兩項精度指標(biāo)均高于所有比較方法,相較于Deeplab V3+網(wǎng)絡(luò),分別提高了0.73和1.92。
表2 不同裂縫分割方法的分割精度
2.2.5推理速度評估
本文方法、Deeplab V3+網(wǎng)絡(luò)、U-Net網(wǎng)絡(luò)、PSPNet(Mobilenetv2)網(wǎng)絡(luò)、PSPNet(ResNet50)網(wǎng)絡(luò)、Canny邊緣檢測算法的FPS分別為51.11幀/s、27.78幀/s、27.22幀/s、64.23幀/s、39.89幀/s、13.64幀/s。本文方法的FPS相較Deeplab V3+網(wǎng)絡(luò)提升了23.33幀/s,即網(wǎng)絡(luò)平均每秒鐘能多處理23.33張圖片。幾種比較方法中,僅基于Mobilenetv2的PSPNet網(wǎng)絡(luò)推理速度略高于本文方法,但由前文可知,其分割精度顯著低于本文方法。因此,本文方法裂縫分割精度最高、推理速度快,綜合性能最優(yōu)。
2.2.6光照強度影響評估
為評估拍攝照片時的光照強度對識別效果的影響,使用不同亮度的圖片對本文方法進(jìn)行測試,測試結(jié)果見圖5。光照強度升高加強了裂縫內(nèi)部混凝土的反光,對于較窄裂縫,識別結(jié)果可能會出現(xiàn)間斷;當(dāng)光照強度很低時,混凝土表面以及裂縫均較暗,導(dǎo)致裂縫邊緣識別不夠精確。光照強度對網(wǎng)絡(luò)識別效果有一定影響,但網(wǎng)絡(luò)仍能較準(zhǔn)確地識別裂縫。
為實現(xiàn)水工混凝土裂縫快速而準(zhǔn)確的檢測,提出了一種基于改進(jìn)Deeplab V3+網(wǎng)絡(luò)的水工混凝土裂縫語義分割方法。實例驗證結(jié)果表明本文方法能實現(xiàn)推理速度大幅提升的同時,分割精度也能有一定幅度的提升。本文方法具有以下優(yōu)點:①具有一定的混凝土裂縫快速檢測能力。其FPS達(dá)到51.11幀/s,即平均每秒可以處理51.11張大小為224×224像素的圖片,推理速度快。②可以實現(xiàn)混凝土裂縫的高精度分割。其MIoU和MPA分別達(dá)到89.45和95.19,均高于比較方法,分割精度高。③可以有效分割多種類型的混凝土裂縫。對于含有單條裂縫、多條裂縫以及交叉裂縫的典型裂縫圖片,其分割效果優(yōu)于比較方法,尤其對于多條裂縫圖像,分割效果明顯更優(yōu),網(wǎng)絡(luò)泛化能力更強。且在光照強度過高和過低時仍能較好地實現(xiàn)裂縫分割。
驗證數(shù)據(jù)集裂縫圖片噪聲較少,未考慮裂縫表面存在較多覆蓋的情況。后續(xù)將針對裂縫圖片存在較多噪聲的情況開展更深入的裂縫檢測研究。裂縫檢測工作是基于離線數(shù)據(jù)進(jìn)行的,后續(xù)可將檢測網(wǎng)絡(luò)與圖像采集系統(tǒng)融合,實現(xiàn)對混凝土裂縫的實時檢測。