張雪明,茅健
(201620 上海市 上海工程技術大學 機械與汽車工程學院)
回轉體零件是機械零件匯總最基本的結構狀態,具有很高的傳動穩定性和裝配便捷性,主要支撐旋轉、傳遞動力、承受載荷等作用,在生產中由于加工過程、生產環境等影響,零件表面出現的拉傷、碰傷、劃痕等缺陷,并且不能及時分檢,會直接影響裝配后的部件質量,因此快速準確地檢測零件的表面缺陷不可或缺。機器視覺是缺陷檢測較為流行的方法,但在圖像采集過程中,采集到的圖像受到不穩定因素的干擾,往往具有低全局對比度和小灰度分布的特點,導致暗區細節模糊,視覺設備很難檢測出小目標缺陷,不利于此類零件的生產效率和質量控制。
隨著科技的不斷發展,以卷積神經網絡為代表的缺陷檢測技術被廣泛應用到缺陷檢測問題中。Long 等[1]提出一種直接對圖像像素進行類別劃分實現圖像分割效果的全卷積神經網絡 FCN(fully convolutional networks);Badrinarayana 等[2]提出SegNet 網絡,在解碼器中使用反池化,并在分割中保持高頻細節的完整性。Ronneberger 等[3]提出Unet 模型,對圖像進行編碼-解碼操作,并通過跳躍連接實現高低層次的特征融合,在醫學、遙感工業等領域取得良好效果;鐘思華等[4]通過引入密集連接,提出了一種改進的Unet 模型,可以對CT圖像中的肺結節進行準確的分割;張翠軍等[5]提出一種引入注意力機制 U-Net 的遙感圖像中建筑物變化檢測方法,對圖像背景復雜、小目標的建筑物檢測效果明顯提升;劉暢等[6]提出一種改進的Unet的磁瓦缺陷檢測識別算法,提取磁瓦表面缺陷,同時由于其結構簡單、效率高、可塑性強,被廣泛應用于醫學圖像分割和工業缺陷檢測;SE-Net[7]設計的特征壓縮激活模塊對特征維進行加權優化,從而提高模型的特征學習能力,即用特征壓縮激活模塊SE-ResNet 101 在 ImageNet 上的分類精度超過更深的ResNet 152;劉浩等[8]利用嵌入特征壓縮激活模塊在遙感圖像中進行建筑物的提取,對大小各異形狀不規則的建筑物提取效果較好;文喆皓等[9]結合Unet 與注意力機制提取磁瓦表面孔洞和裂紋缺陷,取得不錯的效果。
本文針對回轉體表面倒偏角、拉傷、線性紋缺陷識別,提出一種改進的Unet 網絡的缺陷檢測方法,建立Unet 網絡架構模型,嵌入SENet 模塊的Unet 卷積神經網絡實現缺陷分割,完成缺陷圖像的細節特征提取,從準確率、召回率以及F1分數3 個指標上對Unet-SE 網絡進行客觀評估,提出改進意見。實驗表明,嵌入特征壓縮激活模塊的改進的Unet 網絡,在沒有后處理的情況下,在數據集上的準確率、召回率、F1分數優于同分割網絡的SegNet、FCN、UNet 結構。
SENet(Sequeeze-and-Excitation Network)的核心在于SE 模塊,可嵌入其他分類或者檢測的模型中,該結構由Squeeze、Excitaion 兩部分構成,通過學習的方法自動獲取通道權重,捕捉空間相關性,從而提高了網絡的表達能力,在各個領域廣泛的應用[10-13],其結構如圖1 所示。

圖1 SE 模塊結構Fig.1 SE module structure
第1 步是通過壓縮過程(Squeeze),采用全局平均池化算法H×W×C 的全局信息通過池化壓縮到1×1×C 的一個通道中,使得感受野更廣,算法如下:

