?

基于DCGAN和改進YOLOv5s的橋梁表面缺陷檢測識別

2022-02-18 03:22何金寶胡秋寶付志超劉知遠
關鍵詞:注意力卷積橋梁

何金寶,胡秋寶,付志超,賴 毅*,劉知遠

(1.江西省港口集團有限公司,江西 南昌 330008;2.江西省路港檢測中心有限公司,江西 南昌 330200)

0 引言

橋梁作為在現代綜合立體交通體系中至關重要的一項基礎設施,在運營過程中經常受到外部荷載沖擊和基礎不均勻沉降等因素的影響,表面容易出現裂縫缺陷,當裂縫寬度過大時會直接降低橋梁承載能力,對橋梁結構安全和長期性能帶來隱患,若不及時處理則可能會引發垮塌事故[1].然而目前中國對橋梁表面缺陷的檢測大多還是通過人工定期巡檢,不僅消耗大量的人力、物力和財力,而且還對日常交通造成影響,且檢測效率低下、誤檢率高,很難滿足橋梁日常養護的需求[2].因此,亟需建立一種橋梁表面缺陷智能識別模型,提升橋梁管理養護水平.

基于傳統機器學習的橋梁表面缺陷檢測算法主要是通過提取有效特征,再輸入到分類器中進行模式識別[3].陳飛飛等[4]先提取灰度直方圖、顏色矩及紋理等統計特征,再輸入到支持向量機進行橋梁裂縫的識別,結果表明:圖像干擾噪聲越少,其識別精度越高.魏武等[5]引入高幅小波系數比、高頻能量比、Radon變換最大值和概率統計參數作為特征值,利用BP神經網絡對橋梁缺陷圖像進行分類.Peng Xiong等[6]利用橋梁裂縫圖像的形狀特征和灰度特征,結合Softmax分類器檢測橋梁裂縫.但由于裂縫缺陷形態各異且背景噪聲干擾較大,選擇的特征在較大程度上取決于先驗知識,因此,傳統方法提取的特征代表性不足,這導致模型識別準確率較低.

深度學習技術近年來不斷發展,已經在目標檢測與模式識別等問題上得到了廣泛的運用,目前基于深度學習的目標檢測算法根據預測流程可分為2類[7].1)以R-CNN[8]、Faster R-CNN等[9]為代表的基于候選區域的2級目標檢測算法,此類算法包括2個階段:(a)使用區域建議算法創建可能包含檢測對象的候選區域,并對部分背景區域進行剔除;(b)使用CNN對候選區域進行置信度和位置修正,采用非極大值抑制算法對其進行處理,得到最終的檢測框.A. Reghukumar等[10]將R-CNN模型用于從橋梁裂縫圖像中有效地提取多樣化的特征,已經證明了其在檢測大型建筑物和結構裂縫方面的可行性.Deng Jianghua等[11]將faster R-CNN應用于具有復雜背景的混凝土橋梁圖像,使用包含復雜干擾信息的圖像來評估建立的網絡模型性能,實現自動從原始圖像中定位裂縫.2)以YOLO[12]、SSD等[13]為代表的基于分類回歸的單級目標檢測算法,通過使用多個尺度的特征圖來彌補感受野的影響,將特征提取和定位一體化完成,識別速度要比前一類算法快很多,但精度略有不足.周清松等[14]提出一種改進YOLOv3的橋梁表觀病害檢測識別方法,通過添加固定池化模塊和引入DenseNet結構,相較于原始模型進一步提高了檢測精度.孫朝云等[15]設計了深度殘差網絡和SSD卷積神經網絡融合的模型,并根據損失函數的收斂程度優化在模型中的超參數,得到了較好的分類效果.

