張曉麗,馬怡琛,倉(cāng)玉萍,董少飛,郝 納,何思思
(1.西安文理學(xué)院 機(jī)械與材料工程學(xué)院 陜西省表面工程與再制造重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710065;2.西安文理學(xué)院 機(jī)械與材料工程學(xué)院 西安市智能增材制造重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710065;3.信陽(yáng)師范大學(xué) 物理電子工程學(xué)院,河南 信陽(yáng) 464000)
在機(jī)械零部件使用過(guò)程中,不可避免會(huì)產(chǎn)生諸如微小裂紋、凸起等缺陷,這些微小缺陷隨著產(chǎn)品的反復(fù)使用可能會(huì)持續(xù)增加,從而嚴(yán)重影響產(chǎn)品的功能和壽命,甚至導(dǎo)致整個(gè)系統(tǒng)發(fā)生故障。研究顯示,80%的機(jī)械零部件都是由于缺陷導(dǎo)致疲勞損壞造成的[1]。由于傳統(tǒng)的人工檢測(cè)方式受視覺疲勞、注意力分散等因素的影響,很難達(dá)到現(xiàn)代工業(yè)生產(chǎn)中高效性和實(shí)時(shí)性的要求,所以建立機(jī)械零部件表面缺陷智能檢測(cè)系統(tǒng)對(duì)零部件質(zhì)量控制具有極其重要的意義[2-3]。
針對(duì)不同工件缺陷檢測(cè)方法,國(guó)內(nèi)外學(xué)者進(jìn)行了廣泛研究。主要集中于基于傳統(tǒng)圖像處理方法的和基于機(jī)器學(xué)習(xí)的工件表面缺陷方法兩種。韓素華等人針對(duì)國(guó)標(biāo)51105型號(hào)軸承套圈進(jìn)行了表面缺陷檢測(cè)實(shí)驗(yàn),提出了基于機(jī)器視覺的表面缺陷檢測(cè)實(shí)驗(yàn)系統(tǒng)設(shè)計(jì),精度達(dá)95%[4]。YoungJin Cha等人基于Faster-R-CNN提出一種多類型損傷的自動(dòng)檢測(cè)方法,結(jié)合無(wú)人機(jī)實(shí)現(xiàn)混凝土、鋼材腐蝕等自主視覺檢測(cè),五類缺陷平均檢測(cè)精度(mean Average Percision,mAP)達(dá)到87.8%[5]。Yiting Li等人研究采用改進(jìn)SSD(Single Shot MultiBox Detection )算法對(duì)灌裝線集裝箱表面缺陷進(jìn)行檢測(cè),采用MobileNetv1替換SSD算法中的VGG16特征提取網(wǎng)絡(luò),簡(jiǎn)化了檢測(cè)模型,識(shí)別率約為95%[6]。綜上,采用深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)可以自動(dòng)提取工件表面缺陷的有效圖像信息,分類精度較高且速度較快。
電機(jī)被廣泛應(yīng)用在不同工業(yè)現(xiàn)場(chǎng)和行業(yè)中,而換向器是直流電動(dòng)機(jī)、直流發(fā)電機(jī)和交流整流子電動(dòng)機(jī)電樞上的一個(gè)重要部位,它在電動(dòng)機(jī)轉(zhuǎn)動(dòng)的過(guò)程中扮演了關(guān)鍵的角色,確保電動(dòng)機(jī)能夠持續(xù)穩(wěn)定地運(yùn)轉(zhuǎn),其可靠性對(duì)整個(gè)生產(chǎn)過(guò)程具有重要意義[7]。換向器在工作中存在磨損,當(dāng)換向器磨損嚴(yán)重或者換向器表面發(fā)生缺陷如裂紋時(shí),電機(jī)在運(yùn)轉(zhuǎn)時(shí)會(huì)產(chǎn)生火花,進(jìn)一步加劇電刷和換向器的損傷,降低電機(jī)效率,縮短電機(jī)的使用壽命。目前國(guó)內(nèi)對(duì)于換向器表面質(zhì)量是否存在缺陷檢測(cè)的研究較少。基于以上分析,本文以換向器為研究對(duì)象,提出一種基于深度學(xué)習(xí)的換向器表面缺陷檢測(cè)系統(tǒng)。該系統(tǒng)首先構(gòu)建換向器表面缺陷數(shù)據(jù)集,并對(duì)數(shù)據(jù)集進(jìn)行類別、位置的標(biāo)定,其次采用YOLOv5算法進(jìn)行模型的訓(xùn)練,并且對(duì)于已訓(xùn)練好的模型進(jìn)行檢測(cè),最后根據(jù)攝像頭攝取到的圖像,采用訓(xùn)練好的YOLOv5網(wǎng)絡(luò)模型對(duì)換向器表面缺陷進(jìn)行檢測(cè)和識(shí)別。
YOLOv5是YOLO系列中性能和通用性較強(qiáng)的一款模型,在檢測(cè)速度和精度上有著較強(qiáng)的優(yōu)勢(shì),能夠在保持較高檢測(cè)精度的同時(shí)滿足實(shí)時(shí)性要求,是繼YOLOv3之后被廣泛應(yīng)用于工業(yè)檢測(cè)的算法。相對(duì)于其他版本的YOLO算法,YOLOv5可以在不降低檢測(cè)精度的情況下,采用Focus框架將圖像切片,加快了訓(xùn)練速度。同時(shí),YOLOv5采用Pytorch框架,使得YOLOv5的大小對(duì)比YOLOv3、YOLOv4等版本降低了90%左右,從而使得YOLOv5的部署具有更多的靈活性,同時(shí)YOLOv5給出的四個(gè)不同大小的模型可以實(shí)現(xiàn)在不同精度要求下的檢測(cè)[8]。因此,YOLOv5訓(xùn)練速度快,模型精度高,內(nèi)存占用小,可以方便地運(yùn)用在更多復(fù)雜場(chǎng)景。YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)主要可以劃分為主干(backbone)、頸部(neck)、頭部(head)這3個(gè)組成部分。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)圖
YOLOv5的主干網(wǎng)絡(luò)(Backbone)包括Focus、CBS、C3和SPP模塊,目標(biāo)檢測(cè)模型中主干網(wǎng)絡(luò)的作用是實(shí)現(xiàn)對(duì)輸入圖像的特征提取。Focus模塊在輸入圖像進(jìn)入主干網(wǎng)絡(luò)之前,對(duì)圖像進(jìn)行切片(Slice),然后把切片后的結(jié)果拼接(Concat)起來(lái)。網(wǎng)絡(luò)結(jié)構(gòu)中的基本單元卷積(Conv)、批量化歸一化(BN)和激活函數(shù)SiLU組成CBS模塊,其結(jié)構(gòu)如圖2所示。

