林珊玲,彭雪玲,王 棟,林志賢,3,林堅普*,郭太良
(1.福州大學 先進制造學院,福建 泉州 362252;2.中國福建光電信息科學與技術實驗室,福建 福州 350116;3.福州大學 物理與信息工程學院,福建 福州 350116)
鋼坯在軋制階段由于表面受熱不均、軋輥夾雜碎屑等原因,部分區域存在孔洞、冷熱裂紋等缺陷,影響鑄造成品的抗拉強度、硬度和韌性。早期的鋼表面缺陷主要依靠人工查驗[1],通過主觀視覺判定鋼材損傷位置及受損程度,效率不高并且經常發生漏檢。頻閃光檢測技術雖然能夠從一定程度上提高鋼表面缺陷的識別準確率,但大量重復性工作導致其檢測速度較慢,無法滿足工業檢測需求[2]。
近年來,卷積神經網絡(Convolutional Neural Network,CNN)發展迅速,基于CNN[3]的目標檢測算法的識別精度不斷提高。現階段的目標檢測算法大致分為兩類,一類是基于區域候選提議(Region Proposal Network,RPN)的算法,如R-CNN(Region-based CNN)[4],Faster R-CNN[5]等,通過生成候選框提升檢測精度,需要消耗大量檢測時間。另一類是基于回歸的算法,如YOLO(You Only Look Once)[6],SSD(Single Shot multibox Detector)[7],在回歸目標位置的同時直接預測類別。其中,SSD 算法采用VGG-16[8]作為骨干網絡進行多尺度分治檢測,模型體積與計算量較大。為了降低卷積網絡的復雜度,Sandler等[9]提出MobileNetV2,采用深度可分離卷積進行特征提取。在增強特征表達方面,Lin 等設計了特征金字塔(Feature Pyramid Network,FPN)[10]結構,通過橫向連接與自頂向下融合方式,加強了深層語義與淺層細節的交互。Li 等受到FPN 結構的啟發提出FSSD(Feature Fusion Single Shot multibox Detector)[11],將深層特征上采樣后直接與淺層特征拼接融合,為淺層特征融入了深層語義表示。Hu 等[12]則提出SE(Squeeze and Excitation)注意力機制,通過通道方向的特征擠壓與激勵,使模型更加關注圖像細節。與此同時,許多專家學者開展了鋼表面缺陷目標檢測算法的相關研究,特征融合結構、注意力機制等成為重要的算法優化手段。He 等[13]提出一種基于深度學習的鋼板缺陷檢測系統,通過組合池化層、普通卷積、反卷積形成全段多尺度特征融合結構,促進了雜質、刮痕等鋼表面缺陷的細粒度表達與深層語義融合。Tang 等[14]提出一種帶鋼表面缺陷檢測方法,采用帶注意力機制的殘差模塊結合多尺度池化結構,解決了由于網絡感受野過于單一導致的無法感知補丁、結疤等缺陷尺度變化問題。此外,Guo 等[15]提出一種檢測鋼表面缺陷的改進算法,結合視覺Transformer 檢測模塊輔助全局特征提取,增強了算法對于裂紋、點蝕等覆蓋范圍較廣的缺陷目標的識別能力。雖然上述方法都能提升鋼表面缺陷的檢測效果,但識別精度仍具有提升空間,并且網絡模型的計算成本較高,實際應用于工業檢測設備具有一定難度。
針對鋼表面缺陷目標檢測算法的識別準確率不高、模型計算量大的問題,本文在SSD-MV2算法的基礎上提出一種多尺度增強特征融合的鋼表面缺陷目標檢測算法(Enhanced FSSD with MobileNetV2,EFSSD-MV2)。首先,設計了一種自適應加權融合模塊,采用自適應權重指導不同尺度層級的特征拼接融合。其次,設計了一種空間特征增強模塊,進一步加強融合特征的有效信息描述。接著,改進了訓練樣本選擇方法,使模型根據先驗框與真實框的整體交并趨勢動態調整訓練樣本數量,提高損失函數計算的準確性。
EFSSD-MV2 算法以SSD300 算法[16]框架為基礎,采用更加輕量的MobileNetV2 代替VGG16 作為特征提取骨干網絡,并移除它在Conv18 層后的分類輸出層,算法網絡結構如圖1所示。為了將深層語義表達快速傳導至淺層,選擇其中的Conv7,Conv14,Conv18 層進行類似FSSD 中的多尺度特征融合,并通過增強特征融合(Enhanced Feature Fusion,EFF)單元提升融合效果,包含自適應加權融合(Adaptive Weighted Fusion,AWF)模塊與空間特征增強模塊(Spatial Feature Enhancement,SFE)。AWF 模塊用于計算不同層級特征的自適應融合權重,而SFE 模塊則用于進一步提高融合特征的空間特性。之后,利用附加特征提取網絡生成6 個不同尺度的特征圖,將其特征通道分布由原始的512,1 024,512,256,256,256 調整為256,128,128,64,64,32,并采用深度可分離卷積代替普通卷積作為分類與回歸預測器,目的是降低網絡后端的計算成本。改進的訓練樣本選擇方法應用于模型訓練階段,通過將交并比(Intersection Over Union,IOU)閾值關聯先驗框與真實框的整體交并程度,使模型獲得更為合適的訓練樣本。最后,采用非極大抑制算法篩選目標框。