在主流的目標檢測算法中,YOLO網絡在不同對象的檢測任務中均表現出色,國內外學者對其提出了不同的改進方案[16].本文提出了一種基于深度卷積生成式對抗網絡和改進YOLOv5s的橋梁表面缺陷檢測識別模型.為有效解決模型在訓練時樣本不均衡的問題,將DCGAN網絡用于訓練自主采集的小樣本裂縫圖像數據,生成橋梁表面缺陷圖像數據集;再以YOLOv5s為基礎網絡框架,集成CBAM注意力機制模塊,增強重要特征的表征能力,從而進一步提升模型檢測的準確率.實驗結果表明:在對不同類型的橋梁表面缺陷的檢測任務中,本文所提出的模型能有效識別缺陷并達到較好的效果.

1 深度卷積生成式對抗網絡

深度卷積生成式對抗網絡(DCGAN)是在生成對抗網絡GAN[17]的基礎上,引入卷積神經網絡CNN衍生出的一種深度學習模型.GAN模型的基本框架主要由生成器G和判別器D構成,其中生成器G通過學習真實數據X的分布,再輸入隨機噪聲Z就能生成新的樣本數據G(z);判別器D能夠區分輸入樣本是真實數據樣本還是網絡生成樣本,其作用類似于二分類器.GAN結構如圖1所示.

圖1 DCGAN結構

DCGAN的基本原理與GAN類似,只是在以下方面進行優化:1)對GAN中生成器G和判別器D的結構使用CNN拓展,上采樣由生成網絡通過反卷積完成,在判別網絡中引入具有stride的卷積替換池化;2)同時使用全局池化層替代全連接層,使模型訓練更加穩定;3)通過添加批量歸一化等操作提高樣本的質量和收斂的速度;4)生成網絡使用ReLU激活函數,輸出層使用Tanh函數;5)判別網絡使用LeakyReLU激活函數,有效防止梯度稀疏.

生成網絡G的作用是使生成的樣本G(z)盡可能地接近真實樣本,從而通過判別網絡D判定為真實數據,即最小化目標函數V(D,G);判別網絡D的作用是將生成的G(z)數據判別為假,真實數據輸入判別為真,即最大化目標函數V(D,G).因此DCGAN模型訓練的本質就是生成網絡G和判別網絡D通過不斷地進行動態的博弈對抗學習,最終達到納什均衡.由此可知,目標函數是最大化D(x)和最小化D(G(z)),即

其中x為真實樣本,z為隨機噪聲,Pdata(x)為真實樣本分布,Pz(z)為隨機噪聲分布,G(z)為生成網絡生成的樣本;D(x)和D(G(z))分別表示判別網絡對輸入圖像判別為真實圖像和生成圖像的預測概率,取值在0~1之間,其中0表示判定為生成圖像,1表示判定為真實圖像.

將采集的小樣本橋梁表面缺陷圖像分類輸入搭建好的DCGAN模型中,生成網絡和判別網絡的學習率均設置為0.001,Momentum為0.9,圖2顯示了在經過800次迭代后的輸出結果.從圖2可以看出:DCGAN模型生成的橋梁表面缺陷圖像形態和尺寸位置以及大小都具有較高的隨機性,且具備較好的紋理信息,其灰度信息和輪廓信息與真實圖像相似度較高,能有效擴充樣本并解決深度學習模型訓練樣本不足的問題.

圖2 DCGAN生成圖像

2 YOLOv5s網絡模型改進

2.1 YOLOv5s模型

YOLOv5s網絡模型是在YOLOv5系列檢測模型中的一種,具有檢測精度高、體積小和運行速度快等特點,非常適合部署到嵌入式的設備中[18].本文對YOLOv5s網絡結構進行改進和優化,實現在不影響正常交通的場景下對橋梁表面缺陷進行自動化檢測識別.YOLOv5s的結構主要由Input、Backbone、Neck和Output等4個部分組成,網絡模型整體結構框架如圖3所示.

圖3 YOLOv5s模型結構

