?

基于U型殘差編解碼網絡的帶鋼缺陷檢測算法

2023-08-05 06:54郭華平毛海濤詹尚桂孫艷歌
關鍵詞:殘差損失卷積

郭華平,毛海濤, 詹尚桂,孫艷歌,李 萌,張 莉

(信陽師范大學 計算機與信息技術學院, 河南 信陽 464000)

0 引言

帶鋼是工業生產中一種不可或缺的原材料,在航空航天、船舶、汽車等制造領域有著廣泛的應用。然而,在制造過程中受制造工藝和生產環境等復雜因素的影響,帶鋼表面可能會出現各種類型的缺陷,如劃痕、裂紋、斑塊等。這些缺陷不僅會對產品的外觀造成影響,還會影響其使用壽命。因此,帶鋼表面缺陷檢測是現代工業生產中極其重要的一步。由于傳統的人工檢測方式受視覺疲勞、注意力分散等因素的影響,很難達到現代工業生產中高效性和實時性的要求,所以建立帶鋼表面缺陷自動檢測系統對帶鋼質量控制具有極其重要的意義。人類視覺系統具有有效的注意力機制,受人類視覺注意機制的啟發,顯著性目標檢測技術被用來快速檢測缺陷對象。顯著性目標檢測可以快速捕捉圖像中最重要視覺信息,并過濾大量背景干擾,所以其作為一種快速的預處理操作被廣泛應用于各種計算機視覺任務,如圖像分割[1]、缺陷分類[2]、缺陷檢測[3]、目標跟蹤[4]等。

目前,根據特征提取策略的不同,顯著性目標檢測方法主要分為基于傳統模型的方法和基于深度學習的方法。前者先是手工制作視覺特征,然后根據先驗知識和假設開發各種模型,例如稀疏編碼、流形排序等。如BOLUKI等[5]提出了一種基于最優Gabor濾波的紡織面料實時檢測自動算法。由于該算法對噪聲很敏感,只能適用于特定的情況。為了解決上述問題,基于深度學習的顯著性檢測方法被提了出來。在真實值的監督下,深度學習方法可以自動學習豐富的圖像表示,顯著提高了缺陷檢測的性能。盡管基于深度學習的顯著性檢測方法已取得了矚目的結果,但它們在目標完整性和邊界保留方面仍有一些不足。具體而言,現有基于深度學習的缺陷檢測方法在分割缺陷對象方面仍具有以下缺點:1)在檢測具有小目標的圖像時,很難從緊湊的背景中分割出完整的缺陷對象;2)在處理雜亂背景或低對比度時,往往會引入背景噪聲,無法清晰地檢測出整個缺陷區域。

針對以上問題,本文提出了U型殘差編解碼網絡(U-Residual Encod-Decoder Network,UDRNet),具體如下:

(1)提出一種基于編解碼殘差網絡的顯著性檢測方法,該方法具有較小的模型規模且具有較高的檢測精度和魯棒性;

(2)在編碼器階段,利用全卷積神經網絡(Fully Convolutional Network,FCN)[6]的優勢,提取豐富的多尺度特征;同時,引入輕量級注意力機制,使模型更加關注重要的缺陷區域;

(3)在解碼器階段,使用所提出的U型殘差解碼塊(U-shaped Residual Decoding Block,URB),以恢復在FCN的多個層中編碼的顯著性信息;同時,解碼網絡后添加了一個細化網絡,以優化顯著圖中缺陷對象的邊界細節。

為了使模型更好地定位缺陷區域,本文采用深度監督機制,6個監督信號分別被施加到解碼器網絡中的5個U型解碼塊和細化網絡上,用于監督U型解碼塊和細化網絡的預測。

1 提出方法

先詳細介紹UDRNet的3個子模塊,然后進一步闡述融合損失對網絡輸出完整結構和詳細邊界的重要性。

1.1 編碼器網絡

采用編碼器-解碼器結構的顯著性檢測方法,這種網絡結構可以有效地融合低層豐富的紋理信息和高層詳細的上下文語義信息,有助于精準預測缺陷對象的位置。與以往的編解碼網絡不同,本文使用ResNet-34作為特征提取的主干,采用殘差網絡作為主干,一方面,其不是簡單地堆疊在一起,而是使用跳越連接;另一方面,殘差網絡實現較深層次的網絡時,受梯度消失影響小,并且具有較低復雜性。

