竇 智,胡晨光,李慶華,鄭李明
1.河南師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,河南 新鄉(xiāng) 453007
2.萊蕪鋼鐵集團(tuán)銀山型鋼有限公司板帶廠,濟(jì)南 271104
3.金陵科技學(xué)院 機(jī)電工程學(xué)院,南京 211169
鋼板是制造業(yè)中用途最為廣泛的材料之一,由于其表面積較大,生產(chǎn)過程中極易產(chǎn)生不同種類的表面?zhèn)?。然而,這些傷痕往往會(huì)對(duì)下游產(chǎn)品的質(zhì)量和耐久性產(chǎn)生嚴(yán)重影響,進(jìn)而成為整個(gè)產(chǎn)業(yè)鏈品控的高風(fēng)險(xiǎn)節(jié)點(diǎn)。如何對(duì)鋼板表面?zhèn)圻M(jìn)行高精度自動(dòng)化檢測(cè)和分類是智能制造業(yè)缺陷檢測(cè)中極具挑戰(zhàn)的問題。
近年來,大多數(shù)較為先進(jìn)的目標(biāo)檢測(cè)算法都使用了卷積神經(jīng)網(wǎng)絡(luò)模型,并且在目標(biāo)檢測(cè)任務(wù)中表現(xiàn)出優(yōu)異的檢測(cè)效果,如一階段檢測(cè)器SSD[1]和YOLO[2]等,二階段檢測(cè)器Faster R-CNN[3]、R-FCN[4]等。一些學(xué)者為將目標(biāo)檢測(cè)算法能夠更好地應(yīng)用于工業(yè)檢測(cè)做出了嘗試,Li等[5]基于一階段目標(biāo)檢測(cè)YOLO網(wǎng)絡(luò)用來檢測(cè)鋼板表面缺陷。Zhang 等[6]將YOLOv3[7]用于橋梁的缺陷檢測(cè)任務(wù)上,通過遷移學(xué)習(xí)方法來優(yōu)化原網(wǎng)絡(luò)的檢測(cè)性能。Chen 等[8]嘗試將DenseNet[9]嵌入到Y(jié)OLOv3 網(wǎng)絡(luò)結(jié)構(gòu)中,使改進(jìn)后的網(wǎng)絡(luò)能夠更好地應(yīng)用于LED 缺陷檢測(cè)任務(wù)上。曹義親等[10]提出了一種改進(jìn)YOLOv5 的鋼材表面缺陷檢測(cè)算法。值得注意的是,面向訓(xùn)練樣本規(guī)模不足的多分類問題(即小樣本問題)時(shí),這類方法并不適用。
與傳統(tǒng)的人工檢測(cè)相比,上述方法確實(shí)提高了制造業(yè)中的產(chǎn)品質(zhì)檢效率和準(zhǔn)確率,降低人工成本。但是,智能制造業(yè)中良品率比較高,有缺陷的樣本數(shù)量極少,會(huì)導(dǎo)致正負(fù)樣本極度不均衡,而且行業(yè)數(shù)據(jù)有其特殊的商業(yè)價(jià)值和保密性特征,公開率極低,有效的訓(xùn)練樣本難以獲得,且價(jià)格較為昂貴,是典型的小樣本問題,深度學(xué)習(xí)方法不具備可行性;此外,該領(lǐng)域?qū)z測(cè)精度的行業(yè)要求較高,傳統(tǒng)的深度網(wǎng)絡(luò)模型難以達(dá)到行業(yè)要求,需進(jìn)一步地降低漏檢、誤檢率,方能達(dá)到智能制造業(yè)產(chǎn)品缺陷檢測(cè)的行業(yè)要求。針對(duì)該特殊場(chǎng)景下的缺陷檢測(cè)問題,本文提出了一種基于改進(jìn)YOLOv7[11]的小樣本鋼板表面缺陷檢測(cè)算法,通過高仿真度的樣本生成算法解決訓(xùn)練樣本不足問題,通過改進(jìn)網(wǎng)絡(luò)模型提高檢測(cè)精度,降低漏檢和誤檢的現(xiàn)象。使此類場(chǎng)景下的深度學(xué)習(xí)方案具備了可行性,同時(shí)也獲得了更加優(yōu)秀的檢測(cè)性能。
本文主要貢獻(xiàn)可總結(jié)為:首先,提出了一種小樣本驅(qū)動(dòng)的鋼板表面缺陷樣本生成算法,使深度學(xué)習(xí)應(yīng)用于樣本不足的檢測(cè)任務(wù)具備了可行性;然后,對(duì)YOLOv7中的ELAN模塊進(jìn)行優(yōu)化,來增強(qiáng)網(wǎng)絡(luò)提取到關(guān)鍵特征的能力;接著,引入注意力機(jī)制,將卷積與自注意力相融合,降低網(wǎng)絡(luò)對(duì)小目標(biāo)的漏檢率;最后,優(yōu)化原網(wǎng)絡(luò)中的損失函數(shù),來提升模型的定位性能。
大規(guī)模的高質(zhì)量訓(xùn)練樣本,是深度網(wǎng)絡(luò)得以訓(xùn)練和優(yōu)化的數(shù)據(jù)基礎(chǔ)。在某些特殊領(lǐng)域中,無法獲取足夠的訓(xùn)練樣本,將導(dǎo)致深度學(xué)習(xí)無法得到應(yīng)用。數(shù)據(jù)增強(qiáng)思想是有效解決樣本不足問題的重要手段,能夠起到提升深度網(wǎng)絡(luò)模型性能的作用[3],不僅可以提高模型的泛化能力,防止訓(xùn)練時(shí)過度擬合,而且具備較好的可行性。常見的方法是將已有樣本進(jìn)行多種變換操作[12],模擬生成更多樣本,提升訓(xùn)練集規(guī)模。Nair等[13]對(duì)數(shù)據(jù)采取了顏色變換以及幾何變換的操作,通過隨機(jī)水平翻轉(zhuǎn)、隨機(jī)裁剪以及在色彩空間上應(yīng)用PCA來增加數(shù)據(jù)集樣本數(shù)量。Dwibedi 等[14]通過對(duì)樣本數(shù)據(jù)進(jìn)行剪切、粘貼等操作提高了模型的檢測(cè)性能。Tran等[15]從訓(xùn)練集合中,學(xué)習(xí)特征分布的特點(diǎn),通過貝葉斯分析方法來生成增強(qiáng)后的數(shù)據(jù)。
上述方法都采用了比較簡(jiǎn)單的數(shù)據(jù)變換,難以在已有樣本極其有限的情況下,真實(shí)模擬出符合客觀分布特征且具有多樣性的復(fù)雜樣本,也難以有針對(duì)性地對(duì)某特定領(lǐng)域數(shù)據(jù)集進(jìn)行高保真度的樣本生成與擴(kuò)充。
另外,目前對(duì)于小樣本問題,研究人員普遍使用生成對(duì)抗網(wǎng)絡(luò)GAN(generative adversarial nets)[16]來擴(kuò)充樣本數(shù)量,如CGAN(conditional generative adversarial nets)[17]、CycleGAN(unpaired image-to-image translation using cycle-consistent adversarial networks)[18]、StyleGAN(a style-based generator architecture for generative adversarial networks)[19]、StyleGAN2(analyzing and improving the image quality of StyleGAN)[20]等,但其均需要足夠的數(shù)據(jù)來訓(xùn)練模型,當(dāng)樣本數(shù)據(jù)極其稀少時(shí)無法應(yīng)用,具有很大的局限性,無法解決鋼板表面缺陷小樣本問題。
針對(duì)以上問題,本文提出一種面向鋼板表面缺陷小樣本數(shù)據(jù)集的樣本生成算法。
在計(jì)算機(jī)視覺領(lǐng)域中,目標(biāo)檢測(cè)算法可以分為兩大類,分別是一階段和二階段目標(biāo)檢測(cè)算法。其中一階段以YOLO 系列的算法作為代表,其檢測(cè)速度較快,檢測(cè)性能更加優(yōu)異,滿足實(shí)時(shí)檢測(cè)任務(wù)的需求,常應(yīng)用于實(shí)際項(xiàng)目的檢測(cè)任務(wù)。YOLOv7 是YOLO 系列中檢測(cè)性能較為優(yōu)異的算法,在檢測(cè)速度和檢測(cè)精度上,比大多數(shù)目標(biāo)檢測(cè)器更好,如YOLOR[21]、YOLOx[22]、YOLOv5、PPYOLOE[23]等。YOLOv7網(wǎng)絡(luò)架構(gòu)如圖1所示,其骨干網(wǎng)絡(luò)(Backbone)主要是由ELAN、CBS 和MP-1 結(jié)構(gòu)組成,用于提取特征。Head 由SPPCSPC、ELAN-C、MP-2和REP結(jié)構(gòu)組成,用于模型預(yù)測(cè)。
YOLOv7將模型重參數(shù)化引入到網(wǎng)絡(luò)架構(gòu),訓(xùn)練時(shí)采用多分支的網(wǎng)絡(luò)使模型獲取更好的特征表達(dá);同時(shí)加入標(biāo)簽分配策略進(jìn)一步地提升網(wǎng)絡(luò)性能;利用有效層聚合網(wǎng)絡(luò)使得深層網(wǎng)絡(luò)可以有效學(xué)習(xí)和收斂,使得模型更加高效,提升模型檢測(cè)精度。
鋼板缺陷檢測(cè)是在鋼板制造和生產(chǎn)過程中的一個(gè)重要環(huán)節(jié),旨在發(fā)現(xiàn)和識(shí)別鋼板上的缺陷,以確保生產(chǎn)出高質(zhì)量的鋼板產(chǎn)品。主要有以下幾種檢測(cè)技術(shù)。
1.3.1 視覺檢測(cè)技術(shù)
視覺檢測(cè)是最常用的鋼板缺陷檢測(cè)方法之一,它利用高分辨率相機(jī)和圖像處理算法,對(duì)鋼板表面進(jìn)行掃描和分析,以檢測(cè)缺陷如裂紋、劃痕、孔洞等。這些技術(shù)通常結(jié)合光源、濾光器和圖像處理算法,以提高檢測(cè)的準(zhǔn)確性和效率。
1.3.2 超聲波檢測(cè)技術(shù)
超聲波檢測(cè)是一種非接觸式的檢測(cè)方法,適用于檢測(cè)鋼板內(nèi)部的缺陷,如氣孔、夾雜等。超聲波技術(shù)通過向鋼板中發(fā)送超聲波脈沖,并通過接收器接收反射回來的信號(hào),根據(jù)信號(hào)的強(qiáng)度和時(shí)間延遲來確定缺陷的位置和類型。
1.3.3 磁粉檢測(cè)技術(shù)
磁粉檢測(cè)是一種常用的鋼板表面缺陷檢測(cè)方法,它利用磁場(chǎng)和磁粉顆粒來檢測(cè)鋼板表面的裂紋、疤痕等缺陷。在磁粉檢測(cè)過程中,鋼板表面涂覆有磁粉顆粒,然后施加磁場(chǎng),如果存在缺陷,磁粉顆粒會(huì)在缺陷處形成可見的磁粉堆積。
1.3.4 熱成像檢測(cè)技術(shù)
熱成像檢測(cè)利用紅外熱像儀來檢測(cè)鋼板表面的溫度分布情況,以識(shí)別潛在的缺陷。缺陷通常會(huì)導(dǎo)致局部溫度變化,因此通過檢測(cè)溫度異??梢远ㄎ缓妥R(shí)別缺陷。
1.3.5 機(jī)器學(xué)習(xí)檢測(cè)技術(shù)
近年來,機(jī)器學(xué)習(xí)技術(shù)在鋼板缺陷檢測(cè)中得到廣泛應(yīng)用,通過大量的數(shù)據(jù)訓(xùn)練模型,可以使計(jì)算機(jī)自動(dòng)學(xué)習(xí)和識(shí)別鋼板上的各種缺陷,這種方法具有高度的自動(dòng)化和準(zhǔn)確性,并且可以處理大規(guī)模的生產(chǎn)線上的數(shù)據(jù)。
制造業(yè)的特殊性使得鋼板傷痕的通用數(shù)據(jù)集缺失,若要將深度學(xué)習(xí)用于該領(lǐng)域的缺陷檢測(cè)問題,就必須自制大規(guī)模的訓(xùn)練集合。然而,多種缺陷出現(xiàn)概率極低,數(shù)月的在線采集也僅能得到十幾張到幾十張不等的缺陷樣本,無法實(shí)現(xiàn)對(duì)深度網(wǎng)絡(luò)的有效訓(xùn)練和優(yōu)化,最終導(dǎo)致檢測(cè)失敗,如3.3 節(jié)實(shí)驗(yàn)所示。以邊絲壓入缺陷為例,采集到的該類次品樣本極少,僅占總樣本數(shù)的0.3%,正負(fù)樣本嚴(yán)重不均衡,無法對(duì)深度網(wǎng)絡(luò)進(jìn)行有效的訓(xùn)練。為了能將深度學(xué)習(xí)應(yīng)用于上述小樣本分類問題,本文提出一種基于多維統(tǒng)計(jì)特征模型的樣本生成算法,能夠在尊重缺陷固有特征的前提下,生成大規(guī)模保真度高且多樣性強(qiáng)的樣本集合,進(jìn)而解決樣本規(guī)模不足和樣本不均衡問題,使得將深度學(xué)習(xí)應(yīng)用于小樣本目標(biāo)檢測(cè)任務(wù)具備較好的可行性。
首先,統(tǒng)計(jì)良品集合中圖像各像素點(diǎn)亮度值的概率分布,舍棄3σ以外的亮度分布,對(duì)剩余的亮度值求歸一化加權(quán)平均,得到背景模型IB:
其中,x、y分別為樣本圖像中各像素的行、列坐標(biāo),Ii表示選取到的第i個(gè)亮度級(jí),N為亮度級(jí)的最大值,pi表示Ii出現(xiàn)的概率,圖2為得到的背景模型。
然后,提取次品集合中各樣本圖像的傷痕區(qū)域,并對(duì)其進(jìn)行有效特征的統(tǒng)計(jì)分析。通過實(shí)驗(yàn)分析可知,鋼板邊絲壓入缺陷檢測(cè)的強(qiáng)特征包括傷痕長(zhǎng)度α(單位為像素),傷痕寬度β(單位為像素)和傷痕角度θ(單位為度),傷痕的統(tǒng)計(jì)特征向量可表示為C=(α,β,θ)T。分別統(tǒng)計(jì)α、β及θ的均值及標(biāo)準(zhǔn)差,(μα,σα)=(401,16),(μβ,σβ)=(1 3,2),(μθ,σθ)=(1 20,45)。假設(shè)強(qiáng)特征之間相互獨(dú)立,且均符合正態(tài)分布,據(jù)此建立鋼板傷痕的三元正態(tài)分布模型Sαβθ。依據(jù)此模型的概率分布特征,隨機(jī)生成M(本文中M=2 000)個(gè)傷痕子圖。設(shè)特征向量生成樣本的概率密度函數(shù)為:
其中,Σ=Cov(C)為C=(α,β,θ)T的協(xié)方差矩陣,μ為數(shù)學(xué)特征均值向量,μ=(μα,μβ,μθ)T。得到的邊絲壓入缺陷子圖如圖3所示。
圖3 生成的傷痕子圖Fig.3 Generated scar subgraph
接著,對(duì)生成的各傷痕子圖的邊緣進(jìn)行半徑為R(本文中R=60)的羽化,即使處于傷痕子圖邊緣R行、R列像素的透明度dr隨邊緣半徑r的增大逐漸從0%遞增到100%,羽化效果如圖4所示,透明度函數(shù)表示為:
圖4 傷痕子圖羽化后效果Fig.4 Effect of feathered scar sub image
最后,隨機(jī)調(diào)節(jié)羽化處理后的各傷痕子圖的位置,并將其與背景模型IB進(jìn)行基于透明度的圖像融合,去除結(jié)構(gòu)相似性較差的樣本,即可得到規(guī)模為M的多樣性邊絲壓入缺陷樣本集合。將該集合并入原傷痕樣本集合,即可在不改變樣本統(tǒng)計(jì)分布特征的前提下,獲得保真度好且多樣性強(qiáng)的大規(guī)模訓(xùn)練樣本,有效解決正負(fù)樣本不均衡的問題,使得深度網(wǎng)絡(luò)能夠被有效訓(xùn)練,并最終實(shí)現(xiàn)高性能缺陷檢測(cè)。圖5 為使用邊絲壓入缺陷樣本生成算法生成樣本的展示效果圖。
圖5 傷痕樣本生成展示Fig.5 Display of scar sample generation
本文基于原YOLOv7 網(wǎng)絡(luò)在特征提取環(huán)節(jié)進(jìn)行改進(jìn),對(duì)網(wǎng)絡(luò)中ELAN模塊進(jìn)行了優(yōu)化,引入SE模塊[24]來加強(qiáng)網(wǎng)絡(luò)提取關(guān)鍵特征的能力。SE-ELAN模塊采用一種特征重標(biāo)定策略,使網(wǎng)絡(luò)能夠充分利用全局信息,通過損失函數(shù)來自主地學(xué)習(xí)特征權(quán)重,取得各個(gè)特征通道的重要程度,達(dá)成特征通道自適應(yīng)標(biāo)定,增加有效特征通道的權(quán)值,減少無效特征通道的權(quán)值,從而增強(qiáng)重要的特征、抑制次要的特征,提升模型的檢測(cè)性能。圖6為SE-ELAN的結(jié)構(gòu)圖。
圖6 SE-ELAN模塊Fig.6 SE-ELAN module
SE-ELAN原理如下:首先,給定特征圖X′,維度信息為H′×W′×C′,經(jīng)過卷積操作后生成維度為H×W×C的特征圖U。然后,經(jīng)過全局平均池化操作,將H×W×C大小的特征圖壓縮為1×1×C。這一維參數(shù)亦獲取了H×W全局的感受野。接著,依次經(jīng)過全連接層和激活函數(shù),利用全連接層對(duì)特征圖進(jìn)行下采樣操作,將特征維度由1×1×C降采樣為1×1×C/r,其中r表示為一個(gè)縮放參數(shù),降低模型的參數(shù)量,加快模型訓(xùn)練。然后,使用激活函數(shù)來增加網(wǎng)絡(luò)非線性擬合能力。再通過全連接層將特征維度由1×1×C/r上采樣到1×1×C的大小。之后,經(jīng)過Sigmoid 歸一化成數(shù)值為0~1的權(quán)重,不同大小的權(quán)重代表了不同特征通道的重要性。最后,通過一個(gè)Scale步驟,將各個(gè)通道對(duì)應(yīng)的特征與相應(yīng)的權(quán)重進(jìn)行加權(quán)處理。
本文由CoAtNet[25]網(wǎng)絡(luò)得到啟發(fā),結(jié)合卷積以及自注意力機(jī)制的特點(diǎn),引入ACmix[26]模塊來提升網(wǎng)絡(luò)對(duì)鋼板表面缺陷小尺寸目標(biāo)的關(guān)注度。其結(jié)構(gòu)是卷積與自注意力兩部分融合而成,原理如圖7所示。
首先,利用三個(gè)1×1的卷積對(duì)輸入的特征進(jìn)行投影后分成N部分,得到3N個(gè)映射之后的中間特征。在第一個(gè)分支上,利用卷積操作獲取局部感受野的特征信息,中間特征經(jīng)過全連接層后,再將生成的特征進(jìn)行位移以及聚合的操作,接著對(duì)輸入的特征采取卷積處理,得到H×W×C的特征;在第二個(gè)分支上,利用自注意力機(jī)制獲取全局感受野,而且更加關(guān)注重點(diǎn)。3N個(gè)中間特征對(duì)應(yīng)三個(gè)特征圖,分別為Query、Key和Value,并遵循多頭自注意力模塊,再通過卷積處理得到H×W×C的特征。最后,將以上兩個(gè)分支的輸出加在一起,其強(qiáng)度由兩個(gè)可學(xué)習(xí)的標(biāo)量控制。
其中,F(xiàn)out為ACmix 模塊中最后的輸出結(jié)果,F(xiàn)att、Fconv分別為自注意力路徑與卷積路徑上的輸出結(jié)果,α和β值設(shè)置為1。ACmix 集成卷積和自注意力模塊的優(yōu)點(diǎn),作用于YOLOv7網(wǎng)絡(luò)中的Head部分,利用注意力機(jī)制來加權(quán)不同邊界框的預(yù)測(cè)結(jié)果,根據(jù)每個(gè)邊界框的特征表示或置信度等信息,動(dòng)態(tài)地調(diào)整不同邊界框的重要性,以提高對(duì)小目標(biāo)的關(guān)注度,降低網(wǎng)絡(luò)模型檢測(cè)小目標(biāo)時(shí)產(chǎn)生的漏檢情況,提升整體的檢測(cè)準(zhǔn)確度。
改進(jìn)后YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。
圖8 改進(jìn)后YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)Fig.8 Improved YOLOv7 network structure
本文在實(shí)驗(yàn)過程中,發(fā)現(xiàn)數(shù)據(jù)集存在低質(zhì)量的樣本,幾何因素會(huì)造成低質(zhì)量樣本加重懲罰,導(dǎo)致模型泛化能力不足。針對(duì)此問題,本文引入動(dòng)態(tài)非單調(diào)的聚焦機(jī)制WIoU[27]替換YOLOv7 中的損失函數(shù),使用離群值β替代IoU對(duì)錨框質(zhì)量評(píng)估,其定義如式(5)、(6)所示:
3.1.1 實(shí)驗(yàn)設(shè)定
在本文中,實(shí)驗(yàn)使用Linux 操作系統(tǒng),GPU 采用GeForce RTX 2080 Ti 的11 GB 顯 卡,CPU 為Intel?Xeon?E5-2620 V4 2.10 GHz,CUDA 版本為10.0。所有網(wǎng)絡(luò)均未使用預(yù)訓(xùn)練模型,設(shè)置訓(xùn)練輪次epoch=100,批量大小batch size=8,設(shè)置網(wǎng)絡(luò)初始學(xué)習(xí)率為0.01,輸入的圖片尺寸大小統(tǒng)一縮放為640×640。
3.1.2 數(shù)據(jù)集介紹
本文共使用兩種數(shù)據(jù)集,第一種為微軟公司發(fā)布的COCO2017 數(shù)據(jù)集,實(shí)驗(yàn)中使用118 287 張圖片用來訓(xùn)練,5 000張圖片用來驗(yàn)證,共計(jì)數(shù)據(jù)123 287張,包含80個(gè)種類。第二種為鋼板表面缺陷數(shù)據(jù)集SPD(steel plate defect data set),從鋼板生產(chǎn)過程中采集的缺陷樣本數(shù)據(jù),并對(duì)其進(jìn)行了標(biāo)注、分類,其中訓(xùn)練集圖片有690張,驗(yàn)證集圖片為176張,共計(jì)數(shù)據(jù)866張,包含5個(gè)種類。在SPD數(shù)據(jù)集中有一種名為“邊絲壓入”的缺陷,樣本數(shù)量極少,屬于小樣本數(shù)據(jù),本文通過樣本生成算法將其樣本數(shù)據(jù)由16張擴(kuò)增為150張。
3.1.3 評(píng)價(jià)指標(biāo)
本實(shí)驗(yàn)中,以召回率、準(zhǔn)確率、mAP 作為評(píng)價(jià)指標(biāo)。召回率用來表示模型在檢測(cè)任務(wù)中,正確檢測(cè)到的正樣本數(shù)量,占總正樣本數(shù)的比例。準(zhǔn)確率用來表示模型在實(shí)際檢測(cè)任務(wù)當(dāng)中,正確檢測(cè)到的樣本數(shù)量,占總樣本數(shù)的比例。mAP 體現(xiàn)了目標(biāo)檢測(cè)網(wǎng)絡(luò)的綜合性能,其中mAP又分為mAP0.5、mAP0.5:0.95、mAPsmall、mAPmedian、mAPlarge。
3.2.1 算法改進(jìn)有效性驗(yàn)證
本文提出的算法是在YOLOv7基礎(chǔ)上改進(jìn)所得,為體現(xiàn)改進(jìn)方法的優(yōu)勢(shì),排除數(shù)據(jù)增強(qiáng)對(duì)實(shí)驗(yàn)結(jié)果的影響,在未使用樣本生成算法的SPD數(shù)據(jù)集上對(duì)各改進(jìn)策略進(jìn)行有效性驗(yàn)證,消融實(shí)驗(yàn)結(jié)果如表1所示。
表1 消融實(shí)驗(yàn)結(jié)果對(duì)比Table 1 Comparison of ablation experiment results
實(shí)驗(yàn)結(jié)果表明,本文在YOLOv7 算法基礎(chǔ)上提出的各種改進(jìn)方法,對(duì)模型的檢測(cè)性能均起到一定的提升作用,而且本文提出的檢測(cè)算法在檢測(cè)性能上表現(xiàn)更為優(yōu)異。
3.2.2 樣本生成算法有效性驗(yàn)證
針對(duì)鋼板表面缺陷數(shù)據(jù)集中存在的小樣本問題,本文提出一種樣本生成算法,下面使用YOLOv7驗(yàn)證小樣本數(shù)據(jù)集擴(kuò)增前后對(duì)檢測(cè)結(jié)果的影響。
實(shí)驗(yàn)結(jié)果如表2 所示,未經(jīng)過擴(kuò)增的小樣本數(shù)據(jù)集,由于訓(xùn)練樣本過少,導(dǎo)致模型檢測(cè)性能較差,無法滿足檢測(cè)任務(wù)。而在經(jīng)過樣本擴(kuò)增之后,訓(xùn)練數(shù)據(jù)量得到擴(kuò)充,模型的檢測(cè)性能也隨之提升。另外,為驗(yàn)證2.1節(jié)中傷痕子圖羽化前后是否對(duì)檢測(cè)結(jié)果產(chǎn)生影響,本文通過實(shí)驗(yàn)進(jìn)行論證,實(shí)驗(yàn)結(jié)果表明,羽化操作有助于還原真實(shí)樣本特征,更加接近真實(shí)數(shù)據(jù),便于模型對(duì)真實(shí)特征的學(xué)習(xí),從而提升模型的檢測(cè)性能。
表2 樣本生成算法有效性實(shí)驗(yàn)結(jié)果Table 2 Experimental results on effectiveness of sample generation algorithm
3.3.1 驗(yàn)證樣本生成算法的有效性
從SPD 數(shù)據(jù)集中,取出產(chǎn)品缺陷為邊絲壓入的小樣本數(shù)據(jù),來驗(yàn)證本文提出的傷痕樣本生成算法是否有效。
由圖9可知:原YOLOv7在小樣本數(shù)據(jù)集上無法準(zhǔn)確檢測(cè)到目標(biāo),這是由于訓(xùn)練集樣本過少,正負(fù)樣本不均衡,導(dǎo)致缺陷檢測(cè)失效。而使用本文的樣本生成算法后,模型檢測(cè)精度得到提高,沒有漏檢和誤檢現(xiàn)象,說明本文算法可以改善小樣本數(shù)據(jù)中正負(fù)樣本不均衡的情況,在解決鋼板表面缺陷小樣本問題上是有效、可行的。
圖9 檢測(cè)效果對(duì)比圖Fig.9 Comparison of detection effects
3.3.2 公共數(shù)據(jù)集上的實(shí)驗(yàn)對(duì)比
為了評(píng)價(jià)本文基于YOLOv7改進(jìn)前后算法優(yōu)勢(shì),使用COCO數(shù)據(jù)集來驗(yàn)證本文提出改進(jìn)方法的有效性,實(shí)驗(yàn)結(jié)果如表3所示。
表3 COCO數(shù)據(jù)集實(shí)驗(yàn)結(jié)果Table 3 Experimental results of COCO dataset
由圖10可知,組圖從左至右,原YOLOv7依次出現(xiàn)了定位不準(zhǔn)確、小目標(biāo)漏檢、誤檢、檢測(cè)精度低的情況,而本文算法均未出現(xiàn)此類問題,檢測(cè)精度更高,檢測(cè)性能更優(yōu)。經(jīng)過實(shí)驗(yàn)證明,本文基于YOLOv7改進(jìn)的方法是有效、可行的。
圖10 COCO數(shù)據(jù)集檢測(cè)結(jié)果對(duì)比Fig.10 Comparison of COCO dataset detection results
3.3.3 鋼板表面缺陷數(shù)據(jù)集(SPD)上的實(shí)驗(yàn)對(duì)比
為了論證本文基于YOLOv7 改進(jìn)的算法在鋼板表面缺陷檢測(cè)任務(wù)上更加優(yōu)異,使用在鋼板生產(chǎn)過程中采集的鋼板表面缺陷樣本數(shù)據(jù)集,通過對(duì)比模型檢測(cè)結(jié)果,來驗(yàn)證本文提出的算法優(yōu)勢(shì)。
圖11 中,圖(a)為原YOLOv7 檢測(cè)結(jié)果,圖(b)為本文算法檢測(cè)結(jié)果。經(jīng)過對(duì)比可知YOLOv7存在誤檢、漏檢現(xiàn)象,無法滿足工業(yè)檢測(cè)的需求。而本文提出的算法不僅可以正確檢測(cè)出圖中所有缺陷目標(biāo),而且沒有發(fā)生誤檢、漏檢的現(xiàn)象,檢測(cè)精度更高,對(duì)于復(fù)雜的工業(yè)數(shù)據(jù)中的目標(biāo)有著較好的檢測(cè)效果,更能滿足鋼板表面缺陷檢測(cè)任務(wù)。本文算法在鋼板表面缺陷數(shù)據(jù)集上與其他算法的對(duì)比實(shí)驗(yàn)結(jié)果,如表4所示。
表4 鋼板表面缺陷數(shù)據(jù)集實(shí)驗(yàn)結(jié)果對(duì)比Table 4 Comparison of experimental results of steel plate surface defect dataset
圖11 SPD數(shù)據(jù)集檢測(cè)結(jié)果對(duì)比Fig.11 Comparison of SPD dataset detection results
本文提出一種改進(jìn)YOLOv7 網(wǎng)絡(luò)的鋼板表面缺陷檢測(cè)方法,對(duì)原網(wǎng)絡(luò)的ELAN 模塊進(jìn)行優(yōu)化改進(jìn),便于提取鋼板表面缺陷的重要特征信息。加入ACmix注意力模塊,將自注意力機(jī)制和傳統(tǒng)卷積注意力機(jī)制相融合,提高對(duì)鋼板表面小尺寸缺陷的關(guān)注度,同時(shí)對(duì)損失函數(shù)進(jìn)行優(yōu)化,使用WIoU 替換原損失函數(shù),增強(qiáng)網(wǎng)絡(luò)模型的定位能力,提高檢測(cè)的準(zhǔn)確性。當(dāng)訓(xùn)練輪次足夠,模型收斂時(shí),檢測(cè)精度可達(dá)到98.6%,高于工業(yè)檢測(cè)的需求。最后,針對(duì)鋼板表面缺陷數(shù)據(jù)中存在小樣本的問題,本文提出一種小樣本缺陷樣本生成算法,改善了鋼板表面缺陷檢測(cè)任務(wù)中小樣本數(shù)據(jù)集正負(fù)樣本不均衡的情況,極大地提高了小樣本數(shù)據(jù)集檢測(cè)的精度,為解決小樣本問題提供了一個(gè)有效的方案。下一步將在保證模型高檢測(cè)精度的前提下,降低模型參數(shù)的規(guī)模,降低計(jì)算量,提升模型的檢測(cè)速度,使之更適于實(shí)際應(yīng)用。