代曉林,劉夢玫,生 群,李 林,苗延麒,韓偉
(1.大連惠友自動化有限公司,遼寧 大連 116083;2.大連船舶重工集團有限公司,遼寧 大連 116083)
鋼板是鋼鐵行業的主要產品,占據行業總產量的65%。鋼板也是建筑業、航天航空業、機械制造業,汽車制造業、造船業等制造工業的主要基礎材料。鋼板的任何質量問題,都會對制造業造成巨大的經濟損失,也會對鋼板制造商造成巨大的聲譽損失。對于厚度薄、寬度大的鋼板材料而言,表面缺陷是產品質量最大的威脅。即使是偶爾發生的鋼板內部缺陷,也會大概率的在鋼板表面表現出不同的形態。傳統的人工鋼板表面缺陷檢測,需要大量人工,效率低且遺漏率高。自動視覺檢測設備則可以實現高速、高精度、全自動化的缺陷檢測,極大提高產品質量和生產效率。自動視覺檢測設備逐漸成為企業進行鋼板表面質量檢測的標準儀器。
自動視覺檢測設備的核心是高效的算法。早期的缺陷識別算法有統計識別算法、波譜法、模型法等。例如,Neogi[1]等提出基于梯度圖像的全局自適應閾值算法;Ma[2]等提出了一種基于鄰域灰度差異的方法;Choi[3]等提出了一種基于形態增強的雙加博濾波器算法。這些方法對缺陷的規律性要求高,對小尺寸的缺陷識別精度差,且需要專業的探測設備配合獲取數據。隨著計算機GPU算力的不斷提高,以及計算機視覺算法的不斷突破,深度學習算法得到了廣泛的應用。在鋼板缺陷檢測領域,深度學習算法可以克服以往算法的缺點,快速、高精度地識別多類別表面缺陷。
提出的改進Swin Transformer算法可以準確、快速地識別多種類別的鋼表面缺陷。相對于常用的Faster RCNN,Mask RCNN等算法,具有對小尺寸缺陷識別精度更高,訓練及預測速度更快的優勢。該算法使用Swin Transformer替代計算量較大的卷積神經網絡(CNN),且將Swin Transformer與特征金字塔(FPN)相結合,使之能夠保留小缺陷數據,預測精度更高。
常見的鋼板表面缺陷有6種[4],分別是內含物、劃痕、軋制氧化皮、開裂、點蝕表面和斑塊,如圖6所示,每種缺陷的基本特征:
(1)內含物:在灰度圖中的特征是暗色點狀及帶狀物,長度、寬度不一,位置隨機。
(2)劃痕:在灰度圖中的特征是明亮的細長條形物,寬度較小,長度較大,一條劃痕附件經常有其他劃痕。
(3)軋制氧化皮:在灰度圖中的特征是暗色斑點,有凹凸感,比點蝕大,比斑塊小。

圖1 鋼表面缺陷類型示例
(4)開裂:在灰度圖中的特征是不規則的龜裂紋路,多條龜裂同時存在的情況比較常見。
(5)點蝕表面:在灰度圖中的特征是細小的暗色小點,密集度高,數量多,多點蝕聚集在一起,大面積出現。
(6)斑塊:在灰度圖中的特征是較大面積的暗色,形狀不規則,經常單獨出現,位置隨機。
從對每種缺陷基本特征的分析中可以看出,不同種類的缺陷在灰度圖上的特征有如下特點:點蝕表面、開裂的缺陷尺寸小;軋制氧化皮的灰度對比不明顯;內含物和劃痕的缺陷尺寸較為相似。傳統算法難以處理分析具有這些特征的缺陷,因此采用基于深度學習的視覺檢測算法進行處理[5-6]。
現有的目標檢測方法中,例如Faster RCNN,Mask RCNN等,多使用CNN和上采樣作為特征提取的方法,卷積核大小及池化方法的選擇會嚴重影響檢測的精度及效率。卷積核越小,所需要參數和計算量也越小,但是感受野也越小;上采樣次數越多,感受野也越大,但是丟失的像素信息越多。Swin Transformer做特征提取,則既可以盡可能多的保留原始像素信息,也可以減少計算量。
圖2是兩個連續的Swin Transformer模塊,一個Swin Transformer模塊由一個帶兩層的多層感知機(MLP)的非重疊局部窗口多頭自注意力模塊(WMSA)和移位窗口多頭自注意力模塊(SW-MSA)組成。在每個MSA模塊和每個MLP之前使用層歸一化(LayerNorm),并在每個MSA和MLP之后使用殘差連接。
如圖3所示,W-SMA是將特征圖用 大小的窗口進行劃分,并在每個窗口中進行多頭自注意力操作。在圖3中的多頭自注意力機制中,以頭數取2說明自注意力機制的運算過程,即通過注意力函數得到每個子窗的變量(query)、關鍵字(key)、關系值(value)集合,然后將該集合映射成頭數為2的輸出,接著將對應位置上的q,k,v進行加權求,最后進行多頭數據拼接。
SW-SMA是將特征圖用M×M大小的窗口進行切分,并對窗口實行移位,實現不同窗口間的信息交互。如圖4所示,被劃分后的窗口沿對角線方向向下移動,然后再將移出坐標軸區域的特征圖移回至相應位置,即可獲得新的窗口。最后在分割后的每個窗口進行多頭自注意力操作。