編碼器部分具有1個輸入卷積層和4個殘差塊(conv2-3、conv3-4、conv4-6和conv5-3)。輸入卷積層和4個殘差塊都來自ResNet-34,不同之處在于,本文所提出模型輸入層通道數為64,卷積核大小為3×3、步長為1,而不是7×7、步長為2的卷積核。為了進一步擴大感受野的大小,本文在輸入層之后添加了一個步長為2的最大池化操作。最后,每個卷積的輸出被送到BN層,隨后使用ReLU激活函數來增強非線性表示能力。

近年來,注意力機制因其可移植性和高效性而被廣泛用于各種計算機視覺任務中。因此,在ResNet-34[7]的每個殘差基本塊中嵌入了一個輕量級的卷積注意力機制模塊,表示為RM-i(i=1,2,3,4)。RM的詳細結構如圖1所示。

圖1 RM的詳細網絡結構圖Fig. 1 Detailed network structure diagram of RM

為了進一步捕捉全局信息,在編碼器跟解碼器之間添加一個空洞卷積模塊,它是由3個512通道(擴張率為2)且卷積核大小為3×3的卷積層組成。為了與原始ResNet-34保持相同的分辨率,第一個卷積層以2的步幅進行下采樣。然后,這些卷積層中的每一層之后是BN和ReLU激活函數。

1.2 URB解碼網絡

在顯著目標檢測與其他分割任務中,局部和全局信息都非常重要。但現有的大部分卷積神經網絡,為了節省空間和提高計算效率,通常使用尺寸為1×1或者3×3的卷積核進行特征提取如VGG[8]、DenseNet[9]等。受尺寸限制,卷積核感受野較小,淺層的輸出特征僅包含局部特征。為了獲得更多的全局信息,最直接的方法是擴大感受野。傳統的卷積神經網絡是對圖像先做卷積再進行池化操作,降低圖像尺寸的同時增大感受野。但是由于圖像分割預測的輸出是逐像素的,所以只有將池化后的圖像上采樣到原始的圖像尺寸再進行預測,才能使得每個像素都能看到較大感受野信息。

因此使用FCN圖像分割中有兩個關鍵點:一個是池化操作減小圖像尺寸的同時增大感受野;另一個是上采樣擴大圖像尺寸。然而在尺寸變化的過程中,會造成一些空間信息的丟失??斩淳矸e的提出解決了上述問題??斩淳矸e的引入能擴大感受野和捕獲多尺度上下文信息。另外空洞卷積還可以通過調整擴張率,從而獲得不同的感受野。

綜上所述,為了捕獲多尺度特征,提出了一個U型的殘差解碼網絡URB。URB-L(Cin,M,Cout)的結構如圖2所示,其中L是解碼器中的層數,Cin、Cout表示輸入和輸出信道,M表示URB內部層中的信道數。

圖2 URB的整體結構Fig. 2 Overall structure of URB

URB主要由3部分組成:

(1)先是一個輸入卷積層,把輸入Cin通道的圖像x轉換為Cout通道的中間映射F1(x),這層是用來提取局部特征。

(2)高度為L的U型對稱編解碼結構,以中間特征映射F1(x)為輸入,學習提取和編碼多尺度上下文信息U(F1(x))。L越大,意味著URB就需要更多的池化、更大的感受野和更豐富的局部和全局特征。通過調整此參數,可以從任意空間分辨率的輸入特征映射中提取多尺度特征。該方法先從下采樣的特征映射中提取多尺度特征,然后通過逐步上采樣、連接和卷積將其編碼成高分辨率特征映射。這個過程減輕了大尺度直接上采樣造成的細節損失。

(3)受ResNet的啟發,一個跳越連接通過相加的方式融合局部特征和多尺度特征F1(x)+U(F1(x))。

殘差塊中的運算可以總結為

H(x)=F1(x)+U(F1(x)),

式中:H(x)表示輸入特征x的期望映射,F1代表權重層。URB與殘差塊的主要區別在于URB將平面的卷積替換為U型結構,并用權重層轉換的局部特征替換原特征。這種結構設計使得網絡能夠直接從每個殘差塊中提取多個尺度的特征。更重要的是,因為大多數操作都應用在下采樣特征映射上,所以U結構的計算開銷很小。

1.3 細化網絡

在訓練過程中,采用深度監督機制,以利于有用信息向缺陷對象區域傳播。但輸出顯著圖仍有部分細節丟失,因此本文提出了一個具有1D濾波器的殘差細化結構(RRS_1D),如圖3所示該結構遵循編碼器-解碼器風格。

圖3 UDRNet網絡結構圖Fig. 3 Network structure diagram of UDRNet