圖1 EFSSD-MV2 算法的網絡結構Fig.1 Network structure of EFSSD-MV2 algorithm
基礎特征融合結構一次性聚合多個不同尺度的特征圖[17]。大尺度特征圖包含眾多幾何細節,而小尺度特征圖則包含更為強大的語義表達。這種融合方式的本質是將深層特征直接傳遞至淺層,使淺層特征在不丟失細節信息的同時獲得豐富的深層語義。然而,它在融合前必須規范特征圖尺度與通道,弱化了不同層級特征之間的相對差異,抑制了融合特征描述檢測目標特異性的能力。加權特征融合是指通過計算每個特征圖對檢測目標的貢獻程度,使得不同尺度的特征信息得到充分融合。為了彌補基礎特征融合結構的不足,設計了AWF 模塊,其網絡結構和算法流程框圖如圖2(a)和2(b)所示。

圖2 自適應加權融合模塊Fig.2 Adaptive Weighted Fusion(AWF)module
其中D為Cn之和,其值為448;Θ 表示Concat 特征拼接,zn表示第n層輸入的全局特征,(i,j)表示特征空間坐標。采用2 個全連接層(Fully Connected,FC)與1 個ReLU 激活函數組合形成瓶頸層,用于學習特征在通道方向上的全局非線性關系,從而自適應地生成一組映射特征A∈R1×1×3,其表達式為:
其中:W1∈RE×D表示全局特征通過第一個FC 層后降至E個通道的參數,為了使前后2 次通道降維更加平緩,E設置為32;W2∈R3×E表示特征通過第二個FC 層后降至3 個通道的參數。為了更加準確地描述映射特征之間的相對性,采用Softmax 函數對A的特征值進行歸一化指數約束,該過程可表示為:
其中:an表示A中的第n個特征值,對應的權重值為bn,代表特征對融合結果的影響程度。最后,將權重值分別與特征層對應相乘,輸出加權融合特征,其表達式為:
其中:Cy為C的3 倍,其值為384;Bn表示第n層規范化輸入特征經過加權后的結果。AWF 模塊以特征融合分支為基礎,按照輸入特征的全局相對關系,在通道方向上以極少的參數量分配融合權重。
為了進一步提取融合特征中包含的上下文先驗知識,同時消除由于輸入特征尺度差異而產生的混疊效應,基礎特征融合結構對融合特征應用一個3×3 的卷積核,通道數降至原始特征的三分之二。該方法雖然在一定程度上能提高特征的全局表示能力,但通道數減少會產生特征丟失,且過于單薄的特征聯系會影響附加特征提取網絡對于檢測目標的分類與定位。因此,本文結合空間注意力機制(Spatial Attention Mechanism,SAM)設計了如圖3 所示的SFE 模塊,從3 個不同方向強化融合特征的空間表達,通過引出殘差旁路增強網絡結構的穩定性,使卷積過程能夠挖掘到更多的關鍵信息。
雖然3×3 的卷積核在提取特征時能夠擴大感受野,但其處理大尺度特征層的計算成本較高,因此,SFE 模塊中所有卷積操作均采用1×1的卷積核。SFE 模塊首先對加權融合特征Y采用一組并行層進行類似SAM 中的擠壓與激勵操作。通過2 個并行的GAP 編碼生成全局特征序列,同時采用1 個卷積層提取通道方向上的依賴關系,從而得到融合特征在不同空間取向的獨立表示。輸出特征的表達式為:
對全局特征Q,R,S應用ReLU 激活函數,目的是增強特征描述的多樣性。該過程輸出的表達式為:
為了使SFE 模塊的輸出特征通道數與附加特征提取網絡的輸入通道數保持一致,同時最大程度地保留原始融合特征信息,對融合特征Y與空間增強特征分別進行卷積特征提取,輸出特征的表達式為:
其中U和為輸出特征,并且U的通道數Cv小于通道數Cy,Cv設置為256。最后,將二者進行類似殘差結構中的矩陣疊加,輸出特征V∈的表達式為:
其中:σ表示Sigmoid 激活函數,將其應用于特征Uˉ可得到具有約束特性的空間增強系數;批量歸一化函數(Batch Normalization,BN)用于增強網絡模型的穩定性,使模型訓練不易發散;ReLU6激活函數用來進行全局非線性化,相比ReLU 激活函數能夠抑制無效特征,提高特征表達信息的準確性。
在網絡模型的訓練階段,SSD 算法按照交并比為每個先驗框匹配一個真實框,若該值小于預設閾值則將此先驗框判別為負樣本。雖然該方法能夠簡單快速地區分先驗框的正負屬性,但6個不同尺度的檢測層級先驗框匹配程度并不相同,并且固定閾值的選取依賴于主觀經驗,訓練階段無法進行自適應調整。為了緩解這一問題,本文結合自適應閾值思想改進SSD 算法的訓練樣本選擇方法(Adaptive Training Sample Selection,ATSS),改進方法具有更加強大的樣本包容性。
將改進方法記為改進訓練樣本選擇(Improved Training Sample Selection,ITSS)方法,它應用于每個檢測層級的先驗框與真實框的匹配過程,主要包含正樣本選擇與閾值計算兩個部分。假定在第l個尺度檢測層級的第r個先驗框為Pr,其中心點坐標為C1(x1,y1),第s個真實框Gs的中心點坐標為C2(x2,y2),則C1與C2的歐式距離Lrs可表示為:
對于每個尺度檢測層級,分別為每個真實框篩選前k個歐式距離L最小的先驗框作為候選正樣本,通過超參數k可調整納入候選正樣本的先驗框數量,進而控制先驗框與真實框的匹配程度。
在ATSS 方法中,通過遍歷每個真實框所匹配的候選正樣本來計算二者的IOU 值,并為每個真實框構建一個IOU 集合;而ITSS 方法則更加關注交并比的總體關系,將前述集合統一歸并為I={I1,I2,···,Im},總數為m。為集合I計算基本統計學特性可得到自適應IOU 閾值T,其數學表達式為:
其中:集合I的均值M代表候選正樣本與真實框的平均交并程度,而I的標準差S則用于描述候選正樣本與真實框的交并比差異。在實際正負樣本判定過程中,若第q個先驗框Pq與其匹配真實框的IOU 值Jq≤T,則判定Pq為負樣本。通過ITSS 方法,模型能夠綜合不同檢測層級的先驗框與真實框的交并程度,根據不同訓練階段的樣本匹配程度動態調整IOU 閾值,使損失函數在計算過程中獲得更加優質的正負樣本。
為了檢驗EFSSD-MV2 對于鋼表面缺陷目標的檢測性能,實驗采用東北大學公開發布的NEU-DET 鋼材缺陷公共數據集作為訓練樣本,該數據集以PASCAL VOC 數據集格式為標準,包含6 類常見的鋼表面缺陷圖像與標定數據,分別為裂紋、補丁、雜質、點蝕、結疤和刮痕。其中,裂紋為鋼表面產生的開裂現象;補丁為金屬的某一部分因具有特定特征而與其余部分區分開的區域;雜質為金屬表面缺陷中的典型缺陷,有些夾雜物比較松散,易脫落,有的則壓入板中;點蝕是一種腐蝕形式,集中在鋼金屬表面的一個非常小的范圍內,并滲入金屬內部,通常直徑小但深度較大;結疤是軋制過程中軋機鱗片被卷入金屬中形成的;刮痕是鋼表面磨損的痕跡。在保證實驗公平性的前提下,本文去除了4 張僅含有難標簽的數據樣本,因此,數據集共包含1 796 張鋼表面缺陷樣本圖片,訓練集與測試集的比例為8∶2。
所有實驗均在戴爾Precision 7920 高性能圖形工作站上完成,其主要配置為Intel Xeon Silver 4210R 2.40 GHz CPU 以及NVIDIA Quadro RTX 5000 GPU,軟件環境為Python 3.8 與Pytorch 1.11 深度學習框架,配備CUDA 11.6 圖形加速平臺。網絡輸入尺寸設為300×300,先驗框尺度保持在(30,60),(60,111),(111,162),(162,213),(213,264),(264,315),數量分別為4,6,6,6,4,4;批量大小為32,最大訓練輪數為20 000 輪,推理置信度閾值為0.01,檢測準確率閾值為0.7;采用原始SSD 算法的SGD(Stochastic Gradient Descent)梯度下降法優化訓練梯度,動量參數為0.9,權重衰減參數為0.000 01;為了使模型在訓練過程中達到最優結果,在學習率調整策略上采用余弦退火學習率策略,使得網絡模型能夠逃離局部穩態,重新尋找更為合適的極值點。學習率α的數學表達式為:
其中:αmin表示學習率的最小值,設置為0;αmax表示學習率的最大值,設置為0.01;Tcur表示當前運行步數,隨實驗過程迭代更新;Tmax表示單個退火過程所需要的步數,設置為2。
為了驗證所提出方法的性能,采用所有類別精度均值(Averrage Precision,AP),平均精度均值(mean Average Precision,mAP)指標驗證多類別的檢測精度,其計算公式如下:
其中:TP 表示真正例,FN 表示假反例,FP 表示假正例,TN 表示真反例,K為類別數目。
本文主要采用目標檢測任務中常用的平均精度均值指標衡量算法精度,通過幀率(frame per second,fps)、參數量以及計算量等指標量化模型的實時檢測性能。以算法在每個類別上的召回率(Recall)為橫軸坐標,準確率(Precision)為縱軸坐標繪制Precision-Recall(P-R)曲線,通過計算P-R曲線與坐標軸圍成的區域面積即可得到類別平均精度(Average Precision,AP)。將 SSD-MV2 算法、FSSD-MV2 算法以及EFSSD-MV2 算法分別在NEU-DET 數據集上進行實驗,3 種算法的P-R曲線對比如圖4 所示。從圖中可以看出,FSSD-MV2 算法的檢測精度高于SSD-MV2 算法,但由于僅采用基礎特征融合結構,算法準確率的增加幅度有限;而EFSSD-MV2 算法在召回率大于0.2 之后的準確率則明顯高于其他兩種算法,這表明該算法對鋼表面缺陷的檢測精度相比改進前顯著提升。