圖2 Swin Transformer模塊

圖3 非重疊局部窗口多頭自注意力模塊

圖4 移位窗口多頭自注意力模塊
如圖5所示,Swin Transformer作為特征提取的骨干網絡能夠保留小尺度缺陷信息,且運算速度快。為了對各種尺寸的缺陷進行識別、分類和檢測,還需要將Swin Transformer骨干特征提取網絡與特征金字塔(FPN)、區域生成網絡(RPN)、興趣區域匹配(ROI Align)及全連接網絡(FC)進行組合。
在FPN網絡結構中,每一個階段(Stage)的輸出代表不同尺寸的特征圖,對其進行上采樣后,與上一個階段的特征圖進行融合,新得到的特征圖就包含了不同尺寸缺陷的特征。把特征圖P2、P3、P4、P5輸入RPN區域建議網絡,根據原圖尺寸獲取預定個數的建議框,對一個物體生成多個候選建議框;把候選建議框輸入進行二值分類,然后使用RoI Align進行池化綜合,再經過全連接網絡進行分類和回歸,得到檢測結果和相應的損失。
采用“[]×d”表示Swin Transformer迭代的次數,win.sz.表示對特征圖進行劃分的窗口大小,dim表示通道數,head表示頭數。則Swin Transformer特征提取網絡參數具體見表1。

圖5 基于Swin Transformer的鋼板表面缺陷識別網絡

表1 Swin Transformer網絡參數
原始數據采用NEU熱軋帶鋼表面缺陷數據庫,包括內含物、劃痕、軋制氧化皮、開裂、點蝕表面和斑塊6類缺陷,每類缺陷圖片300張,一共1800張鋼板表面缺陷圖片,圖片尺寸為(200×200)px。使用OpenCV進行數據增強,將每類圖片增強至600張,一共3600張圖片。其中3000張圖片作為訓練樣本,600圖片作為測試一樣本。
為排除試驗環境對測試數據的干擾,所有試驗均在同一臺計算機上進行。計算機的操作系統為CentOS 8.0,CPU為Intel Core i7 8700,GPU為RTX8000,內存為DDR$3200MHz 32GB,使用Python,OpenCV對數據進行預處理,深度學習框架為Pytorch v1.10.0。
在評估對鋼板表面缺陷圖片的檢測效果上,使用不同類別的所有類別的平均精度mAP(mean Average Precision)與識別幀率作為評價指標。每個模型的超參數設置相同,初始學習率為0.0001;使用adam優化器;學習衰減率為0.1,衰減步長為400,衰減周期為50。Batch_size為8,375個batch為一個epoch,訓練迭代100個epoch。表2為6種缺陷在測試集數據集上的檢測精度與mAP。

表2 6種缺陷的檢測精度
如 表2所 示,YOLO V4,Faster R-CNN,Swin Transformer算法的mAP分別為85.91%,88.81%,91.19%。Swin Transformer算法具有更好的檢測精度。每種算法的檢測速度及權重文件大小見表3。

表3 缺陷的檢測速度與權重文件大小
由表3可知,Swin Transformer的檢測速度比Faster R-CNN更快,且權重文件更小,參數更少;比YOLO V4的檢測速度慢,但是也可以滿足實時檢測的速度要求。因此,提出的基于Swin Transformer骨干網絡的鋼板表面缺陷檢測方法,不僅能夠滿足工業生產中缺陷檢測的速度要求,做到實時檢測;而且檢測精度更高。
用基于Swin Transformer骨干網絡的鋼板表面缺陷檢測方法檢測鋼板表面常見的6種缺陷。該方法解決了以往方法對小尺寸缺陷識別精度差的問題,且能用較少的模型參數實現較快的計算速度。與YOLO V4和Faster R-CNN的對比試驗中可以看出,Swin Transformer的mAP分別提高了5.28%和2.38%。該算法檢測速度達到了35幀/s,可以實現實時檢測。