圖2 CBS模塊結(jié)構(gòu)
YOLOv5的損失函數(shù)包括三個(gè)部分,分別為分類損失、預(yù)測(cè)框置信度損失和預(yù)測(cè)框定位損失。其中分類損失和預(yù)測(cè)框置信度損失均為二分類交叉墑?chuàng)p失,YOLOv5網(wǎng)絡(luò)中采用GIOU_Loss作為邊界框回歸損失計(jì)算式[9]:
(1)
(2)
式中:C為兩個(gè)框中的最小外接矩形;B∪Bgt為預(yù)測(cè)框與真實(shí)框的并集。
模型性能主要包括兩個(gè)方面:一個(gè)是檢測(cè)精度,另一個(gè)是檢測(cè)速度。性能評(píng)估指標(biāo)有準(zhǔn)確率、精確率、召回率、平均精確度等。對(duì)于一個(gè)二分類算法來(lái)說(shuō),預(yù)測(cè)的結(jié)果只有兩類,分別用“正”和“負(fù)”來(lái)表示。采用YOLO模型對(duì)一組樣本進(jìn)行二分類預(yù)測(cè)時(shí),根據(jù)預(yù)測(cè)樣本類別和實(shí)際樣本類別,會(huì)出現(xiàn)4類情況:
(1)預(yù)測(cè)結(jié)果為正,實(shí)際樣本也為正。這種情況定義為真正例TP(True Positive)。
(2)預(yù)測(cè)結(jié)果為正,實(shí)際樣本卻為負(fù)。這種情況定義為假正例FP(False Positive)。
(3)預(yù)測(cè)結(jié)果為負(fù),實(shí)際樣本也為負(fù)。這種情況定義為真反例TN(True Negative)。
(4)預(yù)測(cè)結(jié)果為負(fù),實(shí)際樣本卻為正,這種情況定義為假反例FN(False Negative)。
這四種情況構(gòu)成一個(gè)混淆矩陣,如表1所示。表格內(nèi)容為每種類別對(duì)應(yīng)的樣本數(shù)量,借助混淆矩陣表,可以計(jì)算YOLO模型的各種性能指標(biāo)。