圖4 算法改進前后的檢測精度對比Fig.4 Comparison of algorithm detection accuracy before and after improvement
為了驗證EFSSD-MV2 算法與提出方法的有效性,本文以SSD-MV2 算法模型為基礎進行消融實驗,結果如表1 所示。其中,mAPITSS表示采用ITSS 方法后的模型平均精度均值,超參數k=30。結果表明,EFSSD-MV2 算法的mAP 達到了80.47%,相比SSD-MV2 算法提升了6.81%;此外,算法模型的參數量為2.36 M,計算量為952.67 MFLOPs,整體參數量與計算成本較低。在傳統SSD 算法的訓練樣本選擇方法下,整體網絡結構修改使算法的mAP 提升了4.19%;其中,基礎特征融合結構使算法的mAP 提升了2.45%,計算量增加了239.48 MFLOPs;EFF 單元使算法的 mAP 提升1.74%,計算量增加了144.51 MFLOPs。由此可知,EFF 單元能夠有效提高算法的檢測精度,計算成本比基礎特征融合結構更低。以特征融合結構為基礎,單獨添加AWF 模塊后算法的mAP 提升了1.22%,模型參數量僅增加0.02 M;單獨增加SFE 模塊后算法的mAP 提升了1.07%,模型參數量增加0.1 M。在SSDMV2 算法的基礎上,將訓練樣本選擇方法更改為ITSS 方法,算法mAP 提升了3.75%。由此可知,AWF 模塊以極小的計算成本提升了檢測精度,其原因在于通過在通道方向上的全局特征計算自適應權重;采用SFE 模塊雖然略微增加計算開支,但也提高了檢測精度;通過改進訓練樣本選擇方法,算法的檢測精度取得了顯著提升。整體而言,本文提出的方法對于SSDMV2 算法的檢測精度提升是十分有效的。