Input輸入端實現Mosaic數據增強、自適應圖像縮放和自適應錨框計算的功能,完成輸入數據的預處理任務.Backbone主干網絡包含Focus、CSP、CBL和SPP結構.Focus結構進行切片操作,目的是減少模型層數、提高運行速度.CBL(Conv+BN+Leaky_Relu)基礎模塊用于特征提取.CSP(CBL+Resuit+Concat +Leaky_Relu)基礎模塊在特征提取過程中優化在網絡中的梯度信息,減少推理運算量,并加快網絡運算速度.SPP空間金字塔模塊拓展了特征圖的感受野,解決了輸入圖像尺寸不統一的問題.Neck頸部網絡在FPN特征金字塔網絡的基礎上參照了PAN金字塔注意力網絡,形成了FPN+PAN結構的多尺度特征融合網絡.FPN層自上向下對圖像進行上采樣,并通過引入的CSP網絡模塊將提取的語義特征與主干網絡中提取的特征進行特征融合;PAN層自下向上對圖像進行下采樣,將提取到的定位特征和FPN層提取的特征進行融合,從而實現不同尺度的目標特征融合,進一步提升檢測網絡性能.Output輸出端通過CONV卷積模塊輸出3種不同的檢測尺度,并用CIoU_Loss作為Bounding box損失函數優化邊界框不相交問題,同時引入NMS非極大值抑制機制篩選多目標框.

2.2 YOLOv5s網絡模型的改進

注意力機制可以根據特征的重要性,將計算資源更多地集中在檢測目標最具信息性的部分,以增強對檢測任務貢獻度更大的特征的表征能力[19].為實現同時在通道維度和空間維度上強化重要特征并抑制無用特征,W. Sanghyun等融合了通道注意力機制(channel attention module,CAM)和空間注意力機制(spatial attention module,SAM),于2018年提出了卷積注意力機制(convolutional block attention module,CBAM),CBAM模塊示意圖如圖4所示.

圖4 CBAM模塊

CAM和SAM通過串聯的方式從通道域和空間域2個維度考慮特征相關性,從而計算出注意力權重,在經過2輪卷積操作后,依次生成通道注意力圖和空間注意力圖,最后空間注意力圖與空間注意力模塊的輸入相乘,得到CBAM模塊的輸出.CBAM注意力機制的處理過程為F′=MC(F)F,F″=MS(F′)F,其中F為輸入特征圖,MC為在通道維度上的注意力映射計算,MS為在空間維度上的注意力映射計算.

MC(F)=σ(MLP(Avgpool(F)))+σ(MLP(Maxpool(F))),

其中σ表示Sigmoid激活函數,MLP表示多層感知機模型,W0∈RC/(rC)、W2∈RC/(rC)分別為MLP 2個隱藏層的參數.

SAM機制將通道注意力模塊的輸出特征進行空間上的最大池化和平均池化,分別得到F′Savg和F′Smax2個空間通道描述符,拼接后得到通道數為2的空間特征圖,通過激活函數為Sigmoid的7×7卷積層進行卷積,就能得到2維空間注意力MS.計算過程如下:

MS(F′)=σ(f7×7((Avgpool(F′);Maxpool(F′)))),

MS(F′)=σ(f7×7((F′Savg;F′Smax))),

其中σ為Sigmoid函數,f7×7表示卷積核為7×7卷積運算.

注意力機制最重要的功能是對特征圖進行注意力重構,突出在特征圖中的重要信息,抑制一般信息,而Backbone網絡就是在YOLOv5s模型中提取特征最關鍵的部分.本文將CBAM模塊集成在Backbone網絡之后,而在Neck網絡進行特征融合之前,這主要是因為YOLOv5s模型是在Backbone網絡中完成的特征提取,然后經過Neck網絡特征融合之后在不同的特征圖上預測輸出.因此CBAM模塊在此處進行注意力重構,可以突出重要特征并抑制無效特征,從而提高檢測精度.改進后的模型具體結構如圖5所示.

圖5 改進YOLOv5s模型結構

3 實驗結果與分析

3.1 實驗數據

本文實驗平臺由2部分組成:圖像采集系統和圖像處理系統.圖6顯示了本文用于采集橋梁表面缺陷的圖像采集設備.該系統由大眾朗逸汽車、支架、GoPro運動相機組成.圖像處理系統是在Windows10操作系統下,基于TensorFlow-gpu1.14.0和Pytorch1.2.0搭建的深度學習框架,硬件環境為Intel core i5-8500,16 GB顯示內存.

