











摘 要:針對鋼帶表面缺陷檢測樣本不足、檢測精度較低等問題,提出IVPSIC-Net模型,不需要對缺陷圖像擴增或合成,僅需較少的數據樣本,即可對鋼帶表面缺陷進行較為準確的分類和分割。經由ImageNet數據集進行預訓練,通過調整寬度因子、引入多層感知機和空洞卷積等對特征提取模塊進行優化與改進。基于MobileNet121將訓練得到的模型權重遷移至IVPSIC-Net模型,大幅度減少了模型計算量。結合位置信息,融合改進的自注意力機制實現對缺陷的有效檢出。實驗證明,模型對熱軋鋼帶的6種典型表面缺陷均可較為準確地分類和分割。所提出的方法在分類任務中準確度達到85%,相較其他缺陷目標檢測算法(YOLOv4、MPF-DNN、FAR-Net、PSIC-Net等)提升了4.79%~6.97%;在分割任務中,相較其他分割算法(Deeplabv3plus、VGG-Unet、RDUnet-A、PSIC-Net等),錯誤率降低了8.00%~20.03%,能夠更準確地分割出鋼帶表面的缺陷區域。
關鍵詞:鋼帶表面缺陷檢測;小樣本;PSIC-Net;MobileNet;目標檢測算法;注意力機制
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2024)03-00-06
0 引 言
目前,我國正在大力發展新型工業,推動工業信息化、智能化的建設。國際鋼鐵協會(IISI)2021年度公布的統計數據顯示,中國鋼產量為5.02億噸,占世界粗鋼總產量的38%。在鋼板制造的工藝流程中,鋼帶生產的質量管控尤為重要。其中,對于熱軋鋼帶表面的缺陷檢測是一項重要任務。鋼帶表面缺陷主要有斑塊、點蝕表面、開裂、軋制氧化皮、劃痕和內含物等六種。當前工廠所用的檢測方式多為人工目視檢測,存在檢測精度差、效率低等諸多問題。隨著深度學習的興起,針對鋼板缺陷檢測問題也派生出了更多的解決途徑,但在研究中也存在著諸多問題,其中較為突出的就是樣本數量少和實時性差這兩點。本文針對鋼帶表面缺陷檢測樣本不足、檢測精度較低等問題進行了較為深入的研究,提出IVPSIC-Net模型,對熱軋鋼帶的6種典型表面缺陷問題均可較為準確地分類和分割。
1 相關工作
1.1 傳統缺陷圖像檢測方法
有一些傳統的圖像檢測方法可以快速獲取表面缺陷的一些特征,并使用這些特征進行匹配和識別缺陷。最早進行圖像缺陷檢測都是通過圖像的紋理特征來提取圖像特征,不同于機器學習,不需要大量的標注數據來訓練模型參數。大致分為三種:第一,統計方法[1],是根據統計分布特征來分析和檢測缺陷,缺點是無法獲得全局特征,無法研究像素與像素之間的差異。第二,光譜方法[2],缺陷的出現影響甚至改變了紋理的一致性,因此在時域中進行變換。但是無法很細致地找到類與類之間的分別,且需要特征工程。第三,基于模型的紋理分析方法[3],建立預定義模型,定義參數進行建模,但參數計算困難,計算量大,特征受外界環境的影響大,性能無法獲得好的保障。此外,由于缺陷類型繁雜,外形毫無規律,所處方位不唯一,且程度各異,所以上述方法需要特征工程,在機器學習特別是深度學習出現之后,這些方法被替代了。
1.2 基于神經網絡的圖像檢測方法
1.2.1 傳統機器學習方法
應用于鋼板缺陷檢測上的傳統機器學習方法包括但不限于隨機森林(Random Forest, RF)[4]、K-最近鄰分類算法(K-Nearest Neighbor, KNN)[5]、支持向量網絡(Support Vector Machine, SVM)[6]等。但這些方法仍存在一些問題,比如:需要人工提取特征,工作量大而且效率低,對于成本和實時性有負面效果;魯棒性差,某個參數的變化就會影響到算法的運轉;算法步驟復雜,無法實現端到端結構等。
1.2.2 深度學習
深度學習可以自動且準確無誤地提取特征,同時保持較高的魯棒性,能夠很好地完成缺陷檢測以及分類和分割的任務,非常適用于這種直接端到端、來自初始圖片的缺陷檢測,很少受到環境的影響,不需要特征工程,就可完成很復雜的問題。深度學習在缺陷檢測領域運用的方法分為4個方向:卷積神經網絡(RCNN,CNN)、循環神經網絡(RNN)、深度信念網絡(DBN)和自動編碼器(AE)。
(1)卷積神經網絡(RCNN,CNN)
文獻[7]提出了一種R-CNN算法作為基線來訓練模型。將特征金字塔網絡添加到R-CNN中,使網絡能夠結合高級特征信息和低級特征信息,并應用于鋼板缺陷檢測方面,但是在數據要求較高、樣本稀少的條件下準確率較低。基于對鋼板表面常見缺陷的分析和現有的深度學習表面缺陷分類算法[8],選擇對Faster R-CNN深度學習模型進行改進,進而對鋼板表面缺陷進行分類,但是實時性很差,無法適應工業上的應用。文獻[9]提出了一種基于CNN的鋼板表面缺陷檢測系統,先采集缺陷樣本,然后對采集到的圖像進行去噪和邊緣檢測;最后采用CNN結構對這些缺陷進行檢測和分類。但是缺陷分割邊緣準確度較差。文獻[10]處理圖像時,使用多尺度邊緣分類算法提取邊緣特征,還使用殘差神經網絡(ResNet)融合了底層信息來實現圖像分割,特征提取準確率達到80%。可以看出以上R-CNN方法在小樣本模型中都有分類和分割不準確以及實時性差的問題。
(2)循環神經網絡(RNN)
文獻[11]提出了一種新的通過補丁特征驅動的遞歸神經網絡(RNN)檢測鋼板圖像RNFLD的自動化方法。使用通過新型累積零計數局部二進制模式(CZC-LBP)、方向差分能量(DDE)補丁特征訓練的RNN對真實邊界像素進行分類。但將此方法應用于鋼板缺陷時分類效果很差,特別是相似類型容易混淆。
(3)深度信念網絡(DBN)
文獻[12]提出了一種DBN結構,用于鋼板缺陷、焊縫缺陷的分類和識別。不需要耗時的微調訓練,而是以推進的方式融合各層輸出的特征數據,從而實現有效的特征提取。但是實時性較差,而且要求樣本清晰、數量多。
(4)自動編碼器(AE)
文獻[13]使用具有不同高斯金字塔級別的卷積去噪自動編碼器(CDAE) 網絡來重建圖像塊。然后將訓練塊的重建殘差作為直接像素方向缺陷預測的指標,結合RCNN中每個通道生成的重建殘差圖,生成最終的分類結果,結果在缺陷分類上取得了很好的效果。但是在分割上較差,無法準確勾勒出缺陷的邊緣。
1.3 實際問題及方法選擇
綜上所述,基于深度學習的缺陷檢測包含以下研究現狀和實際問題:
第一,對于小數據集的缺陷檢測,由于可以從現實中獲得的缺陷樣本稀少,而用于實驗的缺陷樣本就更加稀少,進而使得各種方法出現分類不準確、分割不清晰、檢測不徹底、類型缺失或者忽略的情況。第二,在工業生產中,速度和效率是很重要的,這就對算法的實時性提出了要求。第三,檢測效果差,如檢測范圍過大,或者圖片非常規,則無法做到對細節的把控,并且無法快速地提取有用的信息。
針對小樣本混凝土檢測的問題,Lei等人[14]提出了PSIC-Net的方法,此方法有效地解決了分割效果差的問題,在邊緣特征方面準確度高,在同時存在多種缺陷的情況下表現較好,特別是在混凝土小樣本缺陷檢測中效果很好,我們選擇此方法為基礎模型來解決鋼板檢測的問題,并對其進行改進使之更適合鋼板缺陷檢測。此方法由三級網絡架構組成,可以提取關鍵特征、空間位置信息和語義信息,并分別完成缺陷分割和圖像分類任務。該模型采用兩步訓練模式,使得分割網絡和分類的參數網絡不受約束,不會導致混亂或不收斂。而且,模型在訓練過程中改進了損失函數,使得參數可以快速準確地收斂。
2 方 法
對比缺陷種類和缺陷特征,鋼板缺陷相較于混凝土缺陷存在較大差異。相較于混凝土表面比較粗糙,鋼板表面光滑,混凝土缺陷大多為長條形、線狀或者網狀,而鋼板缺陷卻為斑點或者斑跡,且常有多種缺陷伴生,兩種缺陷特點差距較大。
將PSIC-Net遷移到小樣本鋼板缺陷中,其存在的具體問題為:(1)斑塊和點蝕表面分類較差,類別之間容易混淆;(2)軋制氧化皮分割不準確;(3)原始鋼板圖片尺寸為10∶1,異形尺寸為檢測增加了難度;(4)鋼板缺陷存在與位置相關聯的特性;(5)數據量小,所以無法實現大量參數的訓練。因此,本文提出了改進PSIC-Net模型(命名為IVPSIC-Net)。圖1為改進后的網絡結構。
2.1 特征提取模塊的優化與改進
鋼板缺陷十分復雜,與混凝土缺陷不同,缺陷的種類、特征、數量皆不相同,不能單純將原模型直接應用在鋼板缺陷上,所以應改進原有的特征提取模塊。為了保證得到更好的訓練參數,可以準確地描述出匹配鋼板缺陷的特征圖,我們選擇遷移學習這一方法,借助ImageNet上已有的預訓練模型,在我們的數據集上進行匹配,使模型的初始性能更高;訓練過程中,模型提升的速率更快;訓練結束后,得到的模型收斂更好。為求得更高的性能,對選擇出來最優的遷移學習方法做進一步改動:通過寬度因子調整,卷積塊、注意力模塊、多尺度特征融合,加入多層感知機和空洞卷積的方法,得到改進后的網絡結構如圖2所示。
將4種遷移學習骨干網絡模型ResNet、VGG、MobileNet和DenseNet在ImageNet的NEU數據集上分別進行測試。將特征圖進行通道壓縮、比例因子進行稀疏正則化操作,目的是自動識別不重要的通道將之去掉,全連接后輸出。對特征圖做兩次上采樣,然后與原始特征圖相加,對融合特征圖做通道壓縮后進行全連接。用于遷移學習的參數為50 epochs,由于使用的數據較小,因此選擇了32個批次大小。經測試,其中MobileNet表現最好,準確度達到70%以上。
接下來對MobileNet進一步改進。首先是寬度因子調整。寬度因子的作用是將網絡中每個模塊的卷積核數調整為原來的α倍,α為寬度因子。通過寬度因子可以調整訓練后特征的大小和產生的通道數大小,最終減少計算量。計算量為:Dk·Dk·αM·DF·DF+αN·αM·DF·DF。
對特征圖進行特征提取時使用不同的卷積核,增加了網絡對尺度的適應性,同時加寬網絡,提升了網絡性能。結構同時使用1×1、3×3、5×5的卷積核和3×3的池化層對輸入進行特征提取,這樣做的好處是提取到的特征在空間尺度上更為豐富,有利于后續的圖像分類。
將原模型中瓶頸結構的5×5卷積層加上1×1卷積層作為全連接層,加上ReLU函數,即為多層感知機(Multilayer Perceptron, MLP)。ReLU函數作為非線性激活函數使得網絡的非線性能力得到加強。特征的重用可以提高新網絡的局部感知能力,使擬合能力得到增強。由于全連接為1×1層,也省去了大量的參數,直接減少了網絡的計算成本。圖3為多層感知機結構。
因為鋼板缺陷種類較多,并且不同缺陷之間有較大的相似性。有的缺陷很微小,難以對缺陷的細節紋理信息加以提取利用,所以引入空洞卷積。空洞卷積在傳統卷積計算中引入了膨脹系數r,擴張卷積核的同時保持參數量不增加,可以使卷積核提取更多的特征信息,有利于對模型的學習訓練。因此,本文在 MobileNet的最后兩個 bottleneck模塊中引入了空洞卷積,如圖4所示。
2.2 結合位置信息優化缺陷分類
鋼板缺陷十分復雜,并不是以一種直接或者固定的形態出現,往往同一張圖片上會存在多個缺陷,所以缺陷的分類及分割任務還需要綜合考慮缺陷的位置以及缺陷周邊的特征。例如,軋制氧化皮和麻點狀表面通常會伴生,皺皮旁邊大概率會有裂痕。也就是說,缺陷的位置信息與缺陷所屬的種類相關,某些缺陷大概率會集中于缺陷圖片的某處,所以在原模型的基礎上考慮引入自注意力機制,結合缺陷的位置信息對缺陷的類別做出綜合判斷。改進后的算法結構如圖5所示。
首先將一張輸入圖片分成128張分支圖片,各種位置匹配位置編碼。位置編碼分為一維和二維,對兩種位置編碼分別進行實驗,結果區別不大,而二維編碼還需消耗較大計算資源,所以位置編碼選擇一維形式,一維架構可以更簡潔地表現分支圖片,也便于計算。將每一張圖片中的提取特征都放到transformer encoder中。經過20次重復特征提取,在最前面加上一個頭部標記向量,分別與每一張圖片提取出的特征進行計算來匯總整合整個圖片的整體特征,最終得到所需要的圖片特征。對于是否在每一層加上不同的位置編碼的問題,經實驗發現,效果差距不大,所以采用每一層相同的位置編碼。
為了更好地獲取到整張圖片全局的特征,即更大的感受野,需要多層卷積池化的堆疊,網絡結構復雜。頭部信息的引入可以從根本上解決問題,一個頭部信息會將所有的分支圖片的特征匯總,只需要一層,感受野即為整張圖片,等于數十層的堆疊,會很快找出需要的特征和分類規則依據。
再進行如下三步改進:
第一步,為了得到具有全局感受野的向量,使用空洞卷積,參數dilation=2,卷積核為3×3,再對通過遷移學習MobileNet121提取的特征進行壓縮,從三維l×h×w的特征變成一個向量1×1×a,這樣得到的向量具有全局的感受野,輸出和輸入的通道數相適應,這表示在特征通道上響應的全域性分布即為全局平均池化。
第二步,這樣的算法有些復雜,為了降低復雜度,引入一個參數a來為每一個特征通道形成權重,這個a即為多層感知器,中間經過一個降維,可以降低算法復雜性,減少參數。之后經過歸一化可以將通道之間的建模顯示出來。
第三步,第二步的輸出權重即可認為是不同通道的重要性,乘以通道寬度,與最初的特征進行加權相加,就可以在通道維度上進行重標定。
因為樣本圖像長寬比達到了10∶1的極端縱橫比值,而特征圖的映射取決于Rol的面積,這將導致該映射的結果太大,從而導致嚴重的特征丟失,這給檢測帶來極大的困難。所以在原來的基礎上再增加一個特征提取通道,可以幫助網絡獲得最佳Rol映射。因此本文提出一個新的映射方法:在映射時,Rol模塊同時采用兩個層,即kt層和kt-1層,這樣即使kt層過大,kt-1層也會變得更合適,將兩個層的特征進行融合可以增加多尺度特征,而不需要額外的計算。結構如圖6所示。
3 實驗和結果
3.1 實驗環境
硬件環境采用AMD Ryzen 9 5900X 12-Core CPU,內存16 GB,GPU采用NVIDIA GeForce RTX 3070 Ti 顯卡。采用Windows 7操作系統,Pycharm編譯環境,使用Pytorch 1.9.0、Python 3.7、CUDA11.0實現。
每次試驗運行50輪,綜合考慮內存原因和模型的泛化能力,將batch size定為32。學習率依次選取了1×10-5、1×10-4、1×10-3和1×10-2,當學習率數值為1×10-3時得到的效果最好。
3.2 數據集
數據集應用的是天池比賽鋼板缺陷數據集,其中無缺陷5 902張,有缺陷6 666張。數據集的80%作為訓練集,10%作為測試集,10%作為驗證集。鋼板缺陷種類共有6種:斑塊、點蝕表面、開裂、軋制氧化皮、劃痕和內含物。在此數據集中有斑塊缺陷1 195張、點蝕表面1 190張、劃痕1 189張、軋制氧化皮3 092張,開裂和內含物兩種缺陷數量太少,數據集沒有錄入。圖片規格為10:1,是屬于非常規圖片。示例圖片如圖7所示。
3.3 遷移學習骨干網絡比較
(1)ResNet:此模型旨在跳過死連接并減少層數對性能的影響[15]。
(2)VGG Net:VGG Net使用3×3內核構建,步幅=1,填充相同。它包含八層:前五層是卷積層和最大池化層,最后三個是完全連接的層。ReLU作為激活函數。
(3)MobileNet的架構是輕量級的。它使用深度方向可分離卷積,這基本上意味著它在每個顏色通道上執行單個卷積,而不是將三者結合起來。
(4)DenseNet:每個層從所有先前層獲得集體知識并將其自身的特征映射傳遞到所有后續層,更薄、更緊湊。
對四種遷移學習骨干網絡的實驗結果進行比較,50輪之后四種模型在CPU和GPU上的最終準確度見表1所列。由表1可知,ResNet和MobileNet方法的準確率最高,比其他兩種方法平均高10%,而且二者比較起來MobileNet的性能更優,所以選擇此方法改進原模型。它使用深度方向可分離卷積,這基本上意味著它在每個顏色通道上執行單個卷積,而不是將三者結合起來。開發的模型通過使用MobileNet,可以對鋼板中的缺陷進行分類和分割。
3.4 分類方法比較
評價指標:平均精度(AP)和準確度(p=TP/(TP+FP))。改進算法與各分類算法的比較見表2所列。
IVPSIC-Net為改進后的算法。AUC表達了曲線與橫軸之間的面積,顯然這個數值小于等于1。ROC曲線一般處于平分一四象限直線上方,所以AUC一般大于0.5。而效果的好壞取決于AUC是否接近1;平均精度(AP)是精度-召回率曲線(PR)和水平軸之間的面積,分類效果與這兩個參數成正比。從表2中可以得出,對比YOLOv4、MPF-DNN和FAR-Net,IVPSIC-Net方法比PSIC-Net方法在準確度和精度上有5%以上的提升;且改進后的IVPSIC-Net在分類方面也表現良好,其中分類精度可以達到85.02%。總體分類精度與數據集的復雜性呈正相關。本文提出的IVPSIC-Net方法在精度上有較大提升,其mAP值整體提升5.97%,更適用于鋼板表面缺陷檢測。
3.5 分割方法比較
性能指標為Mask mIoU和Boundary mIoU,計算公式如下:
式中:G和P表示地面實況和掩碼圖像的預測;Gd表示距離真實邊界d范圍內的像素;Pd表示距離預測邊界d范圍內的像素。改進算法與各分割算法的比較見表3所列。其中Boundary mIoU在評價分割效果時比較敏感。由表3可見,改進后的IVPSIC-Net方法在Boundary mIoU和Mask mIoU方面都領先于其他方法,特別是在VGG-Unet的性能上,最多超過14.58%。這證明了IVPSIC-Net在缺陷分割方面是有效的。本文提出的IVPSIC-Net模型在分割問題上準確度有較大提升,與其他方法相比,Boundary mIoU平均提升接近10%,能夠更準確地分割出鋼板表面的缺陷區域。
由圖8可以很清晰地看到,原方法僅能看到軋制氧化皮主缺陷,但是忽略了伴生的麻點;而改進后方法的準確度和精度都有大幅提升,可以清晰地看到麻點缺陷。
4 結 語
針對鋼板表面缺陷檢測樣本不足、檢測精度較低等問題,本文提出IVPSIC-Net模型,不需要對缺陷圖像擴增或合成,僅需較少的數據樣本,即可對鋼板表面缺陷進行較為準確的分類和分割。在原始PSIC-Net模型的基礎上,融合了MobileNet遷移學習方法來優化特征提取,通過改進后的自注意力機制將位置信息引入對類別權重的影響,構建了IVPSIC-Net。對本研究提出的方法進行試驗和分析,得出以下結論:
(1)遷移學習骨干網絡MobileNet對鋼板缺陷檢測的效果更好,經由ImageNet數據集進行預訓練,通過調整寬度因子、引入多層感知機和空洞卷積等對特征提取模塊進行優化與改進。基于MobileNet將訓練得到的模型權重遷移至IVPSIC-Net模型,大幅度減少了模型計算量。
(2)不同于RCNN、DBN和RNN等方法,本文將位置信息引入作為對缺陷類別分類判斷的依據之一,結合位置信息,融合改進的自注意力機制實現對缺陷的有效檢出,使得模型在缺陷分類問題上的準確率大幅度提升。
(3) 針對鋼板表面不同缺陷間裂痕及斑塊顏色模糊不易觀察的特點,對模型進行改進,加入多層感知機、空洞卷積以及寬度因子可以輔助特征的提取,識別精度提高5.28%。
(4)本模型對熱軋鋼帶的六種典型表面缺陷均可較為準確地分類和分割。所提出的方法在分類任務中準確度達到85%,相較其他缺陷目標檢測算法(YOLOv4、MPF-DNN、FAR-Net、PSIC-Net等)提升4.79%~6.97%;在分割任務中,本方法相較其他分割算法(Deeplabv3plus、VGG-Unet、RDUnet-A、PSIC-Net等)將錯誤率降低8.00%~20.03%,能夠更準確地分割出鋼板表面的缺陷區域。考慮到實際工業生產識別中對實時性要求很高,后續工作我們將著眼于提升缺陷檢測的實時性,使之更好地為實際工業生產服務。
注:本文通訊作者為閆精鯤。
參考文獻
[1] CUDNEY E A,DRAIN D,PARYANI K,et al. A comparison of the mahalanobis-taguchi system to a standard statistical method for defect detection [J]. International journal of industrial amp; systems engineering,2009,2(4):250-258.
[2] KREJCAR O,FRISCHER R . Non destructive defect detection by spectral density analysis [J]. Sensors,2011,11(3):2334-2346.
[3] OZDEMIR S,BAYKUT A,MEYLANI R,et al. Comparative evaluation of texture analysis algorithms for defect inspection of textile products [C]// Proceedings of Fourteenth International Conference on Pattern Recognition. Brisbane,QLD,Australia:IEEE,1998.
[4] KWON B G,KANG D J . Fast defect detection algorithm on the variety surface with random forest using GPUs [C]// Proceedings of" 2011 11th International Conference on Control,Automation and Systems. Gyeonggi-do,Korea (South):IEEE,2011.
[5] SHANMUGAMANI R,SADIQUE M,RAMAMOORTHY B . Detection and classification of surface defects of gun barrels using computer vision and machine learning [J]. Measurement,2014,60:222-230.
[6] ROCHA T,RAMOS H,RIBEIRO A L,et al. Sub-surface defect detection with motion induced eddy currents in aluminium [C]// 2015 IEEE International Instrumentation and Measurement Technology Conference (I2MTC) Proceedings. Pisa,Italy:IEEE,2015:930-934.
[7] YIN T,YANG J. Detection of steel surface defect based on faster R-CNN and FPN [C]// Proceedings of the 2021 7th International Conference on Computing and Artificial Intelligence. New York,NY,USA:ACM,2021.
[8]蔡松錢. Defect detection of steel surface using deep learning based on Faster R-CNN [D]. 廣州:華南理工大學,2019.
[9] XU L,Lü S,DENG Y,et al. A weakly supervised surface defect detection based on convolutional neural network [J]. IEEE access,2020,8:42285-42296.
[10] NES P G . Fast multi-scale edge-detection in medical ultrasound signals [J]. Signal processing,2012,92(10):2394-2408.
[11] PANDA R,PUHAN N B,RAO A,et al. Recurrent neural network based retinal nerve fiber layer defect detection in early glaucoma [C]// 2017 IEEE 14th International Symposium on Biomedical Imaging(ISBI 2017). Melbourne,VIC,Australia:IEEE,2017.
[12] LIU M,LI Y,WANG Z . A propelled multiple fusion deep belief network for weld defects detection [C]// Proceedings of the 2021 2nd International Conference on Control,Robotics and Intelligent System. New York,NY,USA:ACM,2021.
[13] WU J,LE J,XIAO Z,et al. Automatic fabric defect detection using a wide-and-light network [J]. Applied intelligence,2021,51:4945-4961.
[14] LEI L J,SUN S L,ZHANG Y,et al. PSIC-Net:pixel-wise segmentation and image-wise [J]. Machines,2021,9(10),221.
[15] FERGUSON M,AK R,LEE Y,et al. Detection and segmentation of manufacturing defects with convolutional neural networks and transfer learning:10.1520/SSMS20180033 [P]. 2018-10-25.
作者簡介:任楚嵐(1982—),遼寧人,博士,講師,研究方向為智能醫療、語義標注、智能規劃。