?

基于YOLOv5算法的鋼材表面缺陷檢測方法研究

2024-04-30 22:39楊碩
關鍵詞:鋼材類別聚類

楊碩

蘇交科集團檢測認證有限公司 江蘇 南京 211112

在我國制造業中,鋼材生產是國民經濟發展的重要基礎產業,而鋼材表面缺陷檢測是決定鋼材質量的重要因素。在實際生產中,由于鋼材表面存在不同程度的銹蝕、劃痕、壓痕、凹陷等缺陷,導致鋼材表面檢測過程中的缺陷圖像分辨率低、特征不明顯、種類較多且變化大,傳統的人工檢測存在效率低、準確率低、檢測結果不直觀等問題。

1 YOLOv5目標檢測算法

1.1 網絡結構

YOLOv5網絡結構包括Neck特征融合、輸入端、YOLO檢測頭、Backbone骨干網絡,其中輸入端基本操作是對圖片進行裁剪處理,將圖片拼接為指定分辨率的圖像;Backbone骨干網絡主要對圖片進行切片處理,將3通道分為為12通道,然后經過32個卷積層,將圖片轉換為32通道,擴增圖片通道能夠增加基礎的深度和網絡寬度,有利于減少參數和降低計算難度,提高算法運行效率;Neck由路徑聚合網絡和特征金字塔組成,其主要用于獲取圖片特征信息[1-2];YOLO檢測頭針對檢測目標產生檢測層,每個檢測層均有3個錨框對圖片進行檢測,結果包括對象信息(obj)、定位信息(x,y,w,h)和類別信息(cls)。

1.2 檢測原理

YOLOv5算法檢測鋼材表面缺陷時,采用PAN特征融合獲取不同尺度檢測特征,并輸出S×S的特征網絡預測框。

1.3 損失函數

置信度損失計算公式如下:

分類損失計算公式如下:

定位損失融合了完全交并比,其考慮了真實框和預測框的重疊面積、長寬比和中心點距離,計算公式如下:

2 YOLOv5算法改進

2.1 Fuzzy C-means聚類anchor算法

YOLOv5算法聚類采用K-means算法,該算法屬于硬聚類算法,樣本點相似度的衡量通常采用歐氏距離,樣本點歐氏距離越大,樣本相似度越小,并且會將其歸為某種類型,具有“非此即彼”性質,聚類精度相對較低[4]。而模糊c-均值聚類算法(fuzzy c-means algorithm,FCM)基于像素對彩色圖像進行分割,可以進一步提高聚類算法的穩定性和速度。此外,該算法通過優化樣本函數獲得其聚類隸屬度,該值越大樣本所屬類概率越大,聚類算法如下所示,其中m>1,該值主要用于控制聚類模糊度,通常情況下取值為2。

FCM聚類迭代更新終止條件如下:

迭代隸屬度無變化或者變化較小時,即達到最優狀態。

2.2 引入多譜通道注意力機制

將注意機制引入到計算機視覺信息加工中,既能有效地利用有限的計算資源實現對重要對象的識別,又能滿足人類視覺認知需求。多譜通道注意力,基于頻域信道注意力思想,將通道表征問題從一個新的視角進行研究,將其作為頻率分析壓縮過程,在保證通道整體表達性能的前提下,對通道的信息進行壓縮編碼[5]。

FcaNet注意力機制如上圖所示,首先從通道維度角度對輸入特征X進行劃分,并將其表示為,其中其次對劃分的每個部分進行離散余弦變換(DCT)頻率分量計算,并根據計算結果獲取每個劃分部分邏輯變量(Freq)向量:

根據以上運算結果,可以將多譜通道注意力框架改寫為式(13),由式(12)(13)可知,本文將全局平均池化方法進行優化,獲得多頻率分量框架,以此來豐富壓縮后的通道信息,并直觀的表達該信息。

2.3 引入解耦檢測頭

傳統目標檢測技術主要依賴單一檢測器預測目標的位置和類別,然而這種方法存在一定的局限性,無法充分利用不同目標之間的關聯信息。為了解決這個問題,本文采用了解耦檢測頭的策略。分離式檢測將目標定位與類別預測分別劃分為兩個單獨的任務,并采用各自的神經網絡模塊執行相應功能。這樣的策略使得網絡更具適應性,從而優化了對目標特征的識別能力,進而提高了檢測的準確性和泛化性能。