圖6 圖像采集裝置

在自然光條件下,使用GoPro HERO 6 BLACK全向運動相機通過線性掃描的方式采集橋橋梁表面圖像,獲得共計1 781幅像素為1 920×1 080的橋梁表面缺陷圖像,其中橫向裂縫610幅、縱向裂縫584幅、交叉裂縫308幅、網狀裂縫279幅,部分數據集樣本如圖7所示.為提高模型的識別精度和泛化能力,避免因樣本數量不均而導致過擬合的問題,使用DCGAN進行數據增強,每類缺陷數據擴充到1 000幅,并將數據集按4∶1的比例劃分為訓練集和測試集.

圖7 橋梁表面缺陷數據集

3.2 評價指標

本文選取了平均精度AP(average precision)、平均精度均值mAP(mean average precision)和幀率FPS(frames per second)等指標對改進后的網絡模型進行評價.AP用于評估模型在單個檢測類別中的性能,通過計算網絡模型的PR曲線所圍成的面積得出;mAP能直觀反映模型整體性能,將每個類別的AP平均后就可得到;FPS用于衡量網絡模型處理圖像的速度,表示模型每秒能處理圖像的數量.AP和mAP的計算如下所示:

其中精確率P(precision)和召回率R(recall)的計算如下所示:

P=TP/(TP+FP)×100%,

R=TP/(TP+FN)×100%,

這里TP表示輸入為真且判定為真的樣本個數,FP表示輸入為假且判定為真的樣本個數,FN表示輸入為真且判定為假的樣本個數,NC為在數據集中的類別數.

3.3 實驗結果與分析

對YOLOv5s模型和改進的YOLOv5s模型分別進行訓練,參數設置如下:優化器為SGD,初始學習率為0.01,Batch為128,動量參數為0.9,衰減系數為0.000 5,最大迭代次數為300次.圖8顯示了YOLOv5s原始模型和在嵌入CBAM模塊改進后的YOLOv5s模型的識別準確率和損失值.從圖8可以看出:隨著訓練輪數的增加,改進的YOLOv5s模型的識別準確率逐漸高于原始模型;前期損失值下降較快,改進后收斂速度明顯要優于原始模型的收斂速度.

圖8 迭代訓練準確率和損失值

將測試集輸入搭建的模型中獲得橋梁表面缺陷的識別混淆矩陣(見如表1).結果表明:改進YOLOv5s模型能夠正確識別不同類型的缺陷,識別準確率達到92%.

表1 準確率識別混淆矩陣

為了進一步驗證本文提出的模型在橋梁表面缺陷檢測識別方面要優于其他先進的檢測算法,使用同樣的數據集對文獻[20]提出的模型(Faster-RCNN)、文獻[21]提出的模型(SSD)、文獻[22]提出的模型(Retinanet)進行識別任務的訓練和測試.表2是本文提出的模型與主流模型進行隨機試驗的結果對照.通過分析可知:相較于其他主流檢測算法,本文提出的方法有更好的分類性能,且mAP達到了91.7,具有重要的實際運用價值,能夠有效作為橋梁表面缺陷檢測識別的模型.

表2 不同模型性能比較

4 結語

本文提出一種DCGAN和改進YOLOv5s的橋梁表面缺陷檢測模型,首先使用DCGAN網絡對采集到的橋梁表面缺陷圖像進行數據增強,然后引入CBAM注意力機制模塊,提出改進后的YOLOv5s模型.實驗結果表明:相比于原始YOLOv5s模型和其他主流算法,本文提出的模型在網絡性能、模型識別率和模型收斂速度方面表現更為突出,能為橋梁日常維護提供更好的輔助作用.

猜你喜歡
注意力卷積橋梁
讓注意力“飛”回來
基于3D-Winograd的快速卷積算法設計及FPGA實現
卷積神經網絡的分析與設計
從濾波器理解卷積
手拉手 共搭愛的橋梁
句子也需要橋梁
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現”
高性能砼在橋梁中的應用
A Beautiful Way Of Looking At Things
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合