謝良輝 趙乘麟
摘? 要:針對傳統(tǒng)算法檢測鋼材表面缺陷(如開裂、斑塊、劃痕等)精準(zhǔn)度較低的問題,提出一種基于分割與分類的兩段式深度學(xué)習(xí)網(wǎng)絡(luò)。該網(wǎng)絡(luò)是專為表面缺陷的檢測、分割以及分類而設(shè)計(jì)的。第一階段利用YOLOv5算法對鋼材表面的缺陷進(jìn)行定位、分割;第二階段使用EfficientNet網(wǎng)絡(luò)對鋼材表面的六種缺陷類型進(jìn)行分類。實(shí)驗(yàn)結(jié)果表明,相較于傳統(tǒng)的YOLOv5算法,該方法的平均精準(zhǔn)度提高了16%,適合用于鋼材表面缺陷檢測。
關(guān)鍵詞:深度學(xué)習(xí);YOLOv5;缺陷檢測;鋼材表面
中圖分類號:TP391.4;TG115? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)03-0147-04
Steel Surface Defect Detection Method Based on Double Network
XIE Lianghui1,2, ZHAO Chenglin1,2
(1.Hunan Provincial Key Laboratory of Southwest Hunan Rural Informatization Service, Shaoyang? 422000, China;
2.School of Information Engineering, Shaoyang University, Shaoyang? 422000, China)
Abstract: In order to solve the problem of low accuracy of traditional algorithms for detecting steel surface defects such as cracks, patches and scratches, a two-stage deep learning network based on segmentation and classification is proposed in this paper, the network is designed for the detection, segmentation and classification of surface defects. In the first stage, uses YOLOv5 algorithm to locate and segment the defect on the steel surface. In the second stage, uses the EfficientNet network to classify six types of defects on steel surfaces. The experimental results show that the average accuracy of this method is improved by 16% compared with the traditional YOLOv5 algorithm, and it is suitable for steel surface defect detection.
Keywords: deep learning; YOLOv5; defect detection; steel surface
0? 引? 言
鋼材是一種重要的工業(yè)產(chǎn)品,在工業(yè)中的用途非常廣泛。隨著工業(yè)制造水平的不斷提高,鋼材產(chǎn)品在車輛工程、建筑、機(jī)械制造等領(lǐng)域逐漸成為重要的原材料[1]。然而,在其生產(chǎn)制造的過程中,由于受生產(chǎn)設(shè)備和各種外界環(huán)境因素的影響,鋼材表面不可避免地出現(xiàn)開裂、劃痕、斑塊等缺陷[2]。這些缺陷不僅會對工業(yè)產(chǎn)品的外觀產(chǎn)生影響,而且還會降低鋼材的抗腐蝕性和韌性,如果將這樣的鋼材應(yīng)用到各大工業(yè)領(lǐng)域中,則會產(chǎn)生潛在的風(fēng)險(xiǎn)。因此,研究表面缺陷檢測算法對于生產(chǎn)高質(zhì)量外觀的鋼材具有十分重要的意義[3]。
傳統(tǒng)的鋼材表面缺陷檢測方法包括人工檢測和光電檢測。人工檢測的方法可能會出現(xiàn)對工業(yè)產(chǎn)品缺陷的漏檢,效率低下、檢測標(biāo)準(zhǔn)不統(tǒng)一等問題,因此,人工檢測逐漸被淘汰和棄用。光電檢測又分為渦流檢測和漏磁檢測[4]。渦流檢測是通過檢測線圈觀察感應(yīng)電流和阻抗的變化來判斷產(chǎn)品表面是否有缺陷。該方法具有檢測速度快、靈敏度高等優(yōu)點(diǎn),但該方法存在耗費(fèi)資源較大、難以檢測輕微劃痕、對探頭要求較高等缺點(diǎn),因此該方法并不適用于鋼材表面缺陷檢測。漏磁檢測是通過磁化裝置把被測產(chǎn)品磁化到飽和狀態(tài),通過磁敏探頭檢測泄漏的磁力線,推算出被測產(chǎn)品的缺陷形態(tài)。雖然該方法的檢測速度快、成本低,但其難以準(zhǔn)確區(qū)分缺陷種類,因此不適合用于鋼材表面缺陷檢測。
隨著深度學(xué)習(xí)的發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測算法在特征提取和定位上取得了非常好的效果,科研人員逐漸將深度學(xué)習(xí)算法應(yīng)用于缺陷檢測的領(lǐng)域?;谏疃葘W(xué)習(xí)的算法主要包含兩類:一類是以R-CNN、Fast R-CNN、Faster R-CNN[5]為主的二階段算法;另一類是以YOLO、SSD為主的一階段算法,該算法基于回歸思想,使定位和分類可以同時進(jìn)行。相較于二階段算法,YOLO系列算法在速度上更快,但是精準(zhǔn)度卻有所下降。文獻(xiàn)[6]中提出一種改進(jìn)的檢測算法RTiny-YOLOv3,通過在該算法中加入殘差網(wǎng)絡(luò)和增加優(yōu)化的SPP模塊,使得鋼材表面缺陷的檢測精度得以提高。文獻(xiàn)[7]采用目前較為流行的YOLOv5s模型實(shí)現(xiàn)軋鋼表面缺陷的識別與定位,使軋鋼表面缺陷檢測的精準(zhǔn)度得以提升。
鋼材表面的缺陷種類比較多,并且形態(tài)多樣,若僅用單一的YOLOv5網(wǎng)絡(luò)模型檢測鋼材表面缺陷,難以達(dá)到較高的精準(zhǔn)度。因此,本文針對YOLOv5算法檢測鋼材表面缺陷精準(zhǔn)度偏低的問題,提出一種將YOLOv5與EfficientNet相結(jié)合的雙網(wǎng)絡(luò)算法。實(shí)驗(yàn)結(jié)果表明,雙網(wǎng)絡(luò)算法對鋼材表面缺陷檢測的平均精度(MAP)有所提高。該算法在鋼材表面缺陷檢測中性能優(yōu)異,可考慮應(yīng)用于工業(yè)產(chǎn)品的檢測。
1? 鋼材缺陷檢測模型
本文使用的缺陷檢測模型基于東北大學(xué)的熱軋帶鋼(鋼材)表面缺陷的開源數(shù)據(jù)集,思路是采用YOLOv5算法對鋼材表面的缺陷進(jìn)行定位、分割,再使用EfficientNet網(wǎng)絡(luò)對鋼材表面的六種缺陷類型(包括卷曲、斑塊、開裂、點(diǎn)蝕、夾雜物、劃痕)進(jìn)行分類處理。
1.1? YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv5的作者對COCO數(shù)據(jù)集進(jìn)行了測試,對于COCO的小目標(biāo)所占份額,四種不同的網(wǎng)絡(luò)架構(gòu)各有其優(yōu)勢。其中,YOLOv5s是最小的,最快的,也是最精確的AP。另外三種不同的網(wǎng)絡(luò)YOLOv5m、YOLOv5l、YOLOv5x都是基于這一點(diǎn),不斷地進(jìn)行挖掘和提升,AP的準(zhǔn)確率也在不斷提高,但是代價(jià)卻越來越大。YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)圖由四個模塊組成,分別是Input、Backbone、neck、輸出層,如圖1所示。
Input包含三個部分:第一部分是Mosaic數(shù)據(jù)增強(qiáng),原理是將四張圖片通過隨機(jī)放大、隨機(jī)裁剪、隨機(jī)排列等方式進(jìn)行拼接,其在小目標(biāo)的探測中效果非常好;第二部分是自適應(yīng)錨框計(jì)算,對于各種不同的數(shù)據(jù)集,在一個具有初始長度和寬度的方形錨基礎(chǔ)上輸出預(yù)測框,通過預(yù)測框與真實(shí)標(biāo)簽的對比,計(jì)算函數(shù),然后不斷地進(jìn)行更新,最終找到最合適的錨框數(shù)值;第三部分是自適應(yīng)圖片縮放,由于傳統(tǒng)的圖像檢測方法中,圖像的長度和寬度有很大的差異,所以通常的方法是將不同尺寸的初始圖片自適應(yīng)地增添最小黑色邊框,之后進(jìn)行統(tǒng)一的壓縮,然后將其輸入到檢測網(wǎng)絡(luò)中。
Backone主要包括Focus模塊、CSP模塊、SPP模塊。Focus模塊的主要作用是對圖像進(jìn)行切片操作,相當(dāng)于進(jìn)行下采樣,圖片經(jīng)過切片后尺寸會縮小,通道數(shù)會增加。然后進(jìn)行卷積操作,最終會得到不丟失任何信息的32個通道的特征圖。在保證計(jì)算速度提高的前提下,完整地保留了圖像信息。YOLOv5采用兩種CSP架構(gòu),其中YOLOv5s采用CSP1_X架構(gòu),而在Neck中采用CSP2_X架構(gòu)。CSP架構(gòu)把梯度變化合并到特征圖,解決了由于網(wǎng)絡(luò)優(yōu)化中梯度信息重復(fù)而導(dǎo)致的計(jì)算量龐大的問題。SPP模塊可進(jìn)行特征層的多尺度池化與融合,增加了感受野,提高了檢測的精準(zhǔn)度。
頸部層(neck)采用的是FPN與PAN相結(jié)合的架構(gòu),前者是從上到下將強(qiáng)語義特征由深層傳遞到底層,而后者是自下而上將強(qiáng)定位特征從底層傳達(dá)到頂層,強(qiáng)強(qiáng)聯(lián)合,增強(qiáng)網(wǎng)絡(luò)特征融合的能力。
輸出層以GIoU_Loss作為Bounding box的損失函數(shù),預(yù)測結(jié)果的好壞與數(shù)值的大小相關(guān),此外,通過非極大值抑制可以解決多個預(yù)測框同時出現(xiàn)的問題,利用加權(quán)NMS保留最匹配的目標(biāo)框。
1.2? EfficientNet網(wǎng)絡(luò)基本結(jié)構(gòu)
表1中給出了EfficientNet網(wǎng)絡(luò)的具體參數(shù)。
整個網(wǎng)絡(luò)結(jié)構(gòu)分為9層,除了堆疊在一起的第二層到第八層的MBConv結(jié)構(gòu)之外,第一層是卷積核大小為3×3的卷積層,最后一層是由一個卷積核大小為1×1的普通卷積層、一個平均池化層和一個全連接層構(gòu)成的。
Efficient Net通過同時提高網(wǎng)絡(luò)寬度、網(wǎng)絡(luò)深度以及輸入網(wǎng)絡(luò)的分辨率來增強(qiáng)網(wǎng)絡(luò)的性能,只單獨(dú)增加網(wǎng)絡(luò)的某一個屬性對網(wǎng)絡(luò)性能的影響。圖2(e)是同步增加網(wǎng)絡(luò)的寬度、深度及分辨率,如圖2所示。
其中最重要的是MBConv模塊,它的作用是對網(wǎng)絡(luò)的輸入進(jìn)行卷積操作,使得網(wǎng)絡(luò)的寬度、深度、分辨率能夠互相調(diào)和,之后再進(jìn)行一次深度卷積操作,最后將這三個網(wǎng)絡(luò)的寬度、深度和分辨率的值進(jìn)行縮放,目的是最大限度地提升網(wǎng)絡(luò)的性能。
因?yàn)镋fficient Net是通過加入DropConnect的方式來降低模型過擬合的風(fēng)險(xiǎn),其原理是在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,對隱層節(jié)點(diǎn)的輸入進(jìn)行隨即丟棄。同時,我們在Efficient Net網(wǎng)絡(luò)結(jié)構(gòu)的最后加入Dropout,從而不必采用訓(xùn)練多個模型的方法,不但避免了過擬合情況的發(fā)生,而且由于免除了多模型的訓(xùn)練過程,從而節(jié)約了大量的時間。也就是說,我們將隱層節(jié)點(diǎn)的輸入和輸出丟棄,使得網(wǎng)絡(luò)對新鮮樣本的適應(yīng)能力增強(qiáng),對數(shù)據(jù)集之外圖像中缺陷的檢測準(zhǔn)確率提高。
本文選擇的分類網(wǎng)絡(luò)版本是Efficient Net B2,Efficient Net的模型準(zhǔn)確率是從B0到B7逐步上升的,但是由于B3之后的計(jì)算量成倍增加,再考慮到自己的硬件成本,故選擇了準(zhǔn)確率較高、計(jì)算量較小的B2模型。
2? 實(shí)驗(yàn)與分析
之前提及的思路是:YOLOv5負(fù)責(zé)檢測定位缺陷(不進(jìn)行類別的劃分),并裁剪缺陷區(qū)域。EfficientNet的輸入為YOLOv5裁剪好的bbox,輸出為6個類別中的某一類。
原數(shù)據(jù)集是已標(biāo)注好的,因此YOLOv5算法對數(shù)據(jù)集中缺陷部分的框選是非常準(zhǔn)確的,這也有利于之后在EfficientNet網(wǎng)絡(luò)中對數(shù)據(jù)集進(jìn)行分類操作,如圖3所示。
YOLOv5網(wǎng)絡(luò)隨著訓(xùn)練迭代次數(shù)的增加,會出現(xiàn)各類數(shù)據(jù)的變化曲線,其中包括mAP、obj_loss、precision等。本次實(shí)驗(yàn)是在配備NVIDIA GTX1080Ti的GPU的PC上Pytorch訓(xùn)練Efficient Net模型。在訓(xùn)練時應(yīng)用了批處理學(xué)習(xí)方法,batch size為16,對每個epoch進(jìn)行50個step。權(quán)重通過標(biāo)準(zhǔn)高斯分布初始化,YOLOv5網(wǎng)絡(luò)的權(quán)重是從ImageNet網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練后的權(quán)重。優(yōu)化器選擇的是在SGDM的基礎(chǔ)上進(jìn)行改進(jìn)的包含自適應(yīng)學(xué)習(xí)率的Adam,其momentum值設(shè)置為0.5,學(xué)習(xí)率初始化為0.001,每100次迭代將學(xué)習(xí)率降低0.1,直至分類網(wǎng)絡(luò)收斂。訓(xùn)練結(jié)果如圖4所示。
EfficientNet網(wǎng)絡(luò)參數(shù)如下:
分類模型epoch150次;batch_size設(shè)置為4;訓(xùn)練集圖片張數(shù)為2 929;測試集圖片為126張;每個epoch的step=732;優(yōu)化器使用SGD,設(shè)置momentum值為0.9,初始學(xué)習(xí)率為0.01,學(xué)習(xí)率衰減采用余弦退火。
由于檢測網(wǎng)絡(luò)YOLOv5已經(jīng)對數(shù)據(jù)集中的圖像進(jìn)行分割,分類模型的輸入是經(jīng)過裁剪的圖像,無法繪制出檢測框,分類模型只有類別輸出,如圖5所示。經(jīng)過Efficient Net分類的準(zhǔn)確率能夠達(dá)到91.8%,而如果僅僅使用YOLOv5進(jìn)行分類,則只能獲得75%的準(zhǔn)確率??梢哉f,本次實(shí)驗(yàn)所使用的二階段網(wǎng)絡(luò),大大提升了分類的準(zhǔn)確率。
3? 結(jié)? 論
本文從工業(yè)應(yīng)用的角度探討了一種通過分割網(wǎng)絡(luò)進(jìn)行表面缺陷檢測的深度學(xué)習(xí)方法,并提出一種兩階段的方法。第一階段包括在缺陷的像素級標(biāo)簽上訓(xùn)練的分割網(wǎng)絡(luò),而第二階段包括在分割網(wǎng)絡(luò)之上構(gòu)建的分類網(wǎng)絡(luò),用以檢測整個圖像是否存在缺陷,以及其分屬哪種類型的缺陷。
表面缺陷表現(xiàn)為鋼材表面的腐蝕、開裂、卷曲、劃痕等。對本文所提方法與單純使用YOLOv5分類方法的檢測效果進(jìn)行了比較。在東北大學(xué)的熱軋帶鋼(鋼材)表面缺陷數(shù)據(jù)集上的實(shí)驗(yàn)表明,本文所提模型相較于只有一個錯誤分類的相關(guān)方法效果明顯提高,而相關(guān)方法實(shí)現(xiàn)了五個乃至更多的缺陷分類。這可以歸因于所提出的帶有分割和分類網(wǎng)絡(luò)的二階段設(shè)計(jì),改進(jìn)的感受野大小以及提高的缺陷細(xì)節(jié)檢測能力。
然而,本文所提出的方法僅限于特定類型的任務(wù),例如鋼材的缺陷檢測,因?yàn)樵摷軜?gòu)是針對像素級分割任務(wù)而設(shè)計(jì)的。如果存在其他質(zhì)量問題,該解決方案會不太適合。例如,復(fù)雜3D對象的質(zhì)量控制可能需要檢測損壞或丟失的部分,這些問題可以通過檢測方法(例如Mask RCNN)得以解決。
參考文獻(xiàn):
[1] 劉坤,張曉懌,陳海永.帶鋼表面質(zhì)量在線檢測系統(tǒng)研究與設(shè)計(jì) [J].計(jì)算機(jī)測量與控制,2015,23(6):1881-1884.
[2] 劉坤,陳寧紀(jì),張曉懌.實(shí)時帶鋼表面質(zhì)量檢測算法研究與應(yīng)用 [J].機(jī)械設(shè)計(jì)與制造,2015(7):74-76+79.
[3] 徐鳳云.基于神經(jīng)網(wǎng)絡(luò)的鋼材表面缺陷快速檢測 [D].南京:南京理工大學(xué),2009.
[4] 吳平川,路同浚,王炎.鋼板表面缺陷的無損檢測技術(shù)與應(yīng)用 [J].無損檢測,2000(7):312-315.
[5] REN S Q,HE K M,GIRSHICK R,et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [J].IEEE transactions on pattern analysis and machine intelligence,2017,39(6):1137-1149.
[6] 劉洋.基于深度學(xué)習(xí)的工業(yè)鋼材瑕疵檢測研究 [D].合肥:安徽建筑大學(xué),2021.
[7] 李一鳴,王瀟.基于YOLOv5s模型的軋鋼表面缺陷檢測 [J].制造業(yè)自動化,2021,43(11):117-119.
作者簡介:謝良輝(1996—),男,漢族,河南濮陽人,碩士研究生在讀,研究方向:機(jī)器視覺。
收稿日期:2022-10-10
基金項(xiàng)目:湖南省教育廳重點(diǎn)項(xiàng)目(19A446);邵陽學(xué)院研究生科研創(chuàng)新項(xiàng)目(CX2022SY051)