王源
(西京學院,陜西西安,710123)
作為鋼材工業生產和出口大國,熱軋帶鋼在宇航、土地建筑、車輛制造業等領域的需求日益增加,其具有良好的耐腐性、韌性和易于加工的特點,但是由于工業生產工藝技術要求或機械設備工藝技術等因素的限制,熱軋帶鋼表面上容易出現點蝕、軋制氧化物、斑塊、裂縫、夾雜塊和劃痕等問題[1],這些缺陷在影響產品外觀的同時使產品的剛度和強度有所降低,一定環境下產品更易形成銹蝕和開裂,進而形成安全隱患問題[2]。如何減少缺陷,提高鋼材表面質量,是長期以來很多企業亟須破解的難點與熱點。
熱軋帶鋼表層問題可以分為點蝕、軋制氧化物、斑塊、裂紋、夾雜塊和劃痕等各類,而傳統的測試方法則包括人工測試、渦流測試、紅外測試、漏磁測試和激光掃描等[3]。這些方法都可以一定程度地測試出熱軋帶鋼表層的問題情況。人工監測通常是檢查人員用眼睛觀察缺陷情況,但缺陷的發生是不定時偶發性的,檢查人員長期工作在振動嘈雜、強光高熱、粉塵異味的環境中很難24 小時高效工作;渦流檢測應用電磁感應原理,通過帶鋼缺陷位置產生交變電流的大小來判斷缺陷情況,受表層缺陷分布情況限制和缺陷塊面大小的影響,很難高速穩定檢測;紅外檢測根據帶鋼表層不同位置的溫度變化,判斷缺陷的分布情況。雖然可以對缺陷進行檢測,但是這種方法對缺陷范圍較小或者有重疊時檢測效果很差;漏磁檢測法是鋼坯被磁化后,若鋼坯表層有缺陷,缺陷位置會形成漏磁場,然后檢測磁場的變化來達到缺陷檢測,缺陷區域較小或者缺陷復雜時,漏磁檢測法不能有效進行檢測;激光掃描檢測法是把激光信源投射到帶鋼表面,通過收集帶鋼表面發射的光線形成計算機可以接收的信號,在經過一定算法的分析和處理進行檢測,雖然可以識別諸類型的缺陷,但是對環境要求高,設備成本較高且算法的泛化性能差;機器視覺可以替代人眼進行檢測,但在實際生產中仍不能保持實時高速的檢測,且算法泛化和調整缺陷圖庫困難。
系統總體設計圖1 如所示。本系統主要由照射光源、圖像攝像機、表面缺陷圖像采集卡以及計算機數據處理系統等構成。根據熱軋帶鋼表面缺陷檢測的特點,首先設計構建圖像采集裝置。在帶鋼傳輸軌道上方架設多架綠色光源LED燈以提高成像質量,并具有減少閃爍和壽命較長的特性。采用綠色光源可以有效避免帶鋼自身紅色光段和生產環境其他光源的干擾。光源對稱設置在掃描相機周圍均勻分布,大約呈45 度斜角。相機的兩邊設置有可控標記筆,標記筆的旁邊有警報器裝備,最后連接上顯示器。