表1 混淆矩陣表
精確率(P)指真正例樣本數(shù)占預(yù)測(cè)結(jié)果為正(包括真正例和假正例)樣本數(shù)的比例,計(jì)算方法如公式(3)所示[10]:

(3)
召回率(R)指真正例樣本數(shù)占實(shí)際正樣本(包括真正例和假反例)總數(shù)的比例,計(jì)算方法如公式(4)所示[11]:

(4)
準(zhǔn)確率(Acc)指預(yù)測(cè)結(jié)果正確(包括真正例和真反例)的樣本數(shù)占總樣本數(shù)的比例,計(jì)算方法如公式(5)所示[12]:

(5)
一般情況下召回率和準(zhǔn)確率越接近1代表模型越好,但是這兩個(gè)指標(biāo)卻存在負(fù)相關(guān),因此需要在這兩者之間進(jìn)行取舍,或通過(guò)平均精確度(AP)即P-R曲線與坐標(biāo)軸的面積協(xié)助分析,當(dāng)有n個(gè)類別需要識(shí)別時(shí),將所有AP值求平均值可得mAP。計(jì)算公式如式(6)和式(7)所示[13]:
(6)
(7)
YOLOv5在輸入端采用了Mosaic數(shù)據(jù)增強(qiáng),具體實(shí)現(xiàn)如圖3所示。Mosaic數(shù)據(jù)增強(qiáng)是先隨機(jī)選擇4張圖像進(jìn)行翻轉(zhuǎn)、縮放等操作,再將處理后的4張圖片拼貼操作形成新的一張圖片,之后裁剪訓(xùn)練圖像中超出背景的部分,得到模型的訓(xùn)練數(shù)據(jù)。這樣做不僅增加了檢測(cè)數(shù)據(jù)集的內(nèi)容,而且通過(guò)隨機(jī)縮放增加了許多小目標(biāo),使得網(wǎng)絡(luò)的魯棒性更好,提高了單GPU訓(xùn)練時(shí)的表現(xiàn)。

圖3 Mosaic數(shù)據(jù)增強(qiáng)流程圖
工業(yè)用換向器表面缺陷檢測(cè)系統(tǒng)如圖4所示。系統(tǒng)工作過(guò)程如下:

圖4 換向器表面缺陷檢測(cè)系統(tǒng)框圖
(1)采用Mosaic數(shù)據(jù)增強(qiáng)等方法,對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,將構(gòu)建的數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集;
(2)采用訓(xùn)練集對(duì)YOLOv5模型進(jìn)行訓(xùn)練,得到效果最佳的網(wǎng)絡(luò)權(quán)重?cái)?shù)據(jù)和訓(xùn)練模型;
(3)采用訓(xùn)練好的YOLOv5模型對(duì)圖片進(jìn)行目標(biāo)檢測(cè),識(shí)別出圖像中是否有缺陷,如果有,進(jìn)一步判斷換向器表面缺陷的位置。
本研究采用的數(shù)據(jù)集是公開的KolektorSDD數(shù)據(jù)集,這個(gè)數(shù)據(jù)集專門用于換向器表面的缺陷識(shí)別。數(shù)據(jù)集由50組有缺陷的換向器組成,每組包含有8張金屬表面圖,并有對(duì)應(yīng)的標(biāo)簽。圖5為KolektorSDD數(shù)據(jù)集中部分圖像。

圖5 公開的KolektorSDD數(shù)據(jù)集
為增加換向器表面缺陷檢測(cè)精度,采用旋轉(zhuǎn)、裁剪、加噪等操作對(duì)換向器原始數(shù)據(jù)集進(jìn)行擴(kuò)展。
旋轉(zhuǎn)是對(duì)換向器表面圖像的位置進(jìn)行變換,雖然人眼看到變換后的圖像和變換前區(qū)別不是很大,由于計(jì)算機(jī)識(shí)別圖片是以像素的方式進(jìn)行,而旋轉(zhuǎn)變換后圖像的像素變化較大,變換后圖像發(fā)生了顯著的變化,因此,所提出的方法可以有效地對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充,其旋轉(zhuǎn)效果如圖6所示。

