摘"要:鋼材表面缺陷對于鋼材行業(yè)來說是一個巨大的挑戰(zhàn)。針對傳統(tǒng)的鋼材缺陷檢測方法存在著效率低、檢測精度不高等問題,基于YOLOv7設(shè)計了一種AFSDYOLOv7模型進行實時的鋼材表面缺陷檢測。首先,在YOLOv7模型中使用一種輕量化卷積結(jié)構(gòu)替換標準卷積結(jié)構(gòu),,以加速模型的推理過程;然后采用快速空間金字塔池化結(jié)構(gòu)替換原始空間金字塔池化結(jié)構(gòu),以加速網(wǎng)絡(luò)的特征提取過程;最后添加改進的ECANet注意力機制,以提升模型檢測精度。實驗結(jié)果表明,AFSDYOLOv7能夠?qū)︿摬娜毕葸M行有效識別,相比YOLOv7模型,計算量減少了54.8%,mAP提高了3.2%,對于鋼材表面缺陷檢測具有實際應(yīng)用價值。
關(guān)鍵詞:鋼材;"缺陷檢測;"YOLOv7;"神經(jīng)網(wǎng)絡(luò);"深度學習;"注意力機制;"標準卷積
中圖分類號:TP39""""""文獻標識碼:A
Steel"Surface"Defect"Detection"Based"on"Improved"YOLOv7
FU"Shuai,"LING"Ming,"CHU"Donggang
(School"of"Electronic"and"Electrical"Engineering,"Shanghai"University"
of"Engineering"Science,"Shanghai"201620,"China)
Abstract:Surface"defects"on"steel"are"a"significant"challenge"for"the"steel"industry."Traditional"steel"defect"detection"methods"suffer"from"low"efficiency"and"accuracy."To"address"these"issues,"an"AFSDYOLOv7"model"has"been"designed"for"realtime"steel"surface"defect"detection."First,"a"lightweight"convolutional"structure"was"used"to"replace"the"standard"convolutional"structure"in"the"YOLOv7"model,"speeding"up"the"inference"process."Next,"a"fast"spatial"pyramid"pooling"structure"was"used"to"replace"the"original"spatial"pyramid"pooling"structure"to"accelerate"the"network’s"feature"extraction"process."Finally,"an"improved"ECANet"attention"mechanism"was"added"to"enhance"the"model′s"detection"accuracy."Experimental"results"show"that"AFSDYOLOv7"can"effectively"identify"steel"defects."Compared"to"the"YOLOv7"model,"AFSDYOLOv7"reduces"computation"by"54.8%"and"improves"mAP"by"3.2%,"indicating"significant"practical"value"for"steel"surface"defect"detection.
Key"words:steel;"defect"detection;"YOLOv7;"neural"networks;"deep"learning;"attention"mechanism;"standard"convolution
隨著工業(yè)自動化和數(shù)字化技術(shù)的不斷發(fā)展,鋼材表面缺陷檢測已經(jīng)成為生產(chǎn)過程中不可或缺的一部分。傳統(tǒng)的缺陷檢測方法存在著檢測效率低、檢測精度不高、易受主觀因素影響等問題,無法滿足現(xiàn)代工業(yè)對高效、精準、自動化生產(chǎn)的要求。因而,鋼材表面缺陷作為鋼材生產(chǎn)過程中的一個重要質(zhì)量問題,對鋼材的加工和使用都具有巨大的影響[1]。據(jù)悉,鋼材表面缺陷種類繁多,包括裂痕、夾雜、斑點、點蝕、銹蝕以及劃痕等多種類型。這些缺陷在加工過程中容易導(dǎo)致鋼材表面損壞,使其質(zhì)量降低,從而嚴重影響鋼材的使用效果和壽命。因此,開展鋼材表面缺陷的自動化檢測研究尤為必要[2]。
近年來,鋼材表面缺陷的檢測越來越受到關(guān)注。基于傳統(tǒng)機器視覺的缺陷檢測方法也被廣泛應(yīng)用,包括閾值法[3]、邊緣檢測法[4]、紋理分析法[5]、卷積神經(jīng)網(wǎng)絡(luò)[6]等。盡管這些方法都能檢測出鋼材表面的某些缺陷,但并不能覆蓋生產(chǎn)過程中可能出現(xiàn)的所有缺陷類型,難以實現(xiàn)精確檢測,并且檢測實時性較差。
針對上述問題,本文基于YOLOv7提出了一種AFSDYOLOv7模型的鋼材表面缺陷檢測方法。使用改進的卷積結(jié)構(gòu)替換標準卷積結(jié)構(gòu),以加速模型的推理;采用快速空間金字塔池化結(jié)構(gòu),加速主干網(wǎng)絡(luò)的特征提取過程;最后添加改進的ECANet注意力機制,以提升模型的檢測效果。
1"鋼材表面缺陷檢測算法
1.1"AFSDYOLOv7網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv7是一種快速的單階段目標檢測模型,它在速度和精度方面優(yōu)于大部分已知的目標檢測網(wǎng)絡(luò)[7]。本文對YOLOv7算法進行改進,提出AFSDYOLOv7(accurate"and"fast"inspection"of"steel"surface"defectsYOLOv7)鋼材表面缺陷檢測算法,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
1.2"GhostConvShuffle卷積結(jié)構(gòu)
傳統(tǒng)的特征提取方法存在著大量參數(shù)的問題,這是因為它通過多層卷積對輸入特征映射的所有通道進行卷積映射,這會消耗大量計算資源。盡管這些方法能夠生成豐富的特征圖,但同時也會不可避免地造成資源浪費。本文設(shè)計了GhostConvShuffle(GS)模塊替代網(wǎng)絡(luò)中的標準卷積,它是一種輕量化卷積結(jié)構(gòu),能在輸出大小與標準卷積一樣的情況下,降低通用卷積層的計算成本,并保持與標準卷積相似的功能[8]。它的結(jié)構(gòu)如圖2所示。
GhostConv的表達式如式(1)所示。
Y′=X×W′"(1)
其中,輸入特征的格式為X∈Rh×w×l,W′表示GhostConv的卷積核,它的格式為Rc×k×k×m,m表示GhostConv卷積核的通道數(shù),mn,n為最后所需輸出的通道數(shù),為了方便介紹,此處省略偏置項。Y′表示輸出特征,它的結(jié)構(gòu)為Y∈Rh′×w′×m,其中h′和w′分別為輸出特征圖的高度和寬度。此外,其他超參數(shù),比如填充、步幅和卷積核大小都與標準卷積一樣,以確保輸出特征的大小與標準卷積一致。為了進一步獲得所需的特征,對Y′進行一系列的線性運算,如式(2)所示。
Yij=φi,jY′i,i=1,…,m,j=1,…,s"(2)
其中,Y′i"表示Y′中的第i個特征圖,φi,j表示對第j個(最后一個除外)特征圖"Y′i進行線性運算的函數(shù),最后一個"φi,j"函數(shù),對是對特征圖保留固有特征的映射,于是可以得到n=m×s個特征圖。Shuffle操作的重要作用是增強模型的表達能力。通過對輸入特征圖進行Shuffle操作,不同組的通道可以相互交流,從而促進特征的信息交換和整合。這種交換和整合的過程有助于提高模型的表達能力,并使得模型更加適合處理復(fù)雜的輸入數(shù)據(jù)。為比較GhostConvShuffle與標準卷積(standard"convolution,SC)的計算復(fù)雜度,采用FLOPs作為衡量標準,標準卷積的模型復(fù)雜度如式(3)所示。
FLOPsSC=n·h′·w′·c·k·k"(3)
而GhostConvShuffle卷積模塊的FLOPs如式(4)所示。
FLOPsGS=ns·h′·w′·c·k·k+(s-1)·ns·h′·w′·d·d(4)
于是,壓縮比可以表示為式(5)
rs=FLOPsSCFLOPsGs=
n·h′·w′·c·k·kns·h′·w′·c·k·k+s-1·ns·h′·w′·d·d=
c·k·k1s·c·k·k+s-1s·d·d≈s·cs+c-1≈s"(5)
假設(shè)線性卷積核大小d×d與標準卷積核大小k×k相似,而sc,則GhostConv模塊的計算量僅為標準卷積模塊的1s,從理論上證明了GhostConvShuffle的優(yōu)越性。
1.3"快速空間金字塔池化模塊
SPPCSPC空間金字塔池化層,能夠?qū)⑷我獯笮〉奶卦\圖轉(zhuǎn)換成固定大小的特征向量,它在不同尺度下對特征圖進行池化,以提取具有不同空間范圍的特征,提升網(wǎng)絡(luò)的感受野。本文使用一種效率更高的SPPCSPC結(jié)構(gòu),替換原始YOLOv7網(wǎng)絡(luò)中的SPPCSPC的結(jié)構(gòu)。在SPPFCSPC結(jié)構(gòu)中,使用基于相同大小的最大池化層的SPPF結(jié)構(gòu),SPPCSPC結(jié)構(gòu)和SPPFCSPC結(jié)構(gòu)分別如圖3所示。
SPPCSPC結(jié)構(gòu)中,使用了三個具有不同大小池化內(nèi)核的獨立池化層來計算空間金字塔池化結(jié)構(gòu),三次池化層的輸入相同,于是可以將SPPCSPC中的池化結(jié)構(gòu)表達如式(6)。
Y=Maxpool5(X)Maxpool9(X)
Maxpool13(X)"(6)
其中,Y表示池化后的輸出,代表張量縫合運算,X代表輸入特診圖。在SPPCSPC中,使用三個尺寸相同的池化核,并將上一層池化的輸出作為下一層池化的輸入,最后將三層池化的結(jié)果拼接在一起。這種優(yōu)化結(jié)構(gòu)在保持感受野不變的同時,加速了計算過程,并得到更具代表性和更準確的池化結(jié)果。它的池化結(jié)構(gòu)如式(7)所示。
Y1=Maxpool5X
Y2=Maxpool5Y1
Y3=Maxpool5Y2
Y=Y1Y2Y3X""(7)
其中,Y1、Y2和Y3分別表示第一層、第二層和第三層的池化輸出,X表示原始特征圖,Y表示張量連接后的池化結(jié)果。
1.4"HECANet注意力機制
在YOLOv7中,注意力機制被廣泛應(yīng)用于加強網(wǎng)絡(luò)的特征表達能力。然而,傳統(tǒng)的注意力機制往往會引入過多的網(wǎng)絡(luò)復(fù)雜度,導(dǎo)致網(wǎng)絡(luò)的運行速度變慢。ECANet(effiicient"channel"attention"net)作為一種輕量級的注意力機制,可以在不增加額外計算負擔的情況下顯著提高特征表達能力,從而提高目標檢測的準確性[9]。使用HSwish激活函數(shù)替換Sigmoid激活函數(shù),提出HECANet注意力機制,它的結(jié)構(gòu)如圖4所示。
首先原始特征圖在不降低維度的情況下,進行逐通道的全局平均池化,然后通過內(nèi)核大小為K的快速的一維卷積,值得注意的是,在ECANet中內(nèi)核K的大小決定了交互的覆蓋范圍,不同的通道數(shù)和不同的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)的卷積塊可能會有所不同。K與通道維數(shù)C有關(guān),通道尺寸越大,得到的全連接層越長,長期交互作用越強,而通道尺寸越小,短期交互越強,即存在通道維數(shù)C和卷積內(nèi)核K的某種關(guān)系映射,ECANet使用一種自適應(yīng)的卷積核大小,它的表達式如式(8)所示。
k=ΦC=log2Cγ+bγodd""(8)
其中,·odd表示取最近的奇數(shù)運算,ECANet中,γ和b分別設(shè)置為2和1。然后將卷積后的結(jié)果通過HSwish激活函數(shù)[10],它的表達式如式(9)所示。
fx=x·minmax0,x+3,6/6(9)
在此選擇HSwich作為激活函數(shù)主要有以下幾個原因。
(1)Sigmoid函數(shù)的計算涉及指數(shù)運算,因此計算速度較慢。而HSwish函數(shù)中的乘法和加法運算非常簡單,計算速度更快。
(2)Sigmoid函數(shù)在輸入接近0或1時,梯度會變得非常小,這種現(xiàn)象稱為梯度消失。而HSwish函數(shù)的梯度沒有這個問題,因此在深度神經(jīng)網(wǎng)絡(luò)中使用HSwish可以更容易地進行訓練。
(3)HSwish與Swish[11]相比,在保持相同計算成本的情況下,具有更好的性能表現(xiàn)。在許多圖像分類任務(wù)中,使用HSwish可以獲得更高的準確率。
將原始特征逐通道與經(jīng)過HSwish激活函數(shù)后權(quán)值相乘,得到輸出特征。通過添加HECANet注意力機制,可以提高深度卷積神經(jīng)網(wǎng)絡(luò)的特征提取性能。
2"實驗數(shù)據(jù)集與模型評估指標
2.1"實驗數(shù)據(jù)集
NEUDET"鋼材缺陷檢測數(shù)據(jù)集是美國東北大學的研究人員開發(fā)的一個用于鋼材缺陷檢測的數(shù)據(jù)集[12]。該數(shù)據(jù)集包含6個不同類型的鋼材表面缺陷,即裂痕、夾雜、斑點、點蝕、銹蝕和劃痕。數(shù)據(jù)集中的每個圖像都是由真實的鋼材表面圖像拍攝而來,并且都經(jīng)過了專業(yè)人員的手工標注,標注了每個缺陷的位置和類型。該數(shù)據(jù)集包含1800張灰度,圖片分辨率為200×200,每種缺陷包含300張圖片。為了滿足實驗要求,將數(shù)據(jù)集按照7∶2∶1的比例分別劃分為訓練集、驗證集和測試集。相關(guān)數(shù)據(jù)集的示例圖片如圖5所示。根據(jù)圖片,光照及制造過程的影響導(dǎo)致鋼材表面缺陷具有相似性和多樣性,因此在缺陷檢測中容易出現(xiàn)漏檢和誤檢的問題。
2.2"模型評估指標
為了評估模型的有效性,采用精度(P)、召回率(R)、平均精確度(mAP)作為模型性能的評價指標。其中,精確度表示被模型預(yù)測為正類的樣本中,真正為正類的樣本數(shù)占所有被預(yù)測為正類的樣本數(shù)的比例;召回率表示真正為正類的樣本中,被模型預(yù)測為正類的樣本數(shù)占所有真正為正類的樣本數(shù)的比例;AP表示對于單個目標的預(yù)測性能,考慮了檢測器在不同的召回率下的表現(xiàn);平均精確度表示所有類別中AP的平均值,根據(jù)交并比的不同可以分為mAP@0.5和mAP@0.5:0.95,它們的計算如式(10)所示。
P=TPTP+FP
R=TPTP+FN
AP=∫10PRdR
mAP=1N∑Ni=1APi"(10)
其中,TP表示模型正確預(yù)測為正例的樣本數(shù);FP表示模型錯誤地預(yù)測為正例的樣本數(shù);FN表示模型錯誤地預(yù)測為反例的樣本數(shù);AP為不同召回率下精度的積分;N為檢測到的所有類被數(shù)。
3"實驗結(jié)果與分析
3.1"實驗設(shè)置
在訓練過程中,采用Adam優(yōu)化算法,動量因子為0.937,同時將初始學習率設(shè)置為0.1,權(quán)重衰減系數(shù)為0.0005,輸入圖像尺寸為640×640,單詞訓練圖像數(shù)量為4,將IoU閾值設(shè)置為0.25,最大迭代輪次為300,訓練平臺配置如表1所示。
3.2"訓練過程與分析
在相同的實驗設(shè)置下,分別對AFSDYOLOv7和YOLOv7進行訓練,在訓練過程中記錄訓練數(shù)據(jù),使用Matlab對訓練數(shù)據(jù)進行解析。訓練集損失、驗證集損失、精度、召回率、mAP@.5如圖6所示。
隨著訓練輪次的迭代,模型的各項指標逐漸趨于平穩(wěn),在訓練集損失和驗證集損失上,AFSDYOLOv7相較于YOLOv7損失值較少;對于精度、召回率、mAP@.5指標,AFSDYOLOv7相較于YOLOv7顯著增加,證明了AFSDYOLOv7具有更好的精確性和優(yōu)越性。
3.3"網(wǎng)絡(luò)性能比較
為進一步評估AFSDYOLOv7模型的性能,在實驗設(shè)置和數(shù)據(jù)集劃分相同的條件下,選擇YOLOv7、YOLOv7d6、YOLOv7e6[13]、YOLOv5s[14]、YOLOv4[15]目標檢測算法進行對比實驗,實驗結(jié)果如表2、表3所示。
表2顯示,AFSDYOLOv7模型在不同類型的缺陷檢測方面均表現(xiàn)最佳,包括裂紋、夾雜、斑點、點蝕、銹蝕和劃痕。具體而言,AFSDYOLOv7算法在所有缺陷類型的檢測準確性方面都表現(xiàn)出最高的性能,例如裂痕的檢測準確率為48.6%,夾雜為87.3%,斑點為96.4%。
表3中的比較結(jié)果表明,所提出的AFSDYOLOv7算法在模型復(fù)雜度、檢測準確度和實時性能方面均表現(xiàn)最佳。該算法通過提高mAP"@".5達到更好的檢測準確度,減少模型大小達到更低的復(fù)雜性,提高FPS以實現(xiàn)更好的實時性能。其中,與原始YOLOv7相比,mAP@.5提高了3.2%,模型大小減少了54.8%。
3.4"模型檢測效果比較
本節(jié)旨在通過展示AFSDYOLOv7算法在實際圖片中的檢測效果來印證實驗結(jié)果。選擇了代表性的、包含不同種類缺陷的圖片,并將它們分別用AFSDYOLOv7和YOLOv7算法進行檢測。通過比較不同算法的檢測結(jié)果,進一步驗證了AFSDYOLOv7算法的性能優(yōu)勢,如圖7~圖9所示。
對比圖8和圖9可知,YOLOv7存在著部分漏檢、定位效果差以及精度不夠的問題:①如圖8(b)和圖9(b)所示,AFSDYOLOv7能夠精確定位夾雜,而YOLOv7存在漏檢在邊緣處的夾雜的問題。②如圖8(c)所示,YOLOv7未能識別出右下角的斑點。③如圖8(f)所示,YOLOv7的劃痕定位效果不佳。綜上所述,AFSDYOLOv7算法相比YOLOv7具有更高的精度、更準確的定位能力以及更好的檢測效果。
4"結(jié)"論
鋼材表面缺陷對鋼材外觀和性能帶來巨大影響,例如裂紋、氣泡、夾雜、疤痕等會降低鋼材的強度、韌性和塑性等力學性能,進而影響其使用壽命和安全性。本文提出了AFSDYOLOv7鋼材表面缺陷檢測算法,該算法使用一種輕量級卷積結(jié)構(gòu)替換標準卷積結(jié)構(gòu),使用更高效的空間金字塔池化結(jié)構(gòu),最后添加改進的ECANet注意力機制,進一步提升模型的檢測精度。將AFSDYOLOv7與一些經(jīng)典的目標檢測算法對比,突出了本文缺陷檢測精度高、實時性強、定位精度好等優(yōu)點。本文提出的算法對于保障鋼材性能和品質(zhì)具有深刻的意義。
參考文獻
[1]"劉曉妍,田琳,邊振虎.合理應(yīng)用連鑄用耐火材料以提高鋼材質(zhì)量[J].耐火與石灰,2022(5):33-38+48.
[2]"王元清,"張元元,"石永久."鋼材缺陷及焊接對Z向性能的影響分析[J]."低溫建筑技術(shù),"2013(7):1-4.
[3]"李應(yīng)果,楊潔,董春雷.木材表面缺陷特征輪廓提取算法研究[J].西北林學院學報,2021(4):204-208+281.
[4]"石冬陽,張俊林,楊欣,等.一種基于Canny邊緣檢測算法的零件缺陷圖像處理方法[J].重慶科技學院學報(自然科學版),2022(3):52-56.
[5]"周瑞旭,高文勝,劉衛(wèi)東.基于圖像處理-紋理分析的HVDC"GIL缺陷識別方法[J].高電壓技術(shù),2022(12):4719-4730.
[6]"趙京鶴,修大元,王金龍,等.絕緣紙板典型缺陷局放特征的CNN識別[J].哈爾濱理工大學學報,2022(5):79-88.
[7]"WU"D","JIANG"S","ZHAO"E","et"al."Detection"of"camellia"oleifera"fruit"in"complex"scenes"by"using"YOLOv7"and"data"augmentation"[J]."Applied"Science,"2022,"12:"11318.
[8]"LIU"Y","LV"Z","HU"Y","et"al."Improved"cotton"seed"breakage"detection"based"on"YOLOv5s"[J]."Agriculture,"2022,"12:1630.
[9]"WANG"Q","WU"B","ZHU"P","et"al."ECANet:"efficient"channel"attention"for"deep"convolutional"neural"networks"[C].In"2020"IEEE/CVF"Conference"on"Computer"Vision"and"Pattern"Recognition"(CVPR),"2020.
[10]CHEN"L","SONG"Y","ZHANG"H."Extraction"of"impervious"surface"from"highresolution"remote"sensing"image"based"on"deep"learning[C]."In"2021"International"Conference"on"Wireless"Communications"and"Smart"Grid"(ICWCSG),"2021.
[11]EGER"S,"YOUSSEF""P,"GUREVYCH"I."Is"it"time"to"swish?"comparing"deep"learning"activation"functions"across"NLP"tasks[C]."In"Proceedings"of"the"2018"Conference"on"Empirical"Methods"in"Natural"Language"Processing,"2018.
[12]HE"Y","SONG"K,"MENG"Q,"et"al."An"endtoend"steel"surface"defect"detection"approach"via"fusing"multiple"hierarchical"features[J]."IEEE"Transactions"on"Instrumentation"and"Measurement,"2020,"69(4):1493-1504.
[13]WANG"C"Y","Bochkovskiy"A","LIAO"H"."YOLOv7:"Trainable"bagoffreebies"sets"new"stateoftheart"for"realtime"object"detectors[J]."arXiv"eprints,"2022.
[14]YING"Z"P","LIN"Z"T","WU"Z"Y","et"al."A"modified"YOLOv5s"model"for"detection"of"wire"braided"hose"defects[J]."Measurement,"2022(190):1-11.
[15]陳為,"鐘欣童,"張婧,等."基于YOLOv4的航空發(fā)動機葉片凸臺目標檢測[J]."計算機仿真,"2022,"39(7):5.