張 林,謝 剛,2+,謝新林,2,張濤源
(1.太原科技大學 電子信息工程學院,山西 太原 030024;2.先進控制與裝備智能化山西省重點實驗室,山西 太原 030024)
隨著工業(yè)生產(chǎn)技術(shù)的發(fā)展,產(chǎn)品質(zhì)量成為生產(chǎn)技術(shù)水平的重要評價指標。產(chǎn)品質(zhì)量除了要滿足產(chǎn)品相應的性能標準外,產(chǎn)品良好的表面質(zhì)量也十分重要。對于鋼板而言,表面的缺陷不僅影響產(chǎn)品的外觀和商業(yè)價值,還會對鋼板的耐磨性、耐腐蝕性、耐久性等產(chǎn)生負面影響。因此,鋼板表面缺陷檢測是鋼板生產(chǎn)中至關重要的一步。
基于機器視覺的表面缺陷檢測方法具有精度高、效率高、穩(wěn)定性強、防止二次損傷等優(yōu)點,是目前缺陷檢測的重要方法。機器視覺檢測主要分為傳統(tǒng)機器視覺檢測以及基于深度學習的機器視覺檢測。傳統(tǒng)機器視覺可以人為設計缺陷特征,通過支持向量機(Support Vector Machine,SVM)[1]、隨機森林[2]和其他分類器對缺陷進行分類從而進行缺陷檢測,這可能導致表面缺陷檢測方法的魯棒性和泛化能力較差,難以滿足自動化檢測的要求。因為鋼材表面的缺陷種類繁多沒有明顯規(guī)律,難以人為設計特征,所以傳統(tǒng)方法對鋼板表面缺陷的檢測精度較低。而深度學習缺陷檢測是一種基于卷積神經(jīng)網(wǎng)絡對鋼板表面圖像進行檢測的算法。其中,通過卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)對圖像進行處理,自動提取圖像中的特征信息,減輕了特征提取對識別精度的影響?;谏疃葘W習的缺陷檢測方法具有精度高、速度快、適應性強等優(yōu)點,因此廣泛應用于表面缺陷檢測,且檢測精度超越了傳統(tǒng)方法[3-4]。
隨著深度學習的發(fā)展,目標檢測算法被應用于缺陷檢測。該類算法不僅可以獲得缺陷的類別信息,還可以進一步獲得缺陷的大小以及位置信息。目標檢測算法根據(jù)有無錨框主要分為兩種:①通過錨框確定缺陷的大小與類別信息,如Faster-RCNN[5],YOLOv3[6]等基于錨框的目標檢測算法。這些算法通過錨框來預測缺陷的邊界,雖然準確率較高,但計算量較大、運行速度慢。②無錨框的目標檢測算法,雖然解決了計算量較大的問題,通過關鍵點來確定物體中心,并通過關鍵點回歸物體的屬性[7]。但無錨框的目標檢測算法只能在單個特征上預測缺陷,很大程度依賴于正負樣本的平衡以及尺寸回歸損失函數(shù)設置,存在很大的局限性。
基于上述分析,本文使用有錨框的目標檢測算法對缺陷進行檢測。該類目標檢測算法根據(jù)精度與速度的不同要求,分為兩個方向:①以Faster R-CNN為代表的兩階段代表算法,該方法使用區(qū)域建議網(wǎng)絡(Region Proposal Network,RPN)生成候選框,然后實現(xiàn)分類和位置回歸。HE等[8]基于Faster R-CNN結(jié)合多尺度特征融合模塊對鋼板表面缺陷進行檢測,極大提升了網(wǎng)絡的檢測性能;CHEN等[9]設計了一種遺傳算法和反向傳播的訓練方法來訓練Faster R-CNN,從而對織物表面缺陷進行檢測,平均準確率可達78.98%。②以YOLO系列為代表的單階段檢測方法,無需候選框即可進行檢測,從而相較于二階段算法擁有更高的檢測速度。XU等[10]針對金屬表面缺陷,以YOLOv3為基礎生成新的尺度特征層,增強小缺陷特征的提取能力,平均準確率可達75.1%:LIAN等[11]提出一種改進的YOLOv4,用于表面缺陷檢測,有利于工業(yè)場景下的部署,滿足實時性和高精度要求??梢?單階段的目標檢測算法更簡單、更快、更適合工業(yè)領域端到端的鋼板表面缺陷檢測。雖然單階段目標檢測算法已經(jīng)取得了極大的發(fā)展,但實時性較差依然是主要的缺點,單階段目標檢測算法應用于鋼板表面缺陷檢測仍然有改進的潛力。
為了提升鋼板表面缺陷檢測的精度和速度,本文提出一種融合Transformer的鋼板表面缺陷檢測算法,實現(xiàn)了檢測精度與速度的均衡。首先,通過協(xié)調(diào)注意力CA、動態(tài)激活函數(shù)以及Bneck模塊,構(gòu)建一種CA-Bneck模塊,使得模型能夠獲得更多的空間位置信息,提升模型的檢測性能。其次,設計了一種MobileNetv3網(wǎng)絡、CA-Bneck與Transformer融合的主干網(wǎng)絡MobileNetV3-CATr,增強主干網(wǎng)絡捕獲全局信息、特征提取的能力,有效減少鋼板表面小缺陷錯檢、漏檢的發(fā)生。然后,使用MobileNetV3-CATr網(wǎng)絡作為本文的主干網(wǎng)絡,在保證較高檢測精度的條件下,極大地降低了模型參數(shù)量,減輕模型的復雜度,提高模型的檢測速度。同時,為了能更好地集成跨尺度特征,進一步提升對小缺陷的檢測能力,防止小目標的丟失,獲得更好的權(quán)重,設計了一種新的輕量級加權(quán)雙向特征金字塔(Bidirectional Feature Pyramid Lite Network,BiFPN-Lite)模塊用于替代路徑聚合(Path Aggregation Network,PANet)結(jié)構(gòu),提高不同尺度缺陷的融合效果。最后,使用Focal loss平衡正負樣本,提升分類的準確率,加快模型的收斂速度。本文在NEU-DET上對所提出的方法進行了評估,結(jié)果表明該方法比其他方法有明顯的優(yōu)越性,在NEU-DET數(shù)據(jù)集上獲得了80.46%的mAP值,且檢測速度達到了20.1FPS。
MobileNet網(wǎng)絡是谷歌提出的一種輕量級卷積神經(jīng)網(wǎng)絡,主要展示一種新的卷積方式:深度可分離卷積(depth wise separable convolution)。通過深度可分離卷積使得模型得到與標準卷積差不多效果的同時減少模型的參數(shù)量。MobileNet網(wǎng)絡主要包含MobileNetV2和MobileNetV3[12]兩種模型。其中MobileNetV3是在MobileNetV2網(wǎng)路的基礎上,融合SE(squeeze and excitation)模塊以及Swish激活函數(shù)所構(gòu)建。
MobileNetV3網(wǎng)絡通過3×3的標準卷積以及Bneck結(jié)構(gòu)相結(jié)合來強化特征提取,并通過在MobileNetV3中加入最大池化層、取消全連接層轉(zhuǎn)而使用1×1卷積塊代替等一系列操作來進一步減少網(wǎng)絡的參數(shù)量,降低模型的復雜度。同時MobileNetV3中的SE模塊,使得模型的檢測能力相較于MobileNetV2有所提升。MobileNetV3共有兩種結(jié)構(gòu),分別為Large和Small,本文使用Large結(jié)構(gòu)。同時,為適應鋼板表面缺陷檢測任務并結(jié)合數(shù)據(jù)集輸入圖片的尺寸,本文將MobileNetV3輸入圖片大小設為224×224×3。
Transformer[13]模型是基于自注意力機制的深度神經(jīng)網(wǎng)絡。因為Transformer能夠通過自注意力來學習輸入序列之間的復雜依賴關系,所以獲得了極大的發(fā)展。Vision Transformer(ViT)[14]結(jié)合了來自計算機視覺和自然語言處理的知識。首先,ViT將原始圖像分割成塊,然后將它們展平為序列,這些序列被輸入到原始Transformer模型的編碼器部分,再進入一個全連接層對圖像進行分類,最后引入隨機初始化的位置編碼,從而獲得用于分類的特征。ViT首次證明,Transformer也可以應用于圖像領域,在圖像領域上的結(jié)果與最先進的卷積網(wǎng)絡相當。DETR[15]是第一個成功地將Transformer用于目標檢測任務的方法。具體來說,DETR在標準CNN模型(如ResNet-50/101)上增加了一個Transformer的編碼器和解碼器,并且使用了一個匹配的損失函數(shù)。本文使用Transformer結(jié)合MobileNetV3構(gòu)建了一個新的目標檢測主干網(wǎng)絡。
本文算法的YOLO Head檢測部分是通過大小為3×3和1×1的兩次卷積操作完成的。最后分別輸出13×13,26×26,52×52三個YOLO檢測頭。本文算法中每個檢測頭將包含3組候選框的調(diào)整參數(shù),每組候選框的調(diào)整參數(shù)將包含1個置信度參數(shù)、4個調(diào)整長寬以及坐標偏移量的參數(shù)和多個類別參數(shù)。通過3組候選框參數(shù)的調(diào)整,得到候選框的坐標以及寬高參數(shù),從而生成最終的預測框來確定缺陷的位置以及類別信息。
圖1給出了本文算法的總體結(jié)構(gòu)圖。整體結(jié)構(gòu)由主干特征提取網(wǎng)絡、空間金字塔池化(Spatial Pyramid Pooling,SPP)模塊、多尺度特征融合模塊以及YOLO Head構(gòu)成,其中主干特征提取網(wǎng)絡是由MobileNetV3、CA-Bneck模塊以及Transformer編碼模塊所構(gòu)建的MobileNetV3-CATr(MobileNetV3 Coordinate Attention Transformer),多尺度特征融合模塊為Bifpn-lite。鋼板表面缺陷圖首先通過MobileNetV3-CATr主干網(wǎng)絡提取缺陷圖像的特征。然后,通過SPP模塊中不同大小的最大池化核對輸入的缺陷特征圖進行處理,并作進一步融合,使得在一定程度上解決缺陷多尺度問題。同時通過Bifpn-lite進行跨尺度特征圖的特征融合,提取到更加充分的缺陷信息。最后,通過YOLO Head輸出缺陷的類別、位置、置信度等信息。同時利用Focal loss損失函數(shù)來調(diào)節(jié)模型的學習能力,提高模型檢測精度,加快模型的收斂。
在整個鋼板表面缺陷檢測過程中(如圖2),主要分為預處理、訓練和測試3部分。首先對鋼板表面缺陷圖像進行預處理,對鋼板表面缺陷數(shù)據(jù)集按照一定的比例劃分為訓練集與測試集,并對網(wǎng)絡的超參數(shù)進行設置。將訓練集送入本文提出的算法中進行訓練,訓練過程中通過損失函數(shù)的損失值的大小進行參數(shù)調(diào)整以及優(yōu)化。在訓練集訓練結(jié)束后,將訓練得到的權(quán)重,用于測試集測試,從而得到算法的檢測精度。
MobileNetV3-CATr是由MobileNetV3、CA-Bneck模塊以及Transformer編碼模塊所構(gòu)建。首先提出一個可用于提高MobileNetV3檢測能力的CA-Bneck模塊,其次將CA-Bneck模塊融入到MobileNetV3中,使得MobileNetV3在提取特征時更聚焦缺陷區(qū)域,抑制不重要的區(qū)域,減少重疊區(qū)域缺陷漏檢情況的發(fā)生,從而提升缺陷檢測的準確率。同時,為了進一步提升特征提取能力,在MobileNetV3末端融入Transformer編碼模塊,完成主干特征提取網(wǎng)絡的構(gòu)建,從而有效增強上下文信息的獲取能力,使模型更加關注缺陷區(qū)域,提升學習小缺陷特征的能力。
2.1.1 MobileNetv3-CA
MobileNetv3中的Bneck模塊雖然引入了SE模塊,為模型提供了先進的性能。但SE模塊只考慮通過通道關系來判斷每個通道的重要性,而忽略了位置信息。位置信息在視覺任務中對于捕獲空間結(jié)構(gòu)至關重要。因此,本文提出一種同時考慮通道間關系和位置信息的CA-Bneck模塊,即在Bneck模塊中引入一種CA(coordinate sttention)模塊[16],替換原有的SE模塊。CA模塊旨在增強移動網(wǎng)絡學習特征的表達能力,將CA模塊集成到MobileNetv3網(wǎng)絡中,極大減輕了提取特征時缺陷信息的丟失的情況,使得MobileNetv3不僅能夠捕捉空間方向上的長距離依賴,還能夠獲得更精確的缺陷位置信息,從而提高缺陷檢測的準確率。
同時,本文為了進一步增強MobileNetv3的非線性因素,提高MobileNetv3的表達能力,將Dynamic Shift Max激活函數(shù)應用到Bneck倒殘差模塊中,進一步提高了模型的穩(wěn)定性,使得模型在精度和速度上均能獲得一定的提升。CA-Bneck的結(jié)構(gòu)圖如圖3所示。
CA模塊分別沿兩個空間方向聚合特征,生成一對方向感知特征映射。具體來說,將池化分解為水平和垂直的兩個方向,然后分別對兩個方向的特征進行編碼操作。具體來說對于輸入XCA,本文先用兩個空間范圍的池化核(Hpool,1)或(1,Wpool)沿水平和垂直坐標方向?qū)γ總€通道進行編碼,其中Hpool和Wpool表示池化核的高度和寬度,因此在高度h和寬度w的第n個通道輸出表示為:
(1)
(2)
(3)
為了進一步提高模型的表現(xiàn)能力,本文將Dynamic Shift Max[17]激活函數(shù)引入到MobileNetv3中的倒殘差模塊中。Dynamic Shift Max是一種新的激活函數(shù),通過最大化輸入特征圖與其循環(huán)通道偏移之間的多重動態(tài)融合,來增強非線性特征。動態(tài)體現(xiàn)在融合過程的參數(shù)依賴于輸入特征圖。Dynamic Shift Max激活函數(shù)減輕了網(wǎng)絡深度縮減的危害。主要公式為:
(4)
2.1.2 MobileNetv3-CA-Transformer
鋼板表面缺陷圖像存在目標稀疏和特征缺乏的問題,對高相似的不顯著缺陷的檢測效果較差,導致尺寸較小的缺陷漏檢情況的發(fā)生,通過Transformer模塊的引入有效減少了此類現(xiàn)象的發(fā)生。因此為了增強對不同位置的不顯著缺陷的特征的提取能力,在主干網(wǎng)絡中引入Transformer,構(gòu)建了一種MobileNetv3-CA與Transformer融合的主干網(wǎng)絡。Transformer的引入不僅可以增強上下文信息的獲取能力,還可以使模型更加關注缺陷區(qū)域,進一步學習缺陷特征。使得模型針對不同空間下的密集以及不顯著缺陷的特征可以進一步加強學習,有效保留其位置信息,減少鋼板表面缺陷的錯檢、漏檢的發(fā)生。
在進行缺陷檢測時,通過Transformer自注意力和多頭注意力使模型更關注缺陷信息,而不是背景或其他區(qū)域。當用于缺陷檢測時,Transformer模塊提高了捕獲不同位置信息的能力,以增強關鍵信息,特別是針對多個不同空間的缺陷。事實上,每個自注意力的頭部可以看作是缺陷信息的子空間。它還可以利用自注意機制探索特征表征潛力,從而可以捕獲全局豐富的上下文信息。受Vision Transformer啟發(fā),本文在MobileNetv3-CA中加入Transformer模塊但只在主干的末端添加,因為網(wǎng)絡末端的特征圖分辨率較低。在低分辨率特征圖上應用Transformer編碼器可以降低昂貴的計算和存儲成本。使用Transformer編碼器塊不僅可以增加平均精度(mean Average Precision,mAP),還可以減小網(wǎng)絡的大小,使得網(wǎng)絡在密集缺陷和大型缺陷的檢測中發(fā)揮作用,可以有效提高鋼板表面缺陷的檢測效率。
Transformer模塊包含兩個子層:第一個子層是一個多頭注意層,多頭注意不僅可以幫助當前節(jié)點注意當前像素,還可以獲得上下文的語義;第二個子層多層感知器(Multilayer Perceptron,MLP)是一個全連接層,屬于前饋神經(jīng)網(wǎng)絡。Transformer編碼模塊也包含LayerNorm和Dropout層,從而有助于網(wǎng)絡更好地融合,防止網(wǎng)絡過度擬合。Transformer模塊的總體結(jié)構(gòu)圖如圖4所示。
為了滿足使用Transformer模塊的需求,本文將主干網(wǎng)絡輸入的特征映射通過扁平化操作重構(gòu)為矢量形式。為了減少扁平化操作引起的位置缺失,使用了一種Linear Layer位置編碼操作。Query(Q),Key(K),Value(V)的輸入向量均來自同一個輸入向量的不同的線性變換,Q,K,V之間交互實現(xiàn)信息的動態(tài)聚合。同時多頭自注意力(Multi Head Self Attention,MHSA)可以將由輸入向量計算出的幾個自注意力的頭串接起來,表示為:
MultiHead(Q,K,V)=Concat(H1,H2,…,Hm)Xout。
(5)
式中:Concat為張量級聯(lián)運算;Xout為線性變換矩陣;Hm表示第m個自注意力的結(jié)果是通過MHSA中的Scaled Dot-product Attention得到的:
(6)
式中dk是Q和K的點積的模,用于緩解softmax梯度消失的問題。向量Qm,Km,Vm的公式如下:
(7)
最后,經(jīng)過MHSA操作后,再進行兩次線性變換便可得到更關注缺陷的特征圖。
BiFPN-Lite的提出關鍵是融合不同尺度的特征。為了增強不同層缺陷特征的融合,本文使用BiFPN-Lite作為檢測頸部網(wǎng)絡。BiFPN-Lite通過自上而下的路徑可以獲得高級語義信息,通過自下而上的路徑可以獲得低級要素的位置信息,有利于針對鋼板表面的缺陷進行多尺度預測。同時BiFPN-Lite根據(jù)YOLO Head的特點,刪除了兩個網(wǎng)絡節(jié)點,簡化了網(wǎng)絡結(jié)構(gòu)從而加快了模型的檢測速度。為了在不增加成本的情況下合并更多缺陷特征,在原始輸入節(jié)點和輸出節(jié)點位于同一層的情況下,在原始輸入節(jié)點和輸出節(jié)點之間添加了額外的邊,提升了缺陷檢測的精度。
現(xiàn)階段的歸一化操作多為基于softmax的操作,本文提出的BiFPN-Lite結(jié)構(gòu)在優(yōu)化策略上進行了改進,運用快速歸一化[18](fast normalized fusion)操作進行優(yōu)化,在保證優(yōu)化效果的條件下大幅提升優(yōu)化速度,公式如下:
(8)
其中:i,j為在特征融合節(jié)點輸入的特征圖數(shù),i=j;Xi為輸入的特征圖矩陣;ε為防止分母為0的常數(shù),值為10-4;ωi、ωj為輸入各特征圖權(quán)重,權(quán)重初始值范圍為0<ωi<1、0<ωj<1,之后每訓練一次權(quán)重將通過ReLU(Rectified Linear Unit)激活函數(shù)保證值恒大于0。
BiFPN-Lite通過空間金字塔池化(Spatial Pyramid Pooling,SPP)對13×13的特征圖進行多尺度訓練,運用不同大小的卷積核得到不同尺度的特征圖。最終輸入BiFPN-Lite中的特征圖為采樣得到的52×52和26×26兩個尺度的特征圖,以及經(jīng)過SPP結(jié)構(gòu)處理得到的13×13的特征圖。相當于在PANet的基礎上增加了一條從26×26的特征圖輸入到輸出的殘差邊,同時BiFPN-Lite直接對特征融合點的輸入的每個特征圖都給予一個相同的權(quán)重,并在進行concat操作時進行一個歸一化操作。BiFPN-Lite結(jié)構(gòu)將這3個尺度的特征層進行特征融合,分別輸出13×13,26×26、52×52三個YOLO Head,3個尺度不同的檢測頭通過解碼算法生成相應的預測框。BiFPN-Lite的結(jié)構(gòu)圖如圖5所示。
在模型訓練時,損失值大小和損失函數(shù)的斂散性是判斷和衡量模型是否穩(wěn)定的重要指標和依據(jù)。在單階段的目標檢測算法中,由于正負樣本和難易樣本的不均衡,往往會導致模型在訓練時的精度難以保證。Focal loss函數(shù)的主要作用即是解決樣本比例失衡的問題。該函數(shù)通過為簡單負樣本賦以更小的訓練權(quán)重,使得模型訓練時的重點聚焦于較難區(qū)分的樣本的之上,使得模型的收斂速度更快。本文在交叉熵損失函數(shù)的基礎上使用Focal loss[19]損失函數(shù)進行改進,進一步優(yōu)化分類損失函數(shù)。Focal loss損失函數(shù)的形式表示為:
(9)
式中:y1表示輸出;α=0.25,表示正負樣本平衡因子;γ=2,表示難易樣本比例不均衡的問題。優(yōu)化后的網(wǎng)絡損失為:
=obj+loc+cls。
(10)
2.3.1 置信度損失函數(shù)
本文通過置信度損失函數(shù)來判斷檢測框內(nèi)是否存在缺陷,置信度損失函數(shù)obj為:
(11)
(12)
2.3.2 位置回歸損失函數(shù)
本文通過位置回歸損失函數(shù)來判斷錨框的位置是否準確,回歸損失函數(shù)loc表示為:
(13)
(14)
(15)
(16)
其中:λciou為參數(shù)因子;IOU為預測框預測值與真實框標注值的交并比;檢測框的寬高分別用Aw,Ah表示;真實框的寬和高則使用Awgt,Ahgt表示;預測框和真實框的中心距離以及最小外包矩形的斜邊長使用d,c表示。
2.3.3 分類損失函數(shù)
本文通過分類損失函數(shù)來判斷缺陷類別劃分正確與否,分類損失函數(shù)cls表示為:
(17)
(18)
本文在NEU-DET數(shù)據(jù)集上評估所提算法的有效性。所使用的操作系統(tǒng)為Ubuntu18.04,使用Python3.7、OpenCV3.4.1進行圖像處理,并行計算庫為Cuda10.1與CuDnn7.5.2,使用的編譯器為Visual studio 2019,硬件配置為2顆Intel(R) Core 4 214R與1片NVIDIA Tesla T4 16 GB。
本文主要參數(shù)為:初始學習速率設置為0.000 25,學習率衰減方式為cos。batch為16,共有1 000個epoch。采用梯度更新(SGD)對訓練過程進行優(yōu)化,momentum參數(shù)設置為0.093 7,權(quán)值衰減(weight_decay)設置為5×10-4。在訓練過程中,采用Mosaic數(shù)據(jù)增強方法來提高模型的魯棒性。為了避免由于Mosaic數(shù)據(jù)增強生成的圖片遠遠脫離自然圖片的真實分布,本文會在訓練結(jié)束之前的最后30%的epoch關閉Mosaic增強。由于網(wǎng)絡輸入的大小應為32的公倍數(shù),NEU-DET的輸入圖像大小調(diào)整為224×224×3。
3.1.1 評價指標
與圖像分類不同,表面缺陷檢測不僅需要預測目標的正確類別,還需要預測目標的位置信息。為了評估缺陷檢測任務的性能,使用了以下指標:
(1)平均檢測精度(mAP)是本文評估模型性能的主要指標,它是平均精度(AP)的平均值,
(19)
(2)召回率(Recall)用來衡量模型正確檢測目標的能力,
(20)
(3)準確率(Precision)用來衡量模型預測的準確性,
(21)
(4)模型尺寸(Params)用來比較不同模塊的空間復雜度;
(5)通過每秒幀數(shù)FPS(frames per second)來比較檢測速度。
3.1.2 數(shù)據(jù)集介紹
NEU-DET是東北大學發(fā)布的熱軋帶鋼表面缺陷數(shù)據(jù)集,收集了鋼材表面的6種典型缺陷,即軋屑(Rs)、斑塊(Pa)、龜裂(Cr)、凹痕表面(Ps)、夾雜物(In)和劃痕(Sc)。每種缺陷有300個樣本,共有1 800個灰度圖像,原始分辨率為200×200像素。對于缺陷檢測任務,數(shù)據(jù)集提供邊界框注釋,這些注釋可以保存為XML文檔,用來指示每個圖像中缺陷的類別和位置。數(shù)據(jù)集具體缺陷如圖6所示。
為了驗證這幾種改進是否都能提高網(wǎng)絡模型的性能,判斷相互之間是否存在影響或相互作用,本文在NEU-DET數(shù)據(jù)集上進行了消融實驗。改進方案如表1所示。其中“Trans”表示在MobileNetv3網(wǎng)絡中增加Transformer編碼模塊,“CA”表示在MobileNetv3中使用CA-Bneck模塊,“DY”表示使用動態(tài)最大激活函數(shù)替換原有的激活函數(shù)?!癇I-LITE”表示使用BiFPN-Lite替換PANet作為網(wǎng)絡的檢測脖。具體改進方案如表1所示。方案4只在方案1的基礎上修改動態(tài)激活函數(shù)的模型;方案5是只在方案1的基礎上將原模型的PANet替換為BIFPN-Lite;方案6是在方案1的基礎上將原模型融入Transformer模塊以及動態(tài)激活函數(shù)的模型;方案7是在方案1的基礎上只使用MobileNetV3-CATr作為主干的模型。
表1 消融實驗
方案最終測試結(jié)果如表2所示,通過AP值與Recall值的大小來比較不同方案的好壞。由表2的實驗結(jié)果可知,引入Transformer模塊后,有效提取了缺陷上下文的缺陷信息,減少了部分缺陷的錯檢漏檢的發(fā)生,提升了模型的整體檢測效果。CA-Bneck模塊使得模型既關注缺陷的空間信息也關注缺陷的通道信息,使得主干特征提取網(wǎng)絡能夠更好地擬合缺陷的空間信息與通道信息的相關性,從而更好地提取鋼板表面缺陷的特征信息。動態(tài)激活函數(shù)的引入提升了模型的非線性能力,減輕了網(wǎng)絡深度帶來的危害,提升了模型整體的性能。多尺度的特征融合,融合了不同大小的缺陷信息,對于鋼板表面的缺陷特征的提取有一定的積極作用,特別是Cr和In的AP值增長都超過10%。方案6證明當Transformer模塊與動態(tài)激活函數(shù)共同作用于主干特征提取網(wǎng)絡時具有一定的積極作用,動態(tài)激活函數(shù)增加模型的非線性能力,使得主干特征提取網(wǎng)絡在Transformer模塊的作用下,能夠有效地提取全局缺陷信息與局部的缺陷特征信息,提升了模型的檢測性能。方案7說明Transformer模塊、動態(tài)激活函數(shù)與CA-Bneck模塊共同作用于模型的主干特征提取網(wǎng)絡,共同增強了模型的特征提取能力,使得主干特征提取網(wǎng)絡不僅能夠有效提取上下文的缺陷信息,還能夠進一步提取空間維度以及通道信息處的特征,同時動態(tài)激活函數(shù)進一步提升了模型的非線性,減輕了模型深度的影響,提升了模型的表現(xiàn)能力。本文提出的模型mAP值較原模型上升了5.96%,說明MobileNetV3-CATr以及BiFPN-Lite對于鋼板表面的缺陷特征提取具有一定的積極作用,證明了各個模塊之間的積極作用,能夠提升檢測精度。
表2 模型實驗結(jié)果
為了進一步突出模型的對比效果,對部分實驗結(jié)果進行了可視化處理,如表3所示。通過3種算法的對比可以發(fā)現(xiàn),本文提出的算法幾乎不存在漏檢的現(xiàn)象。原模型只能檢測較大而且清晰的目標,但改進后的算法可以有效地檢測出相對模糊和黑暗的缺陷。同時當兩個缺陷重疊時比較容易混淆時,本文的算法可以識別并準確定位兩個接近的目標,可以有效地識別大目標中的小目標,從而有效地提高了缺陷檢測的準確率,減少了漏檢的發(fā)生。
表3 不同方案可視化結(jié)果
為了驗證本文所提方法在熱軋帶鋼表面缺陷檢測中的性能,本文將與其他用于鋼材缺陷檢測的方法進行了比較,具體實驗結(jié)果如表4所示。本文主要選取目前速度較快的單階段目標檢測算法以及無錨框的目標檢測算法作為本文對比試驗。從表4數(shù)據(jù)可以看出,MobileNetv3-YOLOV4對不同類型的缺陷檢測精度差異很大。Pa、Ps、Sc 3類缺陷的AP值較高,且檢測效果較好,但其余缺陷的AP值較低,Cr的AP值僅為34.53%。原因可能是預先提供的錨框與本文的NEU-DET的數(shù)據(jù)集不適應。因此本文所提算法首先使用了預訓練權(quán)重進行試驗,同時根據(jù)NEU-DET數(shù)據(jù)集的特點,使用k-means聚類方法重新得到錨集群??梢钥闯?本文所提算法使得大部分缺陷的AP值都明顯上升,特別是Cr提高了23.21個百分點。同時其他缺陷的AP值也取得一定程度的提升,說明本文提出的算法對不同尺度缺陷的不同特征有較好的適應性。
通過與SSD、YOLOv3、YOLOv4、YOLOv5_S、Efficientdet這5種主流的有錨框目標檢測算法進行對比,發(fā)現(xiàn)本文所提算法在總體表現(xiàn)上更優(yōu),且平均準確率比原算法YOLOv4高了3.02%。其中Cr與Sc的AP值為5種算法最高,檢測效果最好,In的檢測效果較差,其余3種缺陷的檢測效果與單階段目標檢測算法效果基本相同,其中In的檢測效果最差是因為這類缺陷在圖像中的特征不明顯造成的。其次,通過與Centernet、YOLOX_S這種無錨框算法進行對比,發(fā)現(xiàn)本文所提算法的mAP值比無錨框算法高至少3%,且每種缺陷的檢測效果均與無錨框檢測算法的檢測效果相同或優(yōu)于其檢測效果,說明無錨框檢測算法對多特征缺陷的檢測效果相較于有錨框的目標檢測算法效果較差。最后,通過與MobileNetv1-YOLOV4、MobileNetv2-YOLOV4、MobileNetv3-YOLOV4這3種模型進行對比發(fā)現(xiàn)。本文所提算法的檢測效果均優(yōu)于這3種模型,平均準確率高至少4%,說明使用輕量化模型替換主干網(wǎng)絡,雖然可以降低模型復雜度,但模型的檢測效果會隨之下降。為了進一步證明本文模型的先進性,選取了目前最新的算法YOLOv7與ES-Net作為對比試驗,結(jié)果證明本文算法的檢測精度均高于這兩種算法。綜上所述,與當前主要的目標檢測算法相對比發(fā)現(xiàn),本文所提算法的平均準確率較高且檢測效果較好,基本滿足工業(yè)檢測的需求。
如表5所示為本文所提模型和其他具有相同網(wǎng)絡深度的檢測模型在模型空間復雜度和檢測速度的對比結(jié)果。模型的速度與硬件有關,表5中的FPS是通過CuDNN7.5在Tesla T4 16 GB上測試驗證集得到的,這一階段包括數(shù)據(jù)加載,網(wǎng)絡運行以及后處理的全部操作,進行實時性檢測實驗時將batch size設置為1。
通過對比發(fā)現(xiàn)本文所提算法相較于YOLOv3,YOLOv4,YOLOv5等主流單階段目標檢測算法而言Params減少到原來的1/3,與無錨框算法Centernet參數(shù)量基本相同,但相較于僅替換主干網(wǎng)絡的輕量級算法而言,模型的參數(shù)量增長為原來的1倍左右,這是因為Transformer模塊的引入所導致的。雖然本文的算法相較于Efficientdet與無錨框算法YOLOX_S的參數(shù)量較大,速度有所下降,但本文算法精度更高,更滿足實際檢測的需求。同時,也將本文算法與目前最先進的算法ES-Net以及YOLOv7進行對比,本文算法的參數(shù)量更小,檢測精度更高。就檢測速度而言,本文所提算法在配置較低的設備上檢測速度已達到20.1FPS,能夠基本滿足在線實時檢測的需求。
本文以鋼鐵表面的缺陷為研究對象,為了解決鋼板表面缺陷檢測精度不高、效率低的問題,提出一種融合Transformer鋼板表面缺陷實時檢測算法。首先,構(gòu)建了一種新的主干網(wǎng)絡MobileNetV3-CATr,使得模型在保證檢測精度的同時復雜度極大減小,提高了模型的檢測速度。通過CA模塊以及Dynamic Shift Max激活函數(shù)構(gòu)建的CA-Bneck結(jié)構(gòu),提升了模型的檢測精度,提高了主干特征提取網(wǎng)絡對于鋼板表面缺陷特征的提取能力。同時,通過引入Transformer模塊,有效地提取上下文的語義信息,極大地提高了模型檢測的精度,特別是缺陷Cr。最后,還通過BiFPN-Lite替代PANet,解決不同尺度下不同特征圖的特征融合問題,極大地提高了模型對缺陷檢測的準確率。本文所提算法在公共數(shù)據(jù)集NEU-DET上的進行測試,實驗結(jié)果與其他網(wǎng)絡對比取得了明顯的優(yōu)勢,6類缺陷的mAP值為80.46%,檢測速度為20.1FPS。下一步將通過不同的方法解決數(shù)據(jù)不足的問題,進一步提高檢測精度。同時,通過對模型進行進一步輕量化處理,使得模型滿足工業(yè)場景下實時檢測的需求。