表1 EFSSD-MV2 算法的消融實驗(1 M=106)Tab.1 Ablation experiments for EFSSD-MV2 algorithm(1 M=106)
為了進一步評價EFSSD-MV2 算法對于鋼表面缺陷目標的檢測性能,本文選取目標檢測領域10 種主流的輕量級檢測算法進行比較。實驗過程中,所有算法均在前述數據集上訓練,保持原始訓練參數不變,對比實驗結果如表2 所示。結果表明,EFSSD-MV2 算法在鋼表面缺陷檢測任務上的mAP 指標超過了其他檢測算法,對裂紋、點蝕缺陷的檢測精度均為最高,說明算法對于檢測難度較大的細粒度鋼表面缺陷目標的識別具有明顯優勢。EFSSD-MV2 算法相比輸入圖像尺寸相近的SSDLite 算法和NanoDet 算法,mAP 分別高出6.44%和30.19%,體積分別減少了15.71 MB 和1.71 MB,表明算法能夠利用較少的圖像輸入資源取得較好的檢測效果。同時,EFSSD-MV2 算法相比超輕量級目標檢測算法FastestDet 的mAP 高出9.05%,相比新型輕量級目標檢測算法MutualGuide 高出3.75%;相比YOLO 系列的經典輕量級檢測算法YOLOv3-tiny,YOLOv4-tiny 分別高出12.63%和11.98%,體積則減少了23.87 MB 和13.21 MB;相比同系列主流算法YOLOv5n 以及YOLOv6n 算法,mAP 分別高出4.75%和4.92%;相比先進輕量級檢測算法YOLOv7-tiny 和YOLOX-nano,mAP 分別高出5.6% 和3.69%。EFSSD-MV2算法在檢測精度上超越了同等級別下的YOLO系列算法,而模型體積除了YOLOX-nano 之外均相比更小,表明該算法以較低的計算成本,取得了相對較高的鋼表面缺陷檢測精度。在實時檢測速度方面,雖然EFSSD-MV2 算法的fps 指標處于中間水平,但66.4 frame/s 的檢測速度能夠滿足鋼鐵行業的日常檢測需求。據此可以得出,EFSSD-MV2 相較于主流輕量級目標檢測算法,無論在對鋼表面缺陷目標的檢測精度還是在模型輕量化程度上都具有明顯的優勢。