具體來說,解耦檢測頭的構成可以分為兩大主要部分:頭部位移與類別分離頭部。位置解耦頭主要負責預測目標空間相關信息,包括邊界框坐標和尺寸;而類別解耦頭的主要職責是預測目標物體的類別,簡而言之,它確定目標物體所屬的類別。獨立處理這兩個任務有助于網絡更加專注地學習各個方面的特性,進而提高整體的檢測效能。

此外,解耦檢測頭能夠巧妙地結合各類損失函數進行優化訓練。在優化解耦頭訓練過程中,可采用平衡交叉熵損失函數,以確保各類樣本在訓練過程中獲得同等的關注;而平滑 L1 損失函數適用于訓練位置解耦模塊,以保證目標位置的準確預測。通過運用這種靈活的損失函數組合策略,能夠顯著增強模型的泛化能力和穩定性。

在YOLOX算法中采用解耦頭可以進一步提高算法檢測精度和收斂速度。而YOLOv5采用的耦合頭為回歸和分類任務不分離類型,在目標檢測中回歸任務和分類任務存在沖突問題,而解耦檢測頭(Decoupled Head)突出在一個解字,就是把特征圖用不同的分支分開處理,

3 實驗與結果分析

3.1 實驗數據集

以某大學發布的NEU-DET熱軋帶鋼表面數據集為例,獲取5種鋼材常見故障,包括劃痕、麻點、夾雜、斑塊和壓入氧化皮,以上缺陷均獲取300張尺寸為200×200的圖像。實驗數據集共1500張鋼材表面缺陷圖像,將所有圖像按照2:8比例劃分為測試集和訓練集。

實驗操作系統采用ubuntu,軟件環境為CUDNN9.1和CUDA10.2;編程語言采用Python;開發框架采用PyTorch。

3.2 生成anchor實驗

YOLOv5算法anchor框主要從COCO數據集中獲取,由于鋼材表面缺陷與COCO數據集的真實框存在一定差異,需要生成9組anchor,并進行兩次聚類,因此設置YOLOv5算法聚類中心數為9,利用FCM生成9個anchor,最后取聚類中心和樣本點交并比最大值的均值作為聚類結果,

3.3 實驗結果分析

鋼材表面缺陷檢測通常采用平均精度均值(mAP)、精準率(Pre)和召回率(Rec)等指標評價算法性能。其中mAP主要衡量所有缺陷類別的平均精度;Pre用于描述正樣本在所有實驗樣本中占據的比例;Rec用于描述正樣本在所有正樣本類別匯總占據的比例。計算公式如下:

實驗采用mAP作為算法評價指標,實驗檢測結果如表1所示。

從表1中可以看出,在YOLOv5算法的基礎上,引入FCM算法后,剛才表面缺陷檢測精度mAP由0.80提升至0.82,提升幅度約為1.6個百分點,而在檢測速度方面基本無明顯的差異,這是因為算法的網絡結構并未改變,引入FCM算法只能改變先驗框聚類方式,并且FCM算法并未嵌入網絡將先驗框加入訓練中,不會增加算法參數量,因此缺陷檢測速度并無明顯變化;同時引入FCM和解耦頭的情況下,檢測精度mAP提升至0.83,但是檢測速度由一定程度下降。

與為改進YOLOv5算法相比,引入FCM算法和解耦頭后,改進YOLOv5算法在不同的缺陷檢測精度方面均有一定程度提升,尤其是在檢測結果精度較差的壓入氧化皮缺陷,改進算法檢測精度可以達到73%,由此可見改進后的YOLOv5算法檢測精度較高,可以滿足剛才表面缺陷檢測實時性要求。

4 結論

針對鋼材表面缺陷檢測需求,提出了改進YOLOv5算法,利用FCM算法代替原始算法中的K-means算法,并采用解耦檢測頭實現定位任務和分類任務的分離,使不同的任務進入不同的卷積層,最后引入多譜通道注意力模塊,獲取更多的鋼材表面缺陷特征信息。仿真實驗結果表明,本文提出的改進算法可以快速、準確檢測出鋼材表面缺陷,尤其是在壓入氧化皮缺陷檢測方面,改進后的算法檢測精度由一定幅度提升。

猜你喜歡
鋼材類別聚類
承壓設備用鋼材使用焊接性探討
鋼材集中采購管理思考探究
基于DBSACN聚類算法的XML文檔聚類
基于高斯混合聚類的陣列干涉SAR三維成像
鋼材分類標號(一)
服務類別
一種層次初始的聚類個數自適應的聚類方法研究
論類別股東會
中醫類別全科醫師培養模式的探討
自適應確定K-means算法的聚類數:以遙感圖像聚類為例
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合