圖1 表面缺陷檢測系統總體設計
根據檢測要求的精確度和帶鋼軌道實際的寬度距離接入一定數量的相機,并給相機配置防塵和除塵模塊以協助提高成像質量和檢測的穩定效果。把相機攝取的數字圖像信息根據相應的SDK 接口傳遞到計算機圖像數據處理系統,再對帶鋼表面進行檢測分析。若檢測結果中檢測到有缺陷存在則控制標記筆在缺陷附近做出記號,并傳遞信息到警報器發出警報信號,把控制及檢測結果實時投放到顯示器上用于顯示實際的檢測效果。檢測過程可以軟件控制面板設置相應的參數以控制保存缺陷或者全部數據到文件系統和數據庫系統。
帶鋼表面缺陷檢測系統的功能主要有實時檢測監控顯示、檢測模型相關設置、相機及工控機設置、數據管理、用戶及權限管理以及軟件系統的設置等[4],各模塊功能大致如下:
(1) 實時檢測監控顯示:主要顯示生產過程中缺陷檢測的實時畫面,當沒有缺陷正常生產時顯示帶鋼傳輸運行畫面,當檢測到缺陷時會有錨框標記缺陷類型和缺陷大小位置等信息。同時由日志區域輸出最近的缺陷日志及時間等信息。
(2) 檢測模型相關設置:可設置檢測算法模型選擇等,目前可選的檢測算法有Yolov5,后續可配置加入R-CNN、Fast R-CNN、SSD 等可選擇。
(3) 相機及工控機設置:配置波特率、串口位置、通訊協議、光源信息、外接記號筆等。除了正常通訊工作設置的參數外,放置連接測試按鈕以檢測設置的參數及硬件設備是否能有效工作。
(4) 數據管理:對缺陷檢測歷史數據的管理,包括對歷史數據進行統計和分析。由于缺陷的發生是不定時的,具有偶發等特點,缺陷數據會被記錄保存到數據庫中。管理員可以根據條件參數據進行檢索,并統計缺陷的發生率,合格率等。
(5) 用戶及權限管理:根據生產需要,配置多用戶使用權限管理。一些基礎設備信息一旦設定不允許更改,不同級別的權限設定防止因為誤操作而造成系統罷工。還有一些敏感信息只允許安全員查看,例如密碼。
(6) 軟件系統設置:配置選擇數據庫等系統信息。數據保存可配置選擇Oracle、MySql、MS SQLServer 等數據庫。保存到文件系統的文件格式可選XML 或者JSON,年月日的時間格式。
CNN 是一種應用于深度學習方面的神經網絡,它具有訓練復雜度低、訓練參量少的優勢,可以有效提升問題檢測系統的準確性。它由注入層、卷積層、池化層、全連結層和輸入輸出層組成,當中卷積層和池化層可以有效地抽取出特征數據,從而實現更高效的問題檢測能力。在卷積神經網絡中,上一級神經元僅與下一級神經元連通,而CNN 則使用了權值共同的卷積核,減少了神經網絡中參數的總量還能夠有效地規避過擬合的現象[5]。圖2 展示了卷積神經網絡的基本原理。

圖2 卷積神經網絡
深度學習技術具有強大的特征提取能力,可以有效地自動學習和處理原始數據,從而大大提高了處理效率,解決了傳統方法存在的許多困難。YOLOv5 提高了檢測的精度、速度,目前普遍應用于視頻和實時目標等的檢測中[6]。本文對熱軋帶鋼表面缺陷檢測采用YOLOv5 模型進行檢測。可以有效地提高網絡系統對小目標的識別,這種方法更加適用于熱軋帶鋼表面缺陷塊分布不均勻和外形結構多樣的情況。
本次網絡模型基于東北學院提供的NEU-DET 數據集,該集收錄了熱軋鋼帶六種常見外觀瑕疵樣本,包含軋制氧化皮、斑塊、裂紋、點蝕外觀、內含物和劃痕,典型樣本如圖3 所示,為建模訓練提供了有效的參考依據。針對數據集圖像樣本數量較少,且同類缺陷樣本相似度較高的情況,對樣本數據進行了數據集擴增。同時用圖像處理的知識對已有圖像樣本做了隨機放縮、隨機裁剪、反轉和拼接等操作。使用Python 標記軟件labelimg 對新圖形中的缺陷加以標記,并將標記數據轉換為xml 格式,以便模型能夠更好地理解和分析。

圖3 典型樣本
本次深度學習網絡模型實驗使用 PyTorch-1.13.1 框架搭建,當前計算機操作系統為Windows11。配置NVIDIA GeForce RTX 3070 Ti GPU,CUDA11.6。訓練模型選擇YOLOV5S,將數據集割裂成三塊部分:練習集、檢測集和檢驗集,以便更好地開展模型訓練。輸入圖像尺寸大小為640×640,batch_size 設為8,迭代次數epochs=100 學習率 lr=0.005。
如圖4 的訓練:Box_loss 是GIoU 損失參數的平均值。Obj_loss 是目標檢測loss 的平均值;Cls_loss 是分類loss的平均值,隨著練習數量的增加,cls_loss 值會逐漸減小;Precision 是精度;Recall 是positive 的準確性。通過使用Val box_loss 和obj 兩種方法,我們可以驗證bounding box 損失的平均數,以及目標檢測的平均數,并使用cls 來分類loss 均值,mAP 則是通過將Precision 和Recall 作為兩個坐標軸,數據線圍成一個面積。