圖6 旋轉(zhuǎn)對(duì)比圖
裁剪主要是對(duì)換向器表面圖像的不同區(qū)域進(jìn)行隨機(jī)裁剪。在實(shí)際工況中,由于受到外界環(huán)境影響,被識(shí)別的換向器可能會(huì)受到遮擋或損壞,而通過(guò)裁剪可以模擬這樣的場(chǎng)景。這種方法可以擴(kuò)充換向器圖片數(shù)量以提高訓(xùn)練網(wǎng)絡(luò)的泛化能力,使得對(duì)換向器表面缺陷的識(shí)別精度更高,其裁剪效果如圖7所示。

圖7 裁剪對(duì)比圖
采用LabelImg標(biāo)注工具對(duì)數(shù)據(jù)進(jìn)行標(biāo)注。標(biāo)注過(guò)程是在標(biāo)注換向器缺陷的類別信息和位置信息,完成之后會(huì)生成對(duì)應(yīng)的文件來(lái)存儲(chǔ)換向器圖片的邊界框信息,標(biāo)注過(guò)程如圖8所示。標(biāo)注后將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,所采用的比例是8∶2,之后還需從訓(xùn)練集中抽取部分圖像作為驗(yàn)證集來(lái)測(cè)試訓(xùn)練之后的模型,隨機(jī)抽取的比例為0.2,抽取的圖像依然屬于訓(xùn)練集。

圖8 LabelImg數(shù)據(jù)標(biāo)定
YOLOv5網(wǎng)絡(luò)模型訓(xùn)練流程如圖9所示,首先輸入訓(xùn)練樣本,網(wǎng)絡(luò)參數(shù)初始化,對(duì)標(biāo)定好的數(shù)據(jù)集進(jìn)行監(jiān)督學(xué)習(xí),并提取特征,之后訓(xùn)練網(wǎng)絡(luò)反向修正權(quán)值、閾值,再判斷是否滿足設(shè)定的結(jié)束條件(即設(shè)置的迭代次數(shù)),如果是,將生成分類模型,結(jié)束此次訓(xùn)練。

圖9 訓(xùn)練流程圖
訓(xùn)練完成后,即可對(duì)換向器表面缺陷進(jìn)行檢測(cè)。檢測(cè)流程如圖10所示。通過(guò)相機(jī)采集圖像信息,對(duì)圖像的閾值進(jìn)行分割和缺陷識(shí)別,判斷是否有缺陷,如果有,將獲取缺陷區(qū)域并調(diào)用訓(xùn)練好的分類模型,輸出檢測(cè)的結(jié)果。

圖10 檢測(cè)流程圖
為了實(shí)現(xiàn)換向器表面缺陷和位置的檢測(cè),對(duì)KolektorSDD數(shù)據(jù)集進(jìn)行擴(kuò)充后采用YOLOv5算法對(duì)訓(xùn)練模型進(jìn)行構(gòu)建,并進(jìn)行推理。本實(shí)驗(yàn)的運(yùn)行環(huán)境為:Windows 10(64位)操作系統(tǒng);Genuine Intel(R)CPU @ 2.20 GHz(雙核),內(nèi)存為64 GB;NVIDIA GeForce GTX 1080 Ti GPU,顯存8 GB;Tensorflow-gpu版本2.8.0,CUDA版本為11.5,CUDNN版本為8.2.1,Anaconda版本為4.12.0。采用的軟件程序是Python語(yǔ)言,開發(fā)環(huán)境是PyCharm,采用的學(xué)習(xí)框架是PyTorch。
PR曲線(Precision-Recall Curve)是一種用于評(píng)估二分類器性能的曲線圖,在目標(biāo)檢測(cè)中被廣泛使用。PR曲線更加關(guān)注正確率和完整性,PR曲線的橫坐標(biāo)是召回率,縱坐標(biāo)是準(zhǔn)確率。PR曲線的形狀與其所對(duì)應(yīng)的每個(gè)閾值選擇有關(guān)。通常會(huì)選擇某段準(zhǔn)確率超過(guò)最小要求的那部分?jǐn)?shù)據(jù),在這部分?jǐn)?shù)據(jù)中找到召回率最高的閾值作為模型的輸出結(jié)果。本文換向器表面缺陷檢測(cè)模型構(gòu)建中,所得到的PR曲線如圖11所示。從圖中可以看出,有缺陷檢測(cè)下的PR的包絡(luò)面積為0.994,有缺陷加無(wú)缺陷檢測(cè)下的PR的平均包絡(luò)面積也為0.994,兩種分類檢測(cè)得到的PR曲線比較接近,包絡(luò)面積均接近于1,即檢測(cè)的平均精度較高,檢測(cè)的性能較好。