第2 步是激活過程(Excitation)。通過2 個全連接層(Fully-connected)進一步對特征進行壓縮和重構后接“ReLU” 函數[14]和“Sigmoid” 做激活層得到特征維度的權重信息,目的是抓取各個通道之間的關系。


式中:Wr,Ws——壓縮和重構的全連接函數,先降維后升維,再由sigmoid 函數進行激活,得到相應的權重,最終的輸出通過輸入通道與各自的權重相乘得到,如式(4):

總的來說,SE 模塊是將多通道的W×H 的特征圖轉化為壓縮特征向量后,通過權重Wr、Ws,訓練出對特征圖有選擇能力的全連接網絡,通過ReLU函數和Sigmoid 激活函數,輸出一個針對各特征圖的權重向量,并與原始特征圖相乘得到最終的輸出。
在壓縮和激活過程之后,將權重與原始輸入對位相乘,映射為原圖每個通道的權值,借助注意力機制,使模型學習到不同通道的重要程度,且這個權值信息是可以通過學習缺陷各通道之間相互依賴性重新校正,從而學習到更為有用的缺陷特征,并且可以抑制多余特征。
U-Net 網絡用于解決圖像分割問題,尤其是較小的微觀粒子分割效果顯著,能夠很好地提取圖像特征信息。由于缺陷區域邊界和微觀粒子邊界特征相似,采用Unet 網絡應用于缺陷提取,能夠有效提高提取的準確性。改進Unet-SE模型結構如圖2所示。

圖2 Unet-SE 網絡結構Fig.2 Network structure of Unet-SE
對于軸類零件的缺陷分割,缺陷區域為前景,其他為背景,屬于像素級二分類問題,常使用二值交叉熵損失函數作為損失函數,公式為:

式中:gi——像素點i 的真實類別;pi——網絡對像素點i 的預測結果。
還有一種常用于分割任務的損失函數dice loss,它的提出是在V-net[9]中。Dice 可以表示為

Dice 相似系數值是用來衡量預測結果與真實結果之間的相似程度二分類的,Diceloss 公式為:

式中:gi——像素i 真實類別;pi——網絡對像素點i 的預測結果。
本文根據BCELoss 和DiceLoss 的特點,提出了一種混合損失函數,公式為:

式中:α——權重因子,可以調節2 種損失函數所占權重。
本文采用了深度學習神經網絡性能評價常用的3 個指標:準確率(Precision)、召回率(Recall)、F1 分數作為模型分類性能評價標準。準確率越高說明模型對負類區分能力強;召回率越高表示對正類的識別能力強;F1 分數是二者的平衡,越高表示模型穩定。計算公式如式(9)—式(11)所示。

式中:P——所有正類的個數;N——所有負類的個數;TP——正類判定正類的個數;TN——負類判定為負類個數;FN——正類判定為負類的個數;FP——負類判定為正類的個數。
本算法針對回轉體零件的缺陷分割網絡,涉及到大量矩陣運算和權重參數矩陣,較于CPU,GPU更擅長執行大規模矩陣運算,更為簡單且運算速度更快,所以我們利用GPU 完成運算。本文的實驗條件見表1。

表1 實驗條件Tab.1 Experimental conditions
搭建軸類零件缺陷檢測系統,利用條形白光源和面陣工業相機進行圖像采集,采用低角度水平對打光源照射。工件放置在雙支撐滾輪機構上,由滾輪帶動旋轉實現360°全周成像。其中,拉傷缺陷圖共115 張,倒偏角缺陷圖共75 張,線性紋缺陷圖共84 張。使用180°旋轉、水平鏡像、裁剪、調整明暗度等方法分別對3 種缺陷圖像各200 張,對數據類型進行一定的增強,共計600 張。剪裁至長寬均為1 024 分辨率,將數據集按7∶2∶1 的比例劃分為訓練集、驗證集、測試集??紤]到網絡訓練是有監督的,本文通過easyDL 進行標注提取圖片中的缺陷區域,輸入為圖像下采樣后的512 分辨率。
Unet 網絡選用BCEloss 和Diceloss 作為損失函數,選擇SGD 進行優化,批處理(batchsize)為4,epoch 設置為60 輪,學習率衰減方式為指數衰減,初始值為0.001。在60 個epoch 的訓練過程中的精度變化曲線和損失函數變化曲線如圖3、圖4 所示。通過60 個Epoch 后獲得精度85.43%,以及混合損失約為0.094 5 的模型。

