司宏翔 劉國(guó)巍



摘要:針對(duì)工業(yè)中鋼材出現(xiàn)多種小目標(biāo)缺陷且對(duì)其檢測(cè)精度低、誤檢率高等問(wèn)題,文章提出了對(duì)單階段目標(biāo)檢測(cè)算法網(wǎng)絡(luò)5s版本(YOLOv5s)的錨框(Anchor)進(jìn)行改進(jìn)優(yōu)化。由于鋼材表面存在許多小目標(biāo)缺陷,原始的YOLOv5s網(wǎng)絡(luò)設(shè)定的Anchor并不適合對(duì)其進(jìn)行檢測(cè),通過(guò)K-Means聚類算法和K-Means++聚類算法重新獲得匹配小目標(biāo)檢測(cè)任務(wù)的Anchor。通過(guò)實(shí)驗(yàn)將其應(yīng)用在鋼材的數(shù)據(jù)集上,與原始的YOLOv5s網(wǎng)絡(luò)進(jìn)行對(duì)比,結(jié)果表明改進(jìn)后的YOLOv5s網(wǎng)絡(luò)檢測(cè)小目標(biāo)缺陷時(shí)收斂性更好,檢測(cè)精度更高。
關(guān)鍵詞:鋼材表面缺陷;小目標(biāo)檢測(cè);YOLOv5s;K-Means聚類;K-Means++聚類
中圖分類號(hào):TP391? 文獻(xiàn)標(biāo)志碼:A
0 引言
在工廠企業(yè),由于生產(chǎn)工藝技術(shù)的限制以及運(yùn)輸過(guò)程中磨損等原因,導(dǎo)致鋼材表面存在軋制氧化皮、點(diǎn)蝕表面、劃痕等缺陷,這些缺陷會(huì)影響產(chǎn)品質(zhì)量,甚至?xí)档桶踩U舷禂?shù)。所以,研究如何提高鋼材表面缺陷檢測(cè)精度,降低誤檢率很有必要[1]。本文針對(duì)小目標(biāo)缺陷的YOLOv5s錨框改進(jìn)方法進(jìn)行了研究,提出了對(duì)Anchor進(jìn)行重新聚類。
1 YOLOv5s網(wǎng)絡(luò)模型
YOLOv5s網(wǎng)絡(luò)模型是YOLOv5的其中一種模型,與YOLOv5m,YOLOv5l和YOLOv5x模型相比不同的地方在于其網(wǎng)絡(luò)深度和寬度以及模型大小,其他網(wǎng)絡(luò)結(jié)構(gòu)類似。YOLOv5s是一種單階段目標(biāo)檢測(cè)網(wǎng)絡(luò)算法,在YOLOv4網(wǎng)絡(luò)模型的基礎(chǔ)上進(jìn)行了優(yōu)化,從而使得檢測(cè)精度以及效率都有一定的提高。網(wǎng)絡(luò)模型主要分為4個(gè)部分,分別為輸入層、Backbone、Neck網(wǎng)絡(luò)以及輸出層Head預(yù)測(cè)(Prediction)部分[2]。
2 Anchor的改進(jìn)
2.1 K-Means聚類算法
K-Means聚類算子屬于無(wú)監(jiān)督學(xué)習(xí)算子,是指一個(gè)最簡(jiǎn)單的迭代性聚類算子。其主要思路之一是把每個(gè)數(shù)據(jù)集樣本拆分成k個(gè)簇來(lái)進(jìn)行聚類,將每個(gè)樣本按近似程度分到距聚類中心最近的簇中去,其中近似程度通過(guò)歐式距離評(píng)判。在使用K-Means算法對(duì)數(shù)據(jù)集進(jìn)行聚類前,需要預(yù)先設(shè)定好k個(gè)聚類中心,重新計(jì)算出所有聚類分析法中心點(diǎn)的二維坐標(biāo)誤差的算術(shù)平均值,進(jìn)行更新和迭代調(diào)整聚類分析法的中心點(diǎn)坐標(biāo)的初始位置,直到所有聚類分析法的中心坐標(biāo)誤差平方和值(Sum of Squared Error,SSE)不變時(shí),將其作為新的聚類中心,最后輸出所有新的聚類中心坐標(biāo)[3]。樣本集的數(shù)據(jù)到中心點(diǎn)之間的歐氏距離是:
d(x,Ci)=mj=1(xj-Cij)2(1)
公式(1)中的x對(duì)應(yīng)樣本數(shù)據(jù)集中的每個(gè)數(shù)據(jù);Ci表示第i個(gè)數(shù)據(jù)簇的集合中心;m對(duì)應(yīng)于樣本數(shù)據(jù)的不同程度的擴(kuò)展;xj,Cij分別是x與Ci的第j次對(duì)應(yīng)的值。SSE為中心坐標(biāo)誤差平方和值其運(yùn)算公式:
SSE=ki=1x∈Ci|d(x,Ci)|2(2)
公式(2)中的k為類簇?cái)?shù)目。
2.2 K-Means++聚類算法
K-Means聚類算法的初始k個(gè)聚類中心是隨機(jī)選取的,這樣的選取方式可能會(huì)讓算法出現(xiàn)局部最優(yōu)的情況。針對(duì)這種情況,本文提出了K-Means++聚類算法,在選取初始聚類中心時(shí),遵循著初始中心點(diǎn)之間的距離盡可能遠(yuǎn)的原則,可以避免局部最優(yōu)情況出現(xiàn),從而盡可能達(dá)到全局最優(yōu)[4]。K-Means++聚類中心計(jì)算的過(guò)程如下。
Step1:在整個(gè)樣本的數(shù)據(jù)集合x中,隨機(jī)選擇一個(gè)樣本作為第一個(gè)聚類的中心,記作C1。
Step2:數(shù)據(jù)集x中除C1外每個(gè)樣本xm分別與第一個(gè)聚類中心C1進(jìn)行IOU的距離計(jì)算,樣本m與已存在聚類中心Cj距離則記錄為d(xm,Cj)。
Step3:用下列概率公式在集合x中推算出第二個(gè)聚類中心,記其為C2。
Pm=d2(xm,C1)njd2(xj,C1)(3)
Step4:再選取下一個(gè)聚類中心Cj,計(jì)算出每個(gè)樣本中心與已有的聚類分析出的中心之間的距離,找出適合每個(gè)樣本中心歸屬的初始中心。然后根據(jù)每個(gè)樣本m=1,2……n,p=1,2……j-1,從x中以概率選取下一個(gè)初始中心。
P=d2(xm,Cp)xh∈Cpd2(xh,Cp)(4)
公式(4)中的Cp是所有樣本到最近的初始中心的集合,選擇下一樣本點(diǎn)為初始中心的概率是正相比于歸屬于已有初始中心的距離。
Step5:重復(fù)步驟Step4,直到選出第k個(gè)數(shù)據(jù)簇的中心。
Step6:最終確定k個(gè)數(shù)據(jù)簇中心的步驟與K-Means聚類算子除去初始中心的選取過(guò)程外,其他步驟一樣[5]。
3 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)所用數(shù)據(jù)集是由東北大學(xué)發(fā)布的表面缺陷數(shù)據(jù)集(NEU-DET),一共包含6種缺陷。為了驗(yàn)證錨框的改變對(duì)YOLOv5s網(wǎng)絡(luò)訓(xùn)練結(jié)果的影響,分別采用K-Means聚類算法和K-Means++聚類算法對(duì)錨框進(jìn)行了重新設(shè)定。本文訓(xùn)練迭代次數(shù)設(shè)置為500次,訓(xùn)練過(guò)程中不同方法得到的損失函數(shù)曲線如圖1所示,可以看出用K-Means++聚類算法(最下方曲線)得到的損失值下降速度是3條曲線中最快的,得到的網(wǎng)絡(luò)模型收斂情況是最好的。K-Means++聚類方法最終在500個(gè)周期后損失值下降到了0.034左右,K-Means聚類方法損失值則下降到了0.035左右,原YOLOv5s損失值下降到了0.04左右。
K-Means++聚類方法的損失值下降速度比原始YOLOv5s要快,這體現(xiàn)出K-Means++聚類方法很好地提高了模型訓(xùn)練的收斂性。但是與K-Means聚類方法相比,二者損失值下降速度差不多,最終達(dá)到的損失值也很接近。如表1所示為不同錨框選擇方法最終結(jié)果得到的其他數(shù)據(jù)對(duì)比,可以看出雖然K-Means++聚類錨框策略的網(wǎng)絡(luò)模型訓(xùn)練過(guò)程中收斂性與K-Means聚類錨框策略差距不大,但是在mAP@.5方面K-Means++聚類表現(xiàn)出來(lái)的性能是最好的,最終也是將初始mAP@.5提升到了72.0%。
4 結(jié)語(yǔ)
本文針對(duì)小目標(biāo)缺陷的YOLOv5s錨框改進(jìn)方法研究,提出了K-Means++聚類錨框策略在K-Means聚類基礎(chǔ)上對(duì)其初始聚類中心的選擇進(jìn)行優(yōu)化,從而有效地解決了聚類分析過(guò)程中一直存在的局部最優(yōu)的瓶頸問(wèn)題,讓聚類分析法真正實(shí)現(xiàn)了全局最優(yōu)的聚類,大大提升了YOLOv5s網(wǎng)絡(luò)模型對(duì)小目標(biāo)缺陷檢測(cè)的性能。
參考文獻(xiàn)
[1]劉琪,雷景生.基于改進(jìn)深度網(wǎng)絡(luò)的鋼材表面缺陷檢測(cè)[J].計(jì)算機(jī)工程與設(shè)計(jì),2022(9):2654-2661.
[2]曹義親,伍銘林,徐露.基于改進(jìn)YOLOv5算法的鋼材表面缺陷檢測(cè)[J].圖學(xué)學(xué)報(bào),2022(10):1-11.
[3]王浩然,李廷會(huì),曹玉軍.基于YOLOv5的鋼材表面缺陷檢測(cè)研究[D].桂林:廣西師范大學(xué),2022.
[4]REN Q,ZHANG H B,ZHANG D L,et al. A novel hybrid method of lithology identification based on k-means++ algorithm and fuzzy decision tree[J]. Journal of Petroleum Science and Engineering,2022(10):1-13.
[5]曾文鑫.基于機(jī)器學(xué)習(xí)的車標(biāo)圖像識(shí)別研究[D].西安:西安石油大學(xué),2021.
(編輯 沈 強(qiáng))
Research on improvement method of YOLOv5s anchor frame for small target defects
Si? Hongxiang, Liu? Guowei
(School of Electrical and Information Engineering,Anhui University of Science and Technology, Huainan 232007, China)
Abstract: Aiming at many small target defects in steel industry, and the detection accuracy is low and the false detection rate is high, an optimization method based on the Anchor frame of network 5s version(YOLOv5s) is proposed. Due to the many small target defects on the steel surface, the Anchor set by the original YOLOv5s network is not suitable for detection, K-Means clustering algorithm and k-means ++ clustering algorithm are used to regain the Anchor matching the small object detection task. Through experiments, it is applied to the steel data set, compared with the original YOLOv5s network, the experimental results show that the improved YOLOv5s network has better convergence and higher detection accuracy when detecting small target defects.
Key words: steel surface defect; small object detection; YOLOv5s; K-Means clustering; K-Means++ clustering