細化模塊的編碼器和解碼器都由4個級組成,每級由兩個卷積層組成,后面是一個最大池化或雙線性上采樣單元。而橋接部分是具有64通道且卷積核大小為3×3的卷積層,隨后是BN和ReLU激活函數。為了實現更深的網絡層數,使用最大池化操作進行下采樣。用于上采樣的雙線性插值的引入,是為了更好地匹配特征尺寸。另外,為了避免占據大部分計算復雜度的卷積,采用了兩個專門的1D濾波器(即3×1和1×3卷積),有效地平衡了細化性能和計算效率。最后將Sigmoid映射后的細化圖作為UDRNet的最終顯著圖。

1.4 損失函數

由于顯著對象檢測本質上也可以看作是一個密集二分類問題,因此它的輸出是每個像素成為前景對象的概率分數,所以大多數以前的方法總是使用交叉熵作為訓練損失。然而,這種簡單的策略使網絡很難捕捉顯著對象的全局信息,從而產生了模糊的邊界或不完整的檢測結果。為了在邊界定位和結構捕捉方面學習更詳細的信息,在QIN等[10]工作的影響下,構造了一個融合損失來監督網絡的訓練過程。融合損失分別由BCE(Binary Cross Entropy)、IOU(Intersection Over Union)和SSIM(Structural Similarity Index)3種損失組成。因此UDRNet的總損失被定義為:

(1)

2 實驗

2.1 實驗配置

為了驗證所提出的模型的有效性,在一個具有挑戰性的公共帶鋼基準數據集SD-saliency-90[11]上進行了各種實驗。該數據集總共包含900幅帶有3種缺陷類型(夾雜物、斑塊和劃痕)的裁剪圖像,每幅圖像的分辨率為200×200像素。除此之外,SD-saliency-900也有SONG等[11]貢獻的像素級注釋。

2.2 評價指標

使用幾個普遍認可的評價指標,評估了各種顯著目標檢測方法,包括MAE(mean absolute error)、WF(weightedF-measure)、SM(structure-measure)等。

MAE被用來測量預測的顯著性圖與真實值之間的差異,定義為

(2)

式中:N為測試圖像的個數,ygt為真實圖像,ypred為預測圖像。

WF是F-measure的加權版本,用于克服插值缺陷、依賴性缺陷和同等重要性缺陷可能導致的不公平比較。定義為:

(3)

式中:Precison為準確率,Recall為召回率,w為權重系數,β為平衡系數(設置為1)。

SM用于評估預測的非二值顯著性圖和真值的結構相似性,定義為:

SM=αso+(1-α)sr,

(4)

式中:so為對象感知相似性,sr為區域感知相似性,α為平衡因子(通常設置為0.5)。

PFOM用于評估圖像分割的邊界質量,定義為:

(5)

式中:Ne和Nd分別是理想邊緣點和真實邊緣點的數量,dk是第k個理想邊緣點與檢測的邊緣點之間的像素誤差距離,β是縮放系數(實驗中設置β=1/9)。

2.3 參數設置

使用NVIDIA TITAN Xp 圖形處理器加速實現了基于Pytorch框架的模型。為了訓練并比較其他深度模型,構建了一個標準的包含810個圖像的訓練集。該訓練集隨機從SD-saliency900數據集中選擇的540幅原圖像(每種缺陷類型180幅圖像)和受噪聲(ρ=20%)干擾的270幅圖像(每種缺陷類型90幅圖像)組成。這些噪聲圖像的原圖像是從之前的540幅圖像中隨機采集的,有助于增強網絡的魯棒性。

在訓練過程中,首先將每個圖像I的大小調整為256×256,并隨機裁剪為224×224,然后通過(1-μ)/σ進行歸一化。均值μ和標準差σ分別設為0.466 9和0.243 7。此外,不使用任何驗證集,而是訓練模型直到訓練損失收斂。訓練時,采用初始化策略來初始化特征,網絡的參數不是使用預先訓練好的ResNet-34模型,而是通過初始化提取。其他層的參數通過使用Pytorch的默認設置來初始化。整個網絡以端到端的方式進行訓練。利用RMSprop優化器來訓練所提出的網絡,其超參數設置如下:學習率為(1e-3),而其他參數固定為默認值。訓練過程大約需要7 h,在大約50 K次迭代后收斂,批量為8。測試時,將每幅圖像簡單地調整到256×256,并反饋到網絡以獲得其顯著圖。

2.4 消融實驗