圖3 訓練損失和驗證損失Fig.3 Training loss and validation loss

圖4 訓練精度和驗證精度Fig.4 Training accuracy and verification accuracy
SegNet、FCN、Unet 以及本文算法的評價指標對比見表2??梢钥闯?,Unet 的分割性能率略高于SegNet,這是由于 SegNet 對網絡編碼部分提取的特征并未充分利用,通過標記最大池化的坐標用于解碼器中的上采樣,卻忽略了高低層特征在空間進行像素定位和分類間的聯系,所以分割結果比另外2種模型粗糙。FCN 是統一將編碼器各輸出壓縮,再上采樣到最大尺度后在特征維進行連接后分類,由于像素之間的關系處理不好,得到的結果并不精細。Unet 則是通過跳躍連接將低層的特征和高層特征進行融合,得到的結果具有更多的細節。Unet-SE的性能略高于Unet 本身,這是因為特征壓縮激活模塊對特征進行加權強化,提高了特征的學習能力,網絡具有更強表達力的深層特征。

表2 不同網絡學習性能評價指標對比Tab.2 Comparison of different network learning performance evaluation indexes
為了更好地對本文算法進行評價,采用常用的分割模型SegNet、FCN、Unet 進行對比實驗。實驗對比結果如圖5 所示。可以看出,本文的分割效果整體最接近人工標注。在客觀的評價指標中加入了特征壓縮激活模塊,在缺陷提取問題上有效地提高了模型能力。圖5(a)缺陷都是倒偏角缺陷,所有的網絡都分類較好的結果,但是Unet 和UNet-SE 具有更好的分割效果,提取了大致的形狀,其他的網絡把陰影部分的缺陷遺漏掉;圖5(b)缺陷都是拉傷缺陷,缺陷形狀較小,識別性較差,FCN 提取的完整性較差,連續性較差,Unet 提取錯一部分背景,不規則缺陷只有Unet-SE 能夠完整地提取出來;圖5(c)都是線形紋缺陷,SegNet和FCN 都有漏分割的部分,Unet-SE 提取的形狀較為完整。從圖5 可以看出,各個網絡對于缺陷提取都有較好的效果,但是Unet-SE 的優點在于對于邊緣、形狀不規則的缺陷提取精確,這是因為其有較大的感受野,SE 模塊對特征進行了加權的強化,進一步加強了這些特征的表達能力。


圖5 不同模型對比實驗Fig.5 Comparison experiment of different models
本文基于Unet 特征復用思想并嵌入了SE 模塊,使用BCE 和Dice 的復合損失函數進行訓練,在自制的數據集上和多種網絡進行對比,得出如下結論:Unet-SE 根據特征的有效性自適應地對特征進行激活,強化特征學習的過程,同時還在解碼的過程中連接編碼特征,提高網絡對空間信息的恢復。Unet-SE 在測試集上的實驗結果在精確率、召回率、F1 分數上分別達到0.929 8,0.892 9,0.911 0,超過了本文引用的SegNet、FCN、U-Net 等其他網絡。
本實驗中Unet-SE 雖然在自制的數據集上取得了較好的效果,只是在標注好的自制數據集上進行,數據量可擴充,使得網絡模型訓練泛化性能更好;本實驗基于Unet 的網絡結構進行設計,但是不確定是最優解,后續工作可以在網絡深度和寬度進行優化。