表2 與其他輕量級目標檢測算法的實驗結果對比Tab.2 Comparison of experimental results with other lightweight target detection algorithms
對于ITSS 樣本選擇方法,超參數k的取值直接決定候選正樣本的數量,需要通過實驗驗證其取值的合理性。這里以EFSSD-MV2 算法的網絡結構為基礎,分別比較ITSS 及ATSS 方法中k對算法mAP 指標的影響,實驗中k取值為5~50,間距為5。表3 為實驗結果,其中,mAPATSS表示采用ATSS 方法后模型的平均精度均值。結果表明,超參數k會影響算法的檢測精度,當超參數k為30時,采用上述兩種方法的算法mAP 指標分別達到極大值。從不同k取值下的mAP 變化趨勢可以得出,當k取值較小時,由于正樣本數量不足,樣本選擇方法的mAP 提升效果不明顯;當k取值較大時,由于正樣本數量過多而導致方法的mAP 提升效果回落;采用ITSS 方法后算法的mAP 的整體變化幅度相對較小,原因在于其計算過程考慮了先驗框與真實框的整體IOU 特性,樣本篩選過程更加符合自然分布規律,模型經過訓練后對于不同的鋼表面缺陷擁有更強的泛化檢測能力。

表3 超參數k 對EFSSD-MV2 算法mAP 指標的影響Tab.3 Effect of hyperparameter k on mAP metrics of EFSSD-MV2 algorithm(%)
本文通過 Grad-CAM(Gradient-weighted Class Activation Mapping)繪制附加特征提取網絡的權重可視化效果圖,分別對SSD-MV2 算法、FSSD-MV2 算法以及EFSSD-MV2 算法進行實驗,并為每個類別隨機抽取1 組實驗結果,3 種算法的類激活映射輸出對比如圖5 所示。從圖中可以看出,SSD-MV2 算法各個缺陷類別的熱力圖分布都較為寬泛,對于裂紋、補丁以及雜質缺陷的特征敏感性較差;FSSD-MV2 算法雖然對于所有缺陷特征表達都具有識別能力,但其特征感知范圍仍然存在局限;相比于其他兩種算法,EFSSD-MV2 算法則具有更加完整全面的鋼表面缺陷捕獲能力,主要原因在于EFF 單元中合理運用了特征融合與注意力機制,網絡模型的特征提取更加符合人類視覺。