為了驗證所提出的UDRNet模型中使用的每個關鍵組件的有效性,進行了消融實驗。該消融研究包括結構分析和損失分析。所有的實驗都是在SD-saliency-900數據集上進行的。

(1)結構分析

為了證明所提出網絡模型中關鍵組件的有效性,使用MAE、WF和SM指標對模型進行了相關結構的定量評估。如表1所示,每次增加一個關鍵組件,模型的性能也會相應提高,所以包含組件CBAM、URB和RRS_1D的模型實現了最佳性能。其中“*”表示去除相關子模塊,例如UDRNet-URB*表示不包含子模塊URB的UDRNet模型。與基準模型相比,UDRNet在MAE上實現了26%的大幅降低,在WF和SM指標上分別貢獻了3.0%和1.4%的收益??陀^地證明了所提出的模型中的所有關鍵組件對于獲得最佳的缺陷對象檢測結果都是有用和必要的。

表1 結構分析Tab. 1 Structural Analysis

(2)損失分析

為了驗證所構建的融合損耗的合理性,對UDRNet結構進行了一組不同損失的實驗。如表2最后一行所示,配備融合損失Lall的UDRNet實現了優越的性能。與采用廣泛使用的交叉熵損失Lbce的對應方法相比,WF和SM分別增長了2.50%和0.56%,而MAE則下降了14.00%。結果發現,使用Lall可以很好地保留缺陷對象的邊界,并有效地抑制背景噪聲的干擾。因此,這些結果說明融合損失能讓本文提出的模型在邊界定位中學習更詳細和準確的信息。

表2 損失分析Tab. 2 Loss analysis

2.5 結果對比

將提出的UDRNet模型與基于傳統模型或深度學習的8種最新的顯著性檢測方法進行了比較,包括RCRR[12]、2LSG[13]、BC、SMD、PoolNet[14]、PiCANet[15]、CPD[16]和BASNet[10],如表3。為了公平比較,使用默認參數運行作者發布的源代碼或可執行文件。值得注意的是,所有比較的深度學習模型都在所提出的標準訓練集上重新訓練。

表3 運行速率比較Tab. 3 Running rate comparison

為了定量評估分割缺陷對象的質量,設置ρ=10%,表4中展示了所提出模型相對于8種最先進方法的性能。從表4可以看出,與現有的CPD[16]方法相比,在WF、SM和PFOM度量上分別實現了12.6%、8.6%和3.1%的提升。此外,與BASNet方法相比,所提出的模型在MAE上也實現了14.5%的大幅降低。而對于邊界質量,UDRNet在PFOM度量方面比BASNet方法提高了1.9%。事實證明,所提出的模型性能更好。

表4 與8種最新模型的性能比較Tab. 4 Performance comparison with eight state-of-the-art models

2.6 運行效率

在NVIDIA TITAN Xp的GPU上對比了8種顯著性檢測方法在SD-saliency-900數據集上平均運行時間和模型大小。對于一幅200×200的測試圖像,本文方法在不進行任何其他的后處理情況下,只需要0.035 s就可以產生最終的顯著圖,除了PoolNet,比其他大多數競爭方法都快得多。雖然BASNet和本文的模型一樣都獲得了出色的檢測結果,但BASNet的模型規模最大。相比之下,所提出的UDRNet尺寸還不到它的1/2。上述結果表明,UDRNet能夠更好地滿足當前工業缺陷檢測的要求,但仍有不足,對于未來的工作仍有進一步提高其效率的空間。

3 結論

提出了一種新的端到端的編解碼殘差網絡UDRNet來有效地檢測帶鋼表面缺陷。通過結合深度監督和融合損失的方式,使模型能夠捕捉更精細的細節,并且更容易優化。大量的實驗表明,該模型在生成邊界清晰的缺陷對象的同時,能有效地濾除背景噪聲,最終生成幾乎接近真實值的顯著圖。與其他8種最新的方法相比,UDRNet模型在4個評價指標上取得了最好的性能,并且具有很強的魯棒性。此外,UDRNet不需要任何后處理,并且在單個GPU上以實時速度運行。

猜你喜歡
殘差損失卷積
基于雙向GRU與殘差擬合的車輛跟馳建模
基于3D-Winograd的快速卷積算法設計及FPGA實現
胖胖損失了多少元
基于殘差學習的自適應無人機目標跟蹤算法
基于遞歸殘差網絡的圖像超分辨率重建
從濾波器理解卷積
玉米抽穗前倒伏怎么辦?怎么減少損失?
基于傅里葉域卷積表示的目標跟蹤算法
一般自由碰撞的最大動能損失
損失
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合