圖4 模型訓練部分結果
根據缺陷檢測的需求檢測流程如圖5 所示。開啟光源以為相機等設備,待系統硬件設備就位后,啟動軟件并連接數據庫進入就緒狀態。若過程中有任何環節失敗則啟動警報器提示工作人員進行人工排查原因,以完成系統初始化步驟。

圖5 檢測流程圖
設備和軟件系統啟動成功后,控制缺陷檢測系統進入檢測工作狀態,設備開始循環檢測。對掃描到的位置圖像記錄原圖,使用圖像處理算法經過灰度化歸一處理,去噪濾波等處理后送入檢測模型進行檢測。對檢測到缺陷的情況,控制記號筆在帶鋼陷位置附近標記橫線,根據參數確定是否控制警報器啟動,并把缺陷數據記入到數據庫,最后把檢測情況實時投放到顯示器上并繼續檢測。
熱軋帶鋼表面缺陷檢測系統如圖6 所示,主要有實時檢測監控顯示界面,檢測模型設置及圖像參數設置,相機和光源以及工控機的設置,檢測數據管理,用戶及權限管理,檢測軟件系統的設置。

圖6 熱軋帶鋼表面缺陷檢測系統
主界面由標題欄、菜單欄、實時檢測畫面、操作控制區及日志輸出組成。在檢測模型設置圖像處理以及檢測模型的參數,調整光源和相機參數。圖像處理包含濾波、降噪、調整亮度、剪裁、灰色化和二值化等,通過分析和處理圖像最后檢測出目標缺陷,并記錄數據。數據管理功能可支撐后期的查詢和相關報表統計。
熱軋帶鋼表面缺陷檢測系統主要的功能是對熱軋帶鋼表面缺陷的在線實時檢測,在一定的光源照射協助下,通過采集熱軋帶鋼表面數據,經過一定技術的圖像處理后把數字圖像信息傳遞到缺陷檢測模型進行檢測,再把檢測后的結果保存到文件系統和數據庫系統,并將檢測結果在外部顯示器上進行實時顯示。
該系統提高了缺陷檢測的準確性和穩定性,降低了檢測的復雜性和勞動強度,并能24 小時不間斷的檢測。可以做到全自動無人值守,為進一步更高效地研究熱軋帶鋼表面缺陷檢測成套系統提供了參考。
基于深度學習的熱軋帶鋼表面缺陷檢測系統在Windows11 (64 位) 系統環境下,使用Python3.8 作為開發語言,PyCharm 2021.3.3 (Professional Edition) 作為開發工具,選擇初始數據庫為MySQL,可供選擇的數據庫有Oracel 以及MS SQLServer。導入Numpy,OpenCV,Pytorch 等通過對圖像處理,實現檢測模型的設計、訓練、調試和缺陷檢測。PyCharm(Professional Edition)是Python 腳本語言的應用開發環境(IDE),并入多種開發框架,可以使用Git 等對代碼版本控制管理,此外PyCharm 提供了多種數量的集成函數庫以便快速高效的開發完成Python 應用程序。英特爾公司發起并參與開發的一種開源的跨平臺計算機視覺庫OpenCV(Open Source Computer Vision Library),有多種語言的SDK,包括C++、Python、Java 等,內置了滿足大部分功能的函數和算法。可對方便地對圖像數據進行常用處理,包括對邊緣的檢測和圖像的分割,對目標識別和對象的跟蹤檢測、對目標特征的提取及對圖像和視頻的處理,常用在計算機視覺、機器人、智能視頻監控等領域。MySQL 數據庫是目前使用較為廣泛的關系式數據庫,數據存儲可靠,不會因為系統故障或其他原因導致數據丟失。能夠高效地處理大量數據,其內置的索引和查詢優化器能夠使查詢快速執行,并有免費的版本。以操作靈活度強、體積小、速度快等顯著優點,可以在多種操作系統和編程語言中運行,且與其他數據庫系統兼容,能應用在大多數的平臺中。