圖5 算法改進前后的類激活映射輸出對比Fig.5 Comparison of class activation mapping output before and after algorithm improvement
為了直觀展示鋼表面缺陷目標檢測算法的有效性,本文分別對3 種算法進行了樣例測試,檢測效果對比如圖6 所示。可以看出,SSDMV2 算法對于所有缺陷目標均存在不同程度的漏檢問題,檢測效果不佳;FSSD-MV2 算法提高了裂紋、補丁以及雜質缺陷的檢測質量,但對于刮痕缺陷的檢測精度依然較低;而EFSSD-MV2算法能夠較為準確地檢測出6 種常見的鋼表面缺陷,相比于其他兩種算法明顯改善了缺陷漏檢問題,對不同尺度的缺陷定位更加精準,如樣例圖中雜質與刮痕缺陷的算法測試結果對比;同時,該算法能夠檢測出更為細致的缺陷目標,如算法對小目標疤痕的有效定位。

圖6 算法改進前后樣例的檢測效果對比Fig.6 Comparison of sample detection results before and after algorithm improvement
本文以SSD 檢測模型為框架,提出一種輕量級鋼表面缺陷目標檢測算法EFSSD-MV2。首先,在基礎特征融合結構之后加入EFF 單元,其中AWF 模塊為不同層級的特征自適應分配融合權重,SFE 模塊則重點關注融合特征在3 個方向的全局表達。而后,通過將先驗框與真實框的整體交并特性應用于IOU 閾值的自適應計算,使模型在訓練階段能夠獲得更為合適的數據樣本。最后,本文在公共數據集NEU-DET 上進行了算法對比實驗,并對影響實驗結果的超參數進行分析。結果表明,EFSSD-MV2 算法具有良好的鋼表面缺陷檢測性能,所提出的改進方法對算法檢測精度的提升是十分有效的。下一步將開展高效特征融合結構的研究,從而以更少的計算開銷提升算法的檢測精度。