圖11 換向器表面缺陷檢測(cè)PR曲線
Box用來(lái)衡量所構(gòu)建模型中邊界框預(yù)測(cè)的誤差程度,其值越小表示模型邊界框預(yù)測(cè)的更準(zhǔn)確;Obj表示目標(biāo)檢測(cè)過(guò)程中損失的均值;Classification作為分類損失的均值。以上各個(gè)損失值越小,表明檢測(cè)的精確度越高。模型構(gòu)建中訓(xùn)練集和驗(yàn)證集中其損傷值和迭代次數(shù)關(guān)系如圖12所示。從圖中可以看出,當(dāng)?shù)螖?shù)為200時(shí),訓(xùn)練集和測(cè)試集的分類損失值接近于0,訓(xùn)練集和測(cè)試集的邊界框損失、目標(biāo)損失值均低于0.02,表明模型訓(xùn)練在小數(shù)據(jù)集上性能表現(xiàn)良好。

圖12 訓(xùn)練集和測(cè)試集損失值同迭代次數(shù)曲線
訓(xùn)練集和驗(yàn)證集中精確度和召回率同迭代次數(shù)關(guān)系如圖13所示。從圖中可以看出,當(dāng)?shù)螖?shù)為200時(shí),精確度數(shù)值高于0.99,召回率數(shù)值高于0.95,平均精度均值接近于1。同時(shí),損失值較小,因此,所構(gòu)建網(wǎng)絡(luò)模型訓(xùn)練效果較好,精度較高。

圖13 精確度和召回率同迭代次數(shù)曲線
在YOLOv5推理的過(guò)程中,首先需要將待檢測(cè)的圖像送入網(wǎng)絡(luò)模型,經(jīng)過(guò)卷積層和池化層等處理,得到一些特征點(diǎn)和特征向量,然后通過(guò)全連接層將這些特征與類別標(biāo)簽相結(jié)合,最終可以得到目標(biāo)檢測(cè)結(jié)果。實(shí)驗(yàn)的推理結(jié)果如圖14所示,不僅可以檢測(cè)出換向器表面是否存在缺陷,并能檢測(cè)出換向器表面缺陷的位置,對(duì)換向器表面缺陷檢測(cè)的準(zhǔn)確率達(dá)到90%。

圖14 推理結(jié)果
本文為減輕在工業(yè)用零部件表面缺陷檢測(cè)中人工檢測(cè)的成本和負(fù)擔(dān),提高檢測(cè)的效率,以工業(yè)用典型零件換向器為研究對(duì)象,設(shè)計(jì)了一款工業(yè)用零部件缺陷檢測(cè)系統(tǒng)。以公開的Kolektor-SDD數(shù)據(jù)集為基礎(chǔ),對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,構(gòu)建換向器表面缺陷訓(xùn)練集和測(cè)試集。依據(jù)構(gòu)建的訓(xùn)練集和測(cè)試集,采用深度學(xué)習(xí)框架對(duì)YOLOv5網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,并對(duì)訓(xùn)練的換向器表面缺陷檢測(cè)模型進(jìn)行推理測(cè)試。實(shí)驗(yàn)結(jié)果表明換向器表面缺陷檢測(cè)系統(tǒng)在檢測(cè)精度和檢測(cè)速度方面表現(xiàn)良好,換向器表面缺陷的檢測(cè)準(zhǔn)確率達(dá)到90%,不僅能有效檢測(cè)出換向器表面是否有缺陷,還能檢測(cè)出表面缺陷的位置。本研究可以為工業(yè)中換向器零部件的制造和應(yīng)用進(jìn)行實(shí)時(shí)在線監(jiān)測(cè),及時(shí)發(fā)現(xiàn)換向器表面缺陷,提高產(chǎn)品的可靠性和安全性。在后續(xù)研究中,可以對(duì)所采用的方法繼續(xù)優(yōu)化,以提高換向器表面缺陷檢測(cè)算法的精度和效率。