代曉林,劉夢(mèng)玫,生 群,李 林,苗延麒,韓偉
(1.大連惠友自動(dòng)化有限公司,遼寧 大連 116083;2.大連船舶重工集團(tuán)有限公司,遼寧 大連 116083)
鋼板是鋼鐵行業(yè)的主要產(chǎn)品,占據(jù)行業(yè)總產(chǎn)量的65%。鋼板也是建筑業(yè)、航天航空業(yè)、機(jī)械制造業(yè),汽車制造業(yè)、造船業(yè)等制造工業(yè)的主要基礎(chǔ)材料。鋼板的任何質(zhì)量問(wèn)題,都會(huì)對(duì)制造業(yè)造成巨大的經(jīng)濟(jì)損失,也會(huì)對(duì)鋼板制造商造成巨大的聲譽(yù)損失。對(duì)于厚度薄、寬度大的鋼板材料而言,表面缺陷是產(chǎn)品質(zhì)量最大的威脅。即使是偶爾發(fā)生的鋼板內(nèi)部缺陷,也會(huì)大概率的在鋼板表面表現(xiàn)出不同的形態(tài)。傳統(tǒng)的人工鋼板表面缺陷檢測(cè),需要大量人工,效率低且遺漏率高。自動(dòng)視覺(jué)檢測(cè)設(shè)備則可以實(shí)現(xiàn)高速、高精度、全自動(dòng)化的缺陷檢測(cè),極大提高產(chǎn)品質(zhì)量和生產(chǎn)效率。自動(dòng)視覺(jué)檢測(cè)設(shè)備逐漸成為企業(yè)進(jìn)行鋼板表面質(zhì)量檢測(cè)的標(biāo)準(zhǔn)儀器。
自動(dòng)視覺(jué)檢測(cè)設(shè)備的核心是高效的算法。早期的缺陷識(shí)別算法有統(tǒng)計(jì)識(shí)別算法、波譜法、模型法等。例如,Neogi[1]等提出基于梯度圖像的全局自適應(yīng)閾值算法;Ma[2]等提出了一種基于鄰域灰度差異的方法;Choi[3]等提出了一種基于形態(tài)增強(qiáng)的雙加博濾波器算法。這些方法對(duì)缺陷的規(guī)律性要求高,對(duì)小尺寸的缺陷識(shí)別精度差,且需要專業(yè)的探測(cè)設(shè)備配合獲取數(shù)據(jù)。隨著計(jì)算機(jī)GPU算力的不斷提高,以及計(jì)算機(jī)視覺(jué)算法的不斷突破,深度學(xué)習(xí)算法得到了廣泛的應(yīng)用。在鋼板缺陷檢測(cè)領(lǐng)域,深度學(xué)習(xí)算法可以克服以往算法的缺點(diǎn),快速、高精度地識(shí)別多類別表面缺陷。
提出的改進(jìn)Swin Transformer算法可以準(zhǔn)確、快速地識(shí)別多種類別的鋼表面缺陷。相對(duì)于常用的Faster RCNN,Mask RCNN等算法,具有對(duì)小尺寸缺陷識(shí)別精度更高,訓(xùn)練及預(yù)測(cè)速度更快的優(yōu)勢(shì)。該算法使用Swin Transformer替代計(jì)算量較大的卷積神經(jīng)網(wǎng)絡(luò)(CNN),且將Swin Transformer與特征金字塔(FPN)相結(jié)合,使之能夠保留小缺陷數(shù)據(jù),預(yù)測(cè)精度更高。
常見(jiàn)的鋼板表面缺陷有6種[4],分別是內(nèi)含物、劃痕、軋制氧化皮、開(kāi)裂、點(diǎn)蝕表面和斑塊,如圖6所示,每種缺陷的基本特征:
(1)內(nèi)含物:在灰度圖中的特征是暗色點(diǎn)狀及帶狀物,長(zhǎng)度、寬度不一,位置隨機(jī)。
(2)劃痕:在灰度圖中的特征是明亮的細(xì)長(zhǎng)條形物,寬度較小,長(zhǎng)度較大,一條劃痕附件經(jīng)常有其他劃痕。
(3)軋制氧化皮:在灰度圖中的特征是暗色斑點(diǎn),有凹凸感,比點(diǎn)蝕大,比斑塊小。
圖1 鋼表面缺陷類型示例
(4)開(kāi)裂:在灰度圖中的特征是不規(guī)則的龜裂紋路,多條龜裂同時(shí)存在的情況比較常見(jiàn)。
(5)點(diǎn)蝕表面:在灰度圖中的特征是細(xì)小的暗色小點(diǎn),密集度高,數(shù)量多,多點(diǎn)蝕聚集在一起,大面積出現(xiàn)。
(6)斑塊:在灰度圖中的特征是較大面積的暗色,形狀不規(guī)則,經(jīng)常單獨(dú)出現(xiàn),位置隨機(jī)。
從對(duì)每種缺陷基本特征的分析中可以看出,不同種類的缺陷在灰度圖上的特征有如下特點(diǎn):點(diǎn)蝕表面、開(kāi)裂的缺陷尺寸?。卉堉蒲趸さ幕叶葘?duì)比不明顯;內(nèi)含物和劃痕的缺陷尺寸較為相似。傳統(tǒng)算法難以處理分析具有這些特征的缺陷,因此采用基于深度學(xué)習(xí)的視覺(jué)檢測(cè)算法進(jìn)行處理[5-6]。
現(xiàn)有的目標(biāo)檢測(cè)方法中,例如Faster RCNN,Mask RCNN等,多使用CNN和上采樣作為特征提取的方法,卷積核大小及池化方法的選擇會(huì)嚴(yán)重影響檢測(cè)的精度及效率。卷積核越小,所需要參數(shù)和計(jì)算量也越小,但是感受野也越?。簧喜蓸哟螖?shù)越多,感受野也越大,但是丟失的像素信息越多。Swin Transformer做特征提取,則既可以盡可能多的保留原始像素信息,也可以減少計(jì)算量。
圖2是兩個(gè)連續(xù)的Swin Transformer模塊,一個(gè)Swin Transformer模塊由一個(gè)帶兩層的多層感知機(jī)(MLP)的非重疊局部窗口多頭自注意力模塊(WMSA)和移位窗口多頭自注意力模塊(SW-MSA)組成。在每個(gè)MSA模塊和每個(gè)MLP之前使用層歸一化(LayerNorm),并在每個(gè)MSA和MLP之后使用殘差連接。
如圖3所示,W-SMA是將特征圖用 大小的窗口進(jìn)行劃分,并在每個(gè)窗口中進(jìn)行多頭自注意力操作。在圖3中的多頭自注意力機(jī)制中,以頭數(shù)取2說(shuō)明自注意力機(jī)制的運(yùn)算過(guò)程,即通過(guò)注意力函數(shù)得到每個(gè)子窗的變量(query)、關(guān)鍵字(key)、關(guān)系值(value)集合,然后將該集合映射成頭數(shù)為2的輸出,接著將對(duì)應(yīng)位置上的q,k,v進(jìn)行加權(quán)求,最后進(jìn)行多頭數(shù)據(jù)拼接。
SW-SMA是將特征圖用M×M大小的窗口進(jìn)行切分,并對(duì)窗口實(shí)行移位,實(shí)現(xiàn)不同窗口間的信息交互。如圖4所示,被劃分后的窗口沿對(duì)角線方向向下移動(dòng),然后再將移出坐標(biāo)軸區(qū)域的特征圖移回至相應(yīng)位置,即可獲得新的窗口。最后在分割后的每個(gè)窗口進(jìn)行多頭自注意力操作。
圖2 Swin Transformer模塊
圖3 非重疊局部窗口多頭自注意力模塊
圖4 移位窗口多頭自注意力模塊
如圖5所示,Swin Transformer作為特征提取的骨干網(wǎng)絡(luò)能夠保留小尺度缺陷信息,且運(yùn)算速度快。為了對(duì)各種尺寸的缺陷進(jìn)行識(shí)別、分類和檢測(cè),還需要將Swin Transformer骨干特征提取網(wǎng)絡(luò)與特征金字塔(FPN)、區(qū)域生成網(wǎng)絡(luò)(RPN)、興趣區(qū)域匹配(ROI Align)及全連接網(wǎng)絡(luò)(FC)進(jìn)行組合。
在FPN網(wǎng)絡(luò)結(jié)構(gòu)中,每一個(gè)階段(Stage)的輸出代表不同尺寸的特征圖,對(duì)其進(jìn)行上采樣后,與上一個(gè)階段的特征圖進(jìn)行融合,新得到的特征圖就包含了不同尺寸缺陷的特征。把特征圖P2、P3、P4、P5輸入RPN區(qū)域建議網(wǎng)絡(luò),根據(jù)原圖尺寸獲取預(yù)定個(gè)數(shù)的建議框,對(duì)一個(gè)物體生成多個(gè)候選建議框;把候選建議框輸入進(jìn)行二值分類,然后使用RoI Align進(jìn)行池化綜合,再經(jīng)過(guò)全連接網(wǎng)絡(luò)進(jìn)行分類和回歸,得到檢測(cè)結(jié)果和相應(yīng)的損失。
采用“[]×d”表示Swin Transformer迭代的次數(shù),win.sz.表示對(duì)特征圖進(jìn)行劃分的窗口大小,dim表示通道數(shù),head表示頭數(shù)。則Swin Transformer特征提取網(wǎng)絡(luò)參數(shù)具體見(jiàn)表1。
圖5 基于Swin Transformer的鋼板表面缺陷識(shí)別網(wǎng)絡(luò)
表1 Swin Transformer網(wǎng)絡(luò)參數(shù)
原始數(shù)據(jù)采用NEU熱軋帶鋼表面缺陷數(shù)據(jù)庫(kù),包括內(nèi)含物、劃痕、軋制氧化皮、開(kāi)裂、點(diǎn)蝕表面和斑塊6類缺陷,每類缺陷圖片300張,一共1800張鋼板表面缺陷圖片,圖片尺寸為(200×200)px。使用OpenCV進(jìn)行數(shù)據(jù)增強(qiáng),將每類圖片增強(qiáng)至600張,一共3600張圖片。其中3000張圖片作為訓(xùn)練樣本,600圖片作為測(cè)試一樣本。
為排除試驗(yàn)環(huán)境對(duì)測(cè)試數(shù)據(jù)的干擾,所有試驗(yàn)均在同一臺(tái)計(jì)算機(jī)上進(jìn)行。計(jì)算機(jī)的操作系統(tǒng)為CentOS 8.0,CPU為Intel Core i7 8700,GPU為RTX8000,內(nèi)存為DDR$3200MHz 32GB,使用Python,OpenCV對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,深度學(xué)習(xí)框架為Pytorch v1.10.0。
在評(píng)估對(duì)鋼板表面缺陷圖片的檢測(cè)效果上,使用不同類別的所有類別的平均精度mAP(mean Average Precision)與識(shí)別幀率作為評(píng)價(jià)指標(biāo)。每個(gè)模型的超參數(shù)設(shè)置相同,初始學(xué)習(xí)率為0.0001;使用adam優(yōu)化器;學(xué)習(xí)衰減率為0.1,衰減步長(zhǎng)為400,衰減周期為50。Batch_size為8,375個(gè)batch為一個(gè)epoch,訓(xùn)練迭代100個(gè)epoch。表2為6種缺陷在測(cè)試集數(shù)據(jù)集上的檢測(cè)精度與mAP。
表2 6種缺陷的檢測(cè)精度
如 表2所 示,YOLO V4,F(xiàn)aster R-CNN,Swin Transformer算法的mAP分別為85.91%,88.81%,91.19%。Swin Transformer算法具有更好的檢測(cè)精度。每種算法的檢測(cè)速度及權(quán)重文件大小見(jiàn)表3。
表3 缺陷的檢測(cè)速度與權(quán)重文件大小
由表3可知,Swin Transformer的檢測(cè)速度比Faster R-CNN更快,且權(quán)重文件更小,參數(shù)更少;比YOLO V4的檢測(cè)速度慢,但是也可以滿足實(shí)時(shí)檢測(cè)的速度要求。因此,提出的基于Swin Transformer骨干網(wǎng)絡(luò)的鋼板表面缺陷檢測(cè)方法,不僅能夠滿足工業(yè)生產(chǎn)中缺陷檢測(cè)的速度要求,做到實(shí)時(shí)檢測(cè);而且檢測(cè)精度更高。
用基于Swin Transformer骨干網(wǎng)絡(luò)的鋼板表面缺陷檢測(cè)方法檢測(cè)鋼板表面常見(jiàn)的6種缺陷。該方法解決了以往方法對(duì)小尺寸缺陷識(shí)別精度差的問(wèn)題,且能用較少的模型參數(shù)實(shí)現(xiàn)較快的計(jì)算速度。與YOLO V4和Faster R-CNN的對(duì)比試驗(yàn)中可以看出,Swin Transformer的mAP分別提高了5.28%和2.38%。該算法檢測(cè)速度達(dá)到了35幀/s,可以實(shí)現(xiàn)實(shí)時(shí)檢測(cè)。