吳鳳和, 崔健新, 張 寧, 張志良, 張會(huì)龍, 郭保蘇
(1.燕山大學(xué)機(jī)械工程學(xué)院,河北秦皇島066004;2.中信戴卡股份有限公司, 河北秦皇島066004)
輪轂表面缺陷會(huì)影響產(chǎn)品的外觀和品牌形象,甚至導(dǎo)致嚴(yán)重的安全問(wèn)題。目前,大部分輪轂生產(chǎn)線都采用人工方式進(jìn)行輪轂缺陷檢測(cè),操作過(guò)程繁瑣,勞動(dòng)強(qiáng)度大,且效率低下、漏檢率較高,難以滿足輪轂缺陷檢測(cè)的精度和效率要求。機(jī)器視覺(jué)技術(shù)具有較高的檢測(cè)效率和精度,且對(duì)特殊工業(yè)環(huán)境的適應(yīng)性較強(qiáng),已在環(huán)境目標(biāo)檢測(cè)、表面缺陷檢測(cè)、織物紋理檢測(cè)等方面得到了廣泛應(yīng)用[1-3]。
根據(jù)大致原理可以將各種目標(biāo)檢測(cè)算法分成two-stage和one-stage兩類[4]。two-stage算法需要首先生成可能包含缺陷的候選框,再進(jìn)行目標(biāo)檢測(cè),Girshick R等[5]于2014年提出了RCNN算法,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,RCNN算法有了眾多改進(jìn),檢測(cè)精度及效率均有所提升,如文獻(xiàn)[6]提出的Fast RCNN、文獻(xiàn)[7]提出的Faster RCNN算法等。2017年,Cha Y J等[8]最早將Faster RCNN應(yīng)用于橋梁表面缺陷定位,其主干網(wǎng)絡(luò)被替換為ZF-net,在包含2 366張500×375像素大小圖像的5類橋梁建筑數(shù)據(jù)集中,檢測(cè)平均精度Pma值達(dá)到87.8%。雖然RCNN系列有多種算法,但由于訓(xùn)練中需要將多個(gè)候選框送入CNN提取特征,存在效率低、提取特征操作冗余等問(wèn)題,無(wú)法滿足大多數(shù)工業(yè)場(chǎng)景的檢測(cè)效率要求。
One-stage算法的代表有SSD和Yolo系列算法。文獻(xiàn)[9]最早提出的SSD算法相比于Faster RCNN,提供了一個(gè)徹底的端到端的神經(jīng)網(wǎng)絡(luò),通過(guò)添加輔助性的特征金字塔,并融入先驗(yàn)框機(jī)制,解決了輸入圖像目標(biāo)尺寸不同的問(wèn)題,同時(shí)提高了檢測(cè)精度。Chen J等[10]采用不同層級(jí)的特征圖來(lái)改進(jìn)SSD網(wǎng)絡(luò)實(shí)現(xiàn)了某種緊固件的缺陷檢測(cè)。但因SSD算法先驗(yàn)框的大小和形狀不能直接通過(guò)學(xué)習(xí)獲得,導(dǎo)致調(diào)試過(guò)程過(guò)于依賴經(jīng)驗(yàn),且針對(duì)小目標(biāo)的檢測(cè)效果不太理想。Yolo算法也是一種端到端的神經(jīng)網(wǎng)絡(luò),由Redmon J等[11]在2016年首次提出,在此基礎(chǔ)上結(jié)合新的主干網(wǎng)絡(luò)和損失函數(shù)又相繼提出了YOLOv2[12]和YOLOv3[13]算法。Yolo算法直接將目標(biāo)邊框定位問(wèn)題轉(zhuǎn)化為回歸問(wèn)題,并基于圖像的全局信息進(jìn)行預(yù)測(cè),但對(duì)近距離物體和較小物體的檢測(cè)效果不好,泛化能力相對(duì)較弱。譚芳等[14]采用深度學(xué)習(xí)YOLOv3算法檢測(cè)行人目標(biāo),實(shí)現(xiàn)多目標(biāo)行人跟蹤的算法,在復(fù)雜環(huán)境下均獲得了良好的連續(xù)跟蹤效果。
2020年Bochkovskiy A等[15]發(fā)布了YOLOv4。YOLOv4在原理上與前代的YOLOv3相似,但是在主干網(wǎng)絡(luò)、網(wǎng)絡(luò)頸部、以及解碼預(yù)測(cè)部分都結(jié)合了全新的模塊方法,在保證檢測(cè)效率的同時(shí),大大提高了檢測(cè)精度。Xin H等[16]使用YOLOv4算法對(duì)PCB板的缺陷進(jìn)行檢測(cè),在數(shù)據(jù)預(yù)處理階段根據(jù)缺陷的尺寸分布和標(biāo)注框的尺寸大小自動(dòng)細(xì)分圖像,并對(duì)算法的超參數(shù)進(jìn)行優(yōu)化,使得檢測(cè)精度有所提高。
雖然目標(biāo)檢測(cè)算法種類較多,但本文輪轂缺陷檢測(cè)針對(duì)的是工業(yè)生產(chǎn)線,對(duì)缺陷檢測(cè)的精度和效率都有較高要求,且輪轂缺陷的尺度范圍較大,從十幾cm,到幾mm,缺陷的分布位置也存在隨機(jī)性,故現(xiàn)有方法難以實(shí)現(xiàn)輪轂各類缺陷的高精度有效檢測(cè)。因此,本文基于輪轂缺陷數(shù)據(jù)集的特點(diǎn),以目前檢測(cè)效果最為均衡的YOLOv4算法為基礎(chǔ)模型,針對(duì)Yolo系列算法對(duì)小目標(biāo)檢測(cè)精度低、泛化能力弱的問(wèn)題,融入細(xì)化U型網(wǎng)絡(luò)模塊(thinned U-shaped network module, TUM),強(qiáng)化多尺度特征提取與融合能力,使所得每個(gè)規(guī)模的特征都包含多個(gè)層級(jí)的信息;同時(shí)引入注意力機(jī)制,使網(wǎng)絡(luò)對(duì)特征信息的處理更具針對(duì)性,從而提高網(wǎng)絡(luò)檢測(cè)精度,并增強(qiáng)網(wǎng)絡(luò)泛化能力,在保證效率的前提下,實(shí)現(xiàn)缺陷的精確檢測(cè)。
圖1 輪轂表面缺陷種類Fig.1 Types of wheel hub surface defects
本文針對(duì)輪轂生產(chǎn)線中出現(xiàn)頻率較高且對(duì)輪轂性能影響較為嚴(yán)重的6種缺陷(漏切、纖維、粘鋁、臟污、毛刺、氣孔)進(jìn)行數(shù)據(jù)采集,自制輪轂缺陷數(shù)據(jù)集。采集到的輪轂缺陷圖片數(shù)量依據(jù)實(shí)際工況中各種缺陷出現(xiàn)的比例,圖像大小為4 928l×3 264 pixel,缺陷類型見(jiàn)圖1。其中,粘鋁缺陷是輪轂窗口等邊角處存在粘附鋁屑現(xiàn)象;漏切體現(xiàn)在輪轂的某一個(gè)面上存在黑皮或者印痕,主要由毛坯變形,加工量不準(zhǔn)確等情況導(dǎo)致;纖維缺陷由于環(huán)境污染或者油漆質(zhì)量差等原因?qū)е螺嗇炚嬗欣w維或者毛發(fā)摻雜;毛刺清理未達(dá)標(biāo),導(dǎo)致毛刺過(guò)大形成毛刺缺陷;壓力不穩(wěn)、充型卷氣、排氣不暢等原因容易產(chǎn)生氣孔,氣孔缺陷多發(fā)生在輪轂的輪輞或輪芯處;噴涂環(huán)境或送風(fēng)設(shè)備清理不及時(shí)使得輪轂表面在噴涂過(guò)程粘有灰塵,從而形成臟污缺陷。
由于在試驗(yàn)階段采集到的缺陷圖像數(shù)據(jù)量有限,為了進(jìn)一步增加模型的學(xué)習(xí)范圍,采用數(shù)據(jù)增廣策略進(jìn)行數(shù)據(jù)集擴(kuò)充。數(shù)據(jù)增廣可以提供更具多樣性的訓(xùn)練數(shù)據(jù),提高CNN性能,降低過(guò)擬合概率。本文運(yùn)用的數(shù)據(jù)增廣手段包括圖像旋轉(zhuǎn)、圖像鏡像、圖像亮度對(duì)比度改變、圖像添加噪聲等。經(jīng)過(guò)一系列增廣最終得到2 346幅圖像。為了得到輪轂圖像數(shù)據(jù)標(biāo)簽(缺陷類型及坐標(biāo)),運(yùn)用LabelImg工具,采用手動(dòng)方式對(duì)圖像進(jìn)行標(biāo)注。最終,從2 346幅圖像中共標(biāo)記得到3 554個(gè)缺陷標(biāo)簽。
YOLOv4是2020年最新提出的目標(biāo)檢測(cè)算法,它是在YOLOv3的基礎(chǔ)上結(jié)合多種模塊進(jìn)行創(chuàng)新[15]。如圖2所示,YOLOv4主要分為4個(gè)部分,分別是①輸入端、②主干網(wǎng)絡(luò)(Backbone)、③網(wǎng)絡(luò)頸部(Neck)以及④輸出預(yù)測(cè)(Prediction)模塊。輸入端會(huì)將數(shù)據(jù)集統(tǒng)一處理成相同尺寸的圖片,繼而輸入Backbone。Backbone主要用于特征提取,該部分的網(wǎng)絡(luò)被作者命名為DSPdarknet53,它將多個(gè)卷積核大小為3×3、步長(zhǎng)為2的卷積結(jié)合殘差方式(Res unit)共同組成CSP結(jié)構(gòu),并將其作為基本組件構(gòu)成了整個(gè)主干網(wǎng)絡(luò),加入殘差結(jié)構(gòu)可以有效的抑制梯度消失的問(wèn)題,保證在加深網(wǎng)絡(luò)層數(shù)的同時(shí)不會(huì)導(dǎo)致網(wǎng)絡(luò)退化。Neck部分運(yùn)用了空間金字塔池化(spatial pyramid pooling, SPP)結(jié)構(gòu)和路徑聚合網(wǎng)絡(luò)(PANet)結(jié)構(gòu),SPP結(jié)構(gòu)是對(duì)Backbone輸出的特征層經(jīng)過(guò)3次卷積后的結(jié)果進(jìn)行最大池化,池化過(guò)程中共使用4種不同尺度的池化層進(jìn)行處理,池化核大小分別為 1×1、 5×5、 9×9、 13×13,經(jīng)過(guò)SPP處理后可有效增加感受野,分離出顯著的上下文特征。PANet結(jié)構(gòu)是由卷積操作、上采樣操作、特征層融合、下采樣操作構(gòu)成的循環(huán)金字塔結(jié)構(gòu)。輸出預(yù)測(cè)的Prediction即輸出端,對(duì)Neck部分處理后的3個(gè)特征層進(jìn)行結(jié)果預(yù)測(cè),網(wǎng)絡(luò)的輸出大小與輸入端圖片大小相關(guān),網(wǎng)絡(luò)的輸出維度與需要識(shí)別的目標(biāo)種類數(shù)量相關(guān)。最后依據(jù)CIOU損失函數(shù)(complete intersection over union loss)對(duì)每個(gè)特征層的3個(gè)先驗(yàn)框進(jìn)行判別,判斷其內(nèi)部是否包含目標(biāo)并識(shí)別目標(biāo)種類,同時(shí)進(jìn)行非極大抑制處理和預(yù)測(cè)框調(diào)整以實(shí)現(xiàn)缺陷的分類及定位。
圖2 YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 YOLOv4 network structure diagram
Yolo系列的目標(biāo)檢測(cè)算法需要在訓(xùn)練時(shí)預(yù)先設(shè)定先驗(yàn)框。原始YOLOv4算法提供的先驗(yàn)框是由COCO數(shù)據(jù)集聚類得到的,而COCO數(shù)據(jù)集圖片與輪轂表面缺陷數(shù)據(jù)集圖片中的目標(biāo)大小和目標(biāo)類型存在較大差異,因此采用K-means聚類算法重新生成先驗(yàn)框。在YOLOv4算法中,檢測(cè)分為3個(gè)特征層,每個(gè)特征層中含有3個(gè)大小不同的先驗(yàn)框。先驗(yàn)框通過(guò)算法對(duì)數(shù)據(jù)集中標(biāo)注好的檢測(cè)目標(biāo)聚類得到。在聚類過(guò)程中,首先隨機(jī)化初始位置并選定9個(gè)聚類中心,計(jì)算檢測(cè)目標(biāo)中每個(gè)標(biāo)注框與聚類中心點(diǎn)的交并比,并將標(biāo)注框分配給交并比最大的聚類中心,分配結(jié)束后重新計(jì)算聚類中心,直到聚類中心不再發(fā)生改變,并獲得最終聚類效果最好的9個(gè)先驗(yàn)框的寬、高。具體的目標(biāo)函數(shù)D計(jì)算公式如下:
(1)
式中:Sboxi為檢測(cè)目標(biāo)中第i個(gè)標(biāo)注框的區(qū)域面積;Scenj為第j個(gè)聚類中心的區(qū)域面積;Sboxi∩Scenj為標(biāo)注框與聚類中心區(qū)域交集的面積;Sboxi∪Scenj為標(biāo)注框與聚類中心區(qū)域并集的面積;n為檢測(cè)目標(biāo)數(shù)量;k為聚類中心個(gè)數(shù)。
輪轂表面缺陷尺度差異較大,如漏切缺陷通常占據(jù)輪轂表面的較大面積,而纖維缺陷往往只是一小片區(qū)域。one-stage算法受限于端到端的組合方式,雖然檢測(cè)效率大幅提升,但對(duì)于小缺陷的檢測(cè)效果往往較差。一般來(lái)說(shuō),尺度越大的特征層包含的信息越多,特征層經(jīng)由下采樣之后由于其尺度變小,缺陷信息會(huì)大大減少,幾乎只會(huì)包含大缺陷的信息。針對(duì)該問(wèn)題,對(duì)YOLOv4算法進(jìn)行了改進(jìn),由于主干網(wǎng)絡(luò)的作用主要在于對(duì)特征的提取,而Neck部分的作用在于強(qiáng)化提取與特征融合。為了進(jìn)一步挖掘由網(wǎng)絡(luò)前端提取到的特征,更大程度地融合更多不同尺度的特征,使得小缺陷的特征得以保留,本文剔除原YOLOv4 Backbone中38×38 pixel的特征輸出,將Backbone中76×76 pixel的特征層經(jīng)過(guò)CBL直接與SPP模塊上采樣的結(jié)果進(jìn)行級(jí)聯(lián)(Concat)操作;Neck部分只保留SPP模塊,在原本的SPP模塊后面添加多個(gè)細(xì)化U型網(wǎng)絡(luò)(TUM)與注意力機(jī)制;經(jīng)由改進(jìn)Neck部分的輸出特征層直接與Prediction部分連接,如圖3所示。
3.3.1 TUM模塊
本文設(shè)計(jì)的TUM模塊位于SPP模塊之后,分為下采樣和融合上采樣兩部分。在下采樣部分,進(jìn)行1×1卷積和多個(gè)步長(zhǎng)為2的3×3卷積;融合上采樣部分對(duì)下采樣的輸出層進(jìn)行上采樣和特征元素融合操作,然后在最終輸出層前添加1×1卷積層,以增強(qiáng)學(xué)習(xí)能力,保持特征的平滑。每個(gè)TUM中的輸出特征層共有3種尺寸(76×76 pixel,38×38 pixel,19×19 pixel),從整體上看,分別代表淺層、中層以及深層的特征。這種多尺度的特征輸出,有利于后續(xù)完成最大程度的特征提取與融合。其結(jié)構(gòu)如圖4所示。
3.3.2 注意力機(jī)制模塊
在嵌入TUM模塊后,需要將多個(gè)TUM中相同尺寸的輸出特征層分別進(jìn)行Concat操作,但直接的特征堆疊可能導(dǎo)致信息冗余,因此本文引入SE-block方式的注意力機(jī)制(圖5),注意力機(jī)制可以自適應(yīng)優(yōu)化特征權(quán)重,增強(qiáng)有效特征,抑制無(wú)效特征,得到表征能力更強(qiáng)的特征,使得特征處理過(guò)程中小目標(biāo)信息丟失的問(wèn)題得以改善。
具體過(guò)程如下:①對(duì)TUM模塊Concat得到的特征層進(jìn)行特征壓縮,將每個(gè)特征通道變成一個(gè)實(shí)數(shù),這個(gè)實(shí)數(shù)在某種程度上具有全局感受野,并且輸出的維度和輸入的特征通道數(shù)相匹配;②壓縮結(jié)果經(jīng)由卷積網(wǎng)絡(luò)與激活函數(shù)激活,對(duì)每個(gè)特征通道生成一個(gè)權(quán)重,輸出權(quán)重描述每個(gè)特征通道的重要性;③將權(quán)重加權(quán)到由TUM模塊堆疊的特征上,完成在通道維度上的對(duì)原始特征的重標(biāo)定。經(jīng)由以上處理得到的3個(gè)特征層便可直接輸入Prediction模塊。
圖4 TUM模塊結(jié)構(gòu)圖Fig.4 TUM mod ule structure diagram
圖5 注意力機(jī)制模塊Fig.5 Attention mechanism module
為驗(yàn)證算法的有效性,對(duì)提出的改進(jìn)算法進(jìn)行消融實(shí)驗(yàn)并與其他常用算法進(jìn)行對(duì)比。所有算法均基于Python語(yǔ)言開(kāi)發(fā),使用模塊包括numpy、OpenCV、tensorflow等,運(yùn)行在Windows10平臺(tái)下。實(shí)驗(yàn)所用的硬件配置為Intel Core i7 11700K CPU,16G RAM以及NVIDIA GeForce RTX3070 GPU。
在缺陷檢測(cè)中,通常將預(yù)選框與目標(biāo)真實(shí)框的交并比大于0.5設(shè)定為成功預(yù)測(cè)到目標(biāo)位置,通過(guò)準(zhǔn)確率(P)和召回率(R)計(jì)算平均精確度(Pa)和加權(quán)調(diào)和平均值(Fβ),并以Pa的均值Pma作為算法精度的綜合評(píng)價(jià)指標(biāo)。P代表預(yù)測(cè)為正的樣本中有多少是真正的正樣本,與誤檢率相關(guān);而R代表數(shù)據(jù)集的正樣本中有多少被正確檢測(cè),與漏檢率相關(guān)。Fβ是基于P和R的加權(quán)調(diào)和平均,將誤檢與漏檢加權(quán)計(jì)算,反映了算法的綜合性能,其值越大表示算法性能越佳。Pa用于評(píng)估模型在單個(gè)檢測(cè)類別上的精度表現(xiàn),由P-R曲線圍成的面積進(jìn)行表示,而Pma代表的是整體精度,Pma越大表明整體檢測(cè)精度越高。
上述各指標(biāo)的計(jì)算公式如下:
(2)
(3)
(4)
(5)
(6)
式中:PT表示檢測(cè)正確的目標(biāo)數(shù)量;PF表示檢測(cè)錯(cuò)誤的目標(biāo)數(shù)量;NF表示漏檢的目標(biāo)數(shù)量;β為常數(shù),∑Pa表示所有缺陷類別的Pa值總和;Nc表示缺陷總類別數(shù)。
此外,檢測(cè)效率也是判定算法性能的重要指標(biāo)之一,本文采用單張圖片平均檢測(cè)時(shí)間T作為檢測(cè)效率的評(píng)價(jià)指標(biāo)。T越小,表示檢測(cè)效率越高,更容易達(dá)到實(shí)時(shí)檢測(cè)。其計(jì)算公式為
(7)
式中:Ttotal為檢測(cè)的總時(shí)間;Fn為檢測(cè)的圖片數(shù)量。
本文在訓(xùn)練時(shí)把數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集,其中隨機(jī)選取20%的各種缺陷數(shù)據(jù)圖作為測(cè)試集,其余圖像作為訓(xùn)練集。訓(xùn)練、測(cè)試集的比例以及數(shù)量如表1所示。
表1訓(xùn)練集與測(cè)試集圖片數(shù)量對(duì)比Tab.1 The proportion of training and validation sets.
4.2.1 TUM模塊數(shù)量對(duì)比實(shí)驗(yàn)
網(wǎng)絡(luò)訓(xùn)練的學(xué)習(xí)率依據(jù)余弦退火的形式進(jìn)行下降,余弦函數(shù)中隨著自變量的增加余弦值首先緩慢下降,然后加速下降,再次緩慢下降。這種下降模式能與學(xué)習(xí)率匹配,提升訓(xùn)練效果。網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)上采用不同的TUM模塊數(shù)量,為了保證訓(xùn)練效率以及訓(xùn)練結(jié)果的可信度,選用TUM數(shù)量分別為3、4、5、6、7、8、9這7種進(jìn)行多次實(shí)驗(yàn),每次實(shí)驗(yàn)設(shè)定的迭代次數(shù)為100,置信度設(shè)置為0.5。采用3.3節(jié)中描述的改進(jìn)YOLOv4算法對(duì)自制數(shù)據(jù)集進(jìn)行訓(xùn)練,并通過(guò)測(cè)試集對(duì)其檢測(cè)精度進(jìn)行評(píng)估。每個(gè)案例的訓(xùn)練時(shí)間大約為5 h,每幅圖像的測(cè)試時(shí)間大約為0.04 s。通過(guò)Pma值來(lái)衡量不同TUM數(shù)量下的模型性能,如圖6所示。
圖6 不同TUM數(shù)量的精度對(duì)比Fig.6 Accuracy comparison based on the number of TUM
從圖6可以看出,對(duì)于數(shù)據(jù)集中6種缺陷的檢測(cè)精度可以大致分為3個(gè)層次。漏切、臟污、毛刺3種缺陷由于其缺陷面積較大,特征明顯,檢測(cè)精度普遍較高;氣孔、纖維缺陷是小缺陷,包含的特征信息較少,故檢測(cè)精度較低;而粘鋁缺陷雖然同樣屬于小缺陷,但由于其多發(fā)生在輪轂邊角處,缺陷位置較為固定,缺陷特征更易提取,所以檢測(cè)精度相對(duì)其他小缺陷有所提升。不同TUM數(shù)量下的檢測(cè)精度有較大波動(dòng),一般來(lái)說(shuō),隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的加深,其提取的特征信息會(huì)愈加復(fù)雜抽象,會(huì)從簡(jiǎn)單的形狀向更“高級(jí)”的信息變化,這也是加深神經(jīng)網(wǎng)絡(luò)層數(shù)的意義所在。但由于數(shù)據(jù)集規(guī)模的限制,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的信息有限,且神經(jīng)網(wǎng)絡(luò)每一次輸入到輸出的迭代過(guò)程可能會(huì)造成一些不可逆的信息丟失,在網(wǎng)絡(luò)加深后可能導(dǎo)致過(guò)擬合問(wèn)題。因此,本文以實(shí)驗(yàn)效果最佳作為確定TUM數(shù)量的依據(jù)。通過(guò)分析實(shí)驗(yàn)結(jié)果可知,TUM模塊數(shù)量為8時(shí)檢測(cè)精度最高,模型的檢測(cè)平均精度可達(dá)85.8%,因此將TUM模塊數(shù)量設(shè)置為8。
4.2.2 消融實(shí)驗(yàn)
為了驗(yàn)證本文對(duì)原算法改進(jìn)的有效性,針對(duì)K-means聚類、TUM模塊及注意力機(jī)制模塊設(shè)置消融實(shí)驗(yàn),實(shí)驗(yàn)將原算法與采用不同配置的改進(jìn)后算法進(jìn)行對(duì)比,對(duì)比結(jié)果見(jiàn)表2。
表2改進(jìn)YOLOv4算法的消融實(shí)驗(yàn)Tab.2 Ablation experiment for improved YOLOv4 algorithm
如表2所示,運(yùn)用K-means聚類得到的先驗(yàn)框進(jìn)行訓(xùn)練后,相比原始YOLOv4算法平均精度(82.5%)有所提升,表明針對(duì)數(shù)據(jù)集特點(diǎn)重新標(biāo)定先驗(yàn)框具有一定價(jià)值;在此基礎(chǔ)上嵌入TUM模塊,網(wǎng)絡(luò)平均檢測(cè)精度由83.33%提升到84.7%,這些提升主要反應(yīng)在小尺度缺陷上;分析了TUM模塊直接堆疊特征層可能存在問(wèn)題而引入擠壓激勵(lì)模塊(squeeze and excitation block, SE block)機(jī)制后,算法的檢測(cè)精度進(jìn)一步提升,達(dá)到了85.8%,從而證明了本文改進(jìn)有效性。
4.2.3 算法對(duì)比實(shí)驗(yàn)
為了評(píng)估本文改進(jìn)算法的性能,在相同的數(shù)據(jù)集下,訓(xùn)練并對(duì)比本文改進(jìn)算法與SSD、Faster RCNN、YOLOv3以及原始YOLOv4算法的評(píng)價(jià)指標(biāo)。由于車輪輪轂表面缺陷對(duì)于整車外觀甚至安全性有較大影響,在進(jìn)行缺陷檢測(cè)時(shí)更希望盡可能避免漏檢,因此,除了平均檢測(cè)精度和檢測(cè)效率外,Fβ也是值得參考的重要指標(biāo)(Fβ中β值的設(shè)定不宜過(guò)低,本文設(shè)定該值為1.2,以強(qiáng)調(diào)召回率的重要程度)。上述各種網(wǎng)絡(luò)在目標(biāo)檢測(cè)領(lǐng)域應(yīng)用廣泛,認(rèn)可度較高。最終對(duì)比結(jié)果如表3~表5所示。
表3不同算法P,R,Fβ對(duì)比Tab.3 Comparison of different algorithms P,R,Fβ (%)
表4不同算法精度對(duì)比Tab.4 Comparison of accuracy of different algorithms (%)
表5不同算法檢測(cè)效率對(duì)比Tab.5 Comparison of detection speed of different algorithms ms
表3中記錄了不同算法對(duì)應(yīng)不同缺陷種類的P、R、Fβ值。如表3所示,對(duì)于Fβ值,無(wú)論針對(duì)哪種缺陷本文算法都是最高的,表明本文算法可以最大程度上避免誤檢、漏檢的發(fā)生。
從表4、表5所反映的信息可以看出,Faster RCNN算法精度為75%,但其檢測(cè)效率較低,單幅圖像的檢測(cè)時(shí)間需要127 ms;而SSD算法正好相反,雖然其檢測(cè)效率占優(yōu),但是精度較低,僅僅達(dá)到55%,尤其是針對(duì)粘鋁、纖維等小缺陷的檢測(cè)效果很不理想;YOLOv3算法相較前兩種較為均衡,但精度上與YOLOv4還有一定差距。
對(duì)于缺陷檢測(cè),精度是相對(duì)重要的評(píng)價(jià)指標(biāo),本文算法在檢測(cè)效率上與原算法差距不大,但檢測(cè)精度提升了3.3%,多種缺陷在改進(jìn)算法下的檢測(cè)精度均有提升,尤其小缺陷檢測(cè)精度的提升幅度更為明顯,如粘鋁缺陷的檢測(cè)精度由原來(lái)的78%提升到了85%,證明了本文算法的優(yōu)越性。
上述對(duì)比數(shù)據(jù)表明,本文提出的改進(jìn)算法在輪轂表面多類缺陷檢測(cè)上,具有最優(yōu)的檢測(cè)精度和較高的檢測(cè)效率。實(shí)際檢測(cè)效果示例如圖7所示。
圖7 算法檢測(cè)結(jié)果Fig.7 Algorithm detection result
本文提出一種基于改進(jìn)YOLOv4算法的輪轂表面缺陷檢測(cè)方法。針對(duì)YOLOv4算法對(duì)小尺寸缺陷檢測(cè)精度不足問(wèn)題,通過(guò)融入TUM模塊和注意力機(jī)制,提高算法的多尺度特征提取及融合能力,并依據(jù)缺陷種類,自適應(yīng)分配缺陷特征權(quán)重,使得模型對(duì)小尺寸缺陷的表達(dá)能力得到提升;使用自主采集并制作的輪轂表面缺陷數(shù)據(jù)集進(jìn)行模型性能驗(yàn)證,結(jié)果表明:改進(jìn)YOLOv4算法的平均檢測(cè)精度和單幅圖像檢測(cè)時(shí)間分別為85.8%和38 ms,在保證檢測(cè)效率的前提下,有效提高了模型對(duì)小尺寸缺陷的檢測(cè)效果。