李 蘭,奚舒舒,張才寶,馬鴻洋
(1.青島理工大學(xué) 信息與控制工程學(xué)院,山東 青島 266000;2.青島理工大學(xué) 理學(xué)院,山東 青島 266000)
隨著現(xiàn)代工業(yè)的進(jìn)步與發(fā)展,各類(lèi)工件在機(jī)械制造業(yè)中的使用頻率也越來(lái)越高。在機(jī)械工件的生產(chǎn)過(guò)程中,由于刀具種類(lèi)或者操作的影響,在工件表面會(huì)形成各種不同的缺陷,嚴(yán)重影響工件質(zhì)量和機(jī)械設(shè)備性能,所以表面缺陷檢測(cè)是控制工件質(zhì)量的重要環(huán)節(jié)[1,2]。
傳統(tǒng)的人工缺陷檢測(cè)存在采樣率和準(zhǔn)確率低、勞動(dòng)強(qiáng)度高的缺點(diǎn)。隨著機(jī)器視覺(jué)和目標(biāo)檢測(cè)技術(shù)的進(jìn)步,基于傳統(tǒng)的機(jī)器學(xué)習(xí)技術(shù)被廣泛應(yīng)用于缺陷檢測(cè)并逐漸取代了傳統(tǒng)的人工檢測(cè)[3]。如Jeon等[4]利用Gabor濾波器將基于直方圖和梯度的紋理特征輸入到支持向量機(jī)中,對(duì)工件表面進(jìn)行了刮痕檢測(cè)。雖然基于傳統(tǒng)機(jī)器視覺(jué)的檢測(cè)方法在很多方面取得了較好的結(jié)果,但是需要特定的預(yù)處理方法來(lái)利用專(zhuān)業(yè)知識(shí)提取具有代表性的特征。
為了適應(yīng)現(xiàn)代工業(yè)的進(jìn)步,越來(lái)越多的研究者開(kāi)始研究基于深度學(xué)習(xí)的缺陷檢測(cè)方法。前期的深度學(xué)習(xí)方法主要是以R-CNN[5]為基礎(chǔ),隨后相繼出現(xiàn)Fast-RCNN[6]、Faster-RCNN[7]、Mask-RCNN[8]等網(wǎng)絡(luò)模型,但上述這些兩階段網(wǎng)絡(luò)存在模型過(guò)于龐大的情況。為了解決該問(wèn)題,2016年LIU Wei等人[9]提出了SSD多尺度特征圖的目標(biāo)檢測(cè)網(wǎng)絡(luò),在YOLO[10,11]的基礎(chǔ)上進(jìn)一步提高了檢測(cè)精度;2017年,F(xiàn)U C Y等人[12]以SSD模型為基礎(chǔ)提出了DSSD(deconvolutional single shot detector)模型,進(jìn)一步提高了檢測(cè)速度和效率,為實(shí)際檢測(cè)[13]提供了新的方法。
針對(duì)工件表面缺陷檢測(cè)問(wèn)題,LI Yi-ting等[11]采用MobileNet-SSD框架檢測(cè)了密封面的缺口、凹陷、磨損等缺陷;趙君愛(ài)等人[15]提出了一種基于像元搜索算法的微小缺陷檢測(cè)方法,但該方法檢測(cè)速度較慢,并且不適合數(shù)據(jù)集龐大的缺陷檢測(cè)。
為了更精確、高效地檢測(cè)工件表面缺陷,筆者提出一種基于DSSD網(wǎng)絡(luò)模型的工件表面缺陷檢測(cè)方法,該方法首先利用掃描電子顯微鏡(scanning electron microscope,SEM)采集不同零件、不同部位的缺陷圖像,并制作數(shù)據(jù)集;然后通過(guò)優(yōu)化數(shù)據(jù)集和訓(xùn)練改進(jìn)后的DSSD網(wǎng)絡(luò)模型來(lái)完成工件表面缺陷檢測(cè)。
SSD(single shot multibox detector)模型主要由基礎(chǔ)網(wǎng)絡(luò)VGG16和后續(xù)卷積層兩部分組成。該模型主要運(yùn)用回歸思想并加入了特征金字塔[16,17]的檢測(cè)方式;通過(guò)綜合不同卷積層的特征圖,然后直接預(yù)測(cè)邊界框的種類(lèi)和位置,所以該目標(biāo)檢測(cè)模型準(zhǔn)確率較高,檢測(cè)速度較快,可實(shí)現(xiàn)實(shí)時(shí)檢測(cè)。
SSD模型雖然檢測(cè)速度較快,但是在檢測(cè)目標(biāo)較小時(shí),檢測(cè)效果較差。為了解決SSD模型的不足,DSSD模型在SSD模型的基礎(chǔ)上進(jìn)行了改進(jìn)。
DSSD模型結(jié)構(gòu)圖如圖1所示。
圖1 DSSD模型結(jié)構(gòu)圖
圖1中,DSSD模型將SSD模型的基礎(chǔ)網(wǎng)絡(luò)VGG16替換為分類(lèi)性能較好的Residual101網(wǎng)絡(luò),其中,Residual101的Conv3_x卷積層與其后的一系列逐漸變小的卷積層(5層),共同構(gòu)成DSSD模型的特征層;特征層和其后的5層反卷積網(wǎng)絡(luò)層構(gòu)成反卷積模塊;DSSD模型在反卷積層上還加入了一個(gè)新的預(yù)測(cè)模塊。
1.2.1 反卷積模塊
為了得到更多的檢測(cè)信息,DSSD模型引入了訓(xùn)練好的反卷積層組成了反卷積模塊,反卷積模塊結(jié)構(gòu)圖如圖2所示。
圖2 反卷積模塊結(jié)構(gòu)圖
圖2中,每個(gè)卷積層之后添加歸一化層,激活函數(shù)采用ReLu6;高低層的特征信息利用基于元素點(diǎn)積的形式,在反卷積模塊中得到了融合。
1.2.2 預(yù)測(cè)模塊
DSSD模型在特征層和反卷積層又加入預(yù)測(cè)模塊,進(jìn)一步提高了模型的精確度。
預(yù)測(cè)模塊結(jié)構(gòu)圖如圖3所示。
圖3 預(yù)測(cè)模塊結(jié)構(gòu)圖
圖3中,DSSD在SSD模型的預(yù)測(cè)模塊基礎(chǔ)上加入了一個(gè)殘差單元的網(wǎng)絡(luò)結(jié)構(gòu),有效地提高了工件的檢測(cè)精度。
DSSD模型的反卷積模塊雖然提高了信息的利用率,提高了檢測(cè)速度,但是在網(wǎng)絡(luò)層增加的同時(shí),算法的計(jì)算復(fù)雜度也相應(yīng)增加,因此降低了模型對(duì)實(shí)驗(yàn)數(shù)據(jù)集的檢測(cè)速度。
本次實(shí)驗(yàn)采用優(yōu)化后的DSSD模型[18],在保證檢測(cè)精度的同時(shí)降低了計(jì)算量。該實(shí)驗(yàn)DSSD模型如圖4所示。
圖4 該實(shí)驗(yàn)DSSD模型
在圖4中,對(duì)DSSD的反卷積模塊進(jìn)行了優(yōu)化,將反卷積網(wǎng)絡(luò)層由原本的5層改為3層,從而縮減了計(jì)算量;使每個(gè)特征層都參與融合操作,融合后得到的3幅不同大小的特征圖與另外3幅未融合特征圖一起,輸入到預(yù)測(cè)模塊中進(jìn)行預(yù)測(cè)。
DSSD模型對(duì)目標(biāo)位置和種類(lèi)同時(shí)進(jìn)行回歸訓(xùn)練,總體目標(biāo)損失函數(shù)為位置損失和置信度損失的加權(quán)和如下式所示:
(1)
式中:α—平衡置信損失和位置損失;c—分類(lèi)置信度;l—預(yù)測(cè)框的偏移量;g—目標(biāo)實(shí)際位置的校準(zhǔn)框;N—與該類(lèi)別的校準(zhǔn)框匹配的默認(rèn)框數(shù)量。
位置損失函數(shù)定義如下式所示:
(2)
其中:
(3)
置信損失函數(shù)的定義如下式所示:
(4)
由于目前工件缺陷的公開(kāi)數(shù)據(jù)集較少,本次實(shí)驗(yàn)采用自制數(shù)據(jù)集;圖像采集工作與青島理工大學(xué)機(jī)械學(xué)院合作完成。
采集環(huán)境如圖5所示。
圖5 采集環(huán)境
首先利用掃描電子顯微鏡對(duì)不同工件、不同角度進(jìn)行掃描,然后針對(duì)碎屑、剝落、梨溝3類(lèi)缺陷,共采集圖像4 810幅。
為了使數(shù)據(jù)集和檢測(cè)結(jié)果更具有代表性,針對(duì)自制數(shù)據(jù)集不夠大的問(wèn)題,筆者將采集的缺陷圖像按表進(jìn)行數(shù)據(jù)擴(kuò)充。
數(shù)據(jù)擴(kuò)充實(shí)現(xiàn)方法如表1所示。
表1 數(shù)據(jù)擴(kuò)充實(shí)現(xiàn)方法
本文將數(shù)據(jù)擴(kuò)充后的數(shù)據(jù)集80%作為訓(xùn)練集,20%作為測(cè)試集;然后利用Labellmg軟件進(jìn)行標(biāo)注,壓縮為300 300的圖像,作為訓(xùn)練模型的輸入。
DSSD網(wǎng)絡(luò)模型在訓(xùn)練過(guò)程中會(huì)產(chǎn)生一系列邊界框集合,通過(guò)設(shè)置閾值(本次實(shí)驗(yàn)設(shè)置為0.6)并利用非極大值抑制算法[19]消除舍棄的低于閾值的檢測(cè)框;訓(xùn)練過(guò)程中會(huì)產(chǎn)生損失量,損失量的多少利用損失函數(shù)來(lái)計(jì)算。
損失函數(shù)訓(xùn)練圖像如圖6所示。
圖6 損失函數(shù)訓(xùn)練圖像
在模型訓(xùn)練過(guò)程中,當(dāng)損失函數(shù)值的變化率小于閾值時(shí),將學(xué)習(xí)率降低到原來(lái)的0.1倍。因此,筆者設(shè)置前2104次迭代學(xué)習(xí)率為10-3,后2104次迭代使用學(xué)習(xí)率10-4;經(jīng)過(guò)3.8104次迭代后,損失值趨于穩(wěn)定,DSSD模型達(dá)到收斂。
為了證明方法的有效性,本次實(shí)驗(yàn)選取了數(shù)據(jù)集中部分圖像,檢測(cè)結(jié)果圖如圖7所示。
圖7 檢測(cè)結(jié)果圖
從檢測(cè)圖中可以看出,3種缺陷都能被檢測(cè)到,且正確率較高。由此可見(jiàn),本文所有的DSSD模型在該數(shù)據(jù)集上的檢測(cè)效果較好,具有良好的穩(wěn)定性。
任選一種缺陷為例(本次實(shí)驗(yàn)以碎屑為例),利用4種模型對(duì)數(shù)據(jù)集中的缺陷進(jìn)行檢測(cè),檢測(cè)結(jié)果對(duì)比圖如圖8所示。
圖8 檢測(cè)結(jié)果對(duì)比圖
從圖8的檢測(cè)圖可知,本文所用DSSD模型的檢測(cè)精度比較高,并且檢測(cè)框所在的區(qū)域相比于缺陷區(qū)域較為吻合。
本次實(shí)驗(yàn)利用精確度、平均準(zhǔn)確率和平均準(zhǔn)確率均值3種常用參數(shù)來(lái)評(píng)估模型的性能。其中,精確度(Precision)是指在被判斷為準(zhǔn)確的圖像中,真正判斷準(zhǔn)確的缺陷類(lèi)型的比例,其計(jì)算公式如下式所示:
(5)
平均準(zhǔn)確率(average precision)是指精確度的平均值,反映了每種缺陷的平均檢測(cè)精度,其計(jì)算公式如下式所示:
(6)
平均準(zhǔn)確率均值(mean average precision)表示了3種類(lèi)別缺陷的平均準(zhǔn)確度,反映了該模型對(duì)整個(gè)數(shù)據(jù)集的檢測(cè)效果,其計(jì)算公式如下式所示:
(7)
本文利用訓(xùn)練好的網(wǎng)絡(luò)對(duì)測(cè)試集進(jìn)行檢測(cè),每種缺陷樣本都有30張不同的圖像。
經(jīng)過(guò)訓(xùn)練的檢測(cè)網(wǎng)絡(luò)對(duì)3種缺陷樣本的檢測(cè)精確度結(jié)果如表2所示。
表2 3種缺陷檢測(cè)精確度表
從表2檢測(cè)結(jié)果可以看出,在3種缺陷中,碎屑的檢測(cè)精確度最高,成功檢測(cè)數(shù)量和遺漏數(shù)明顯低于其他兩種;剝落和梨溝兩類(lèi)缺陷都仍存在少數(shù)遺漏和錯(cuò)檢的情況。從總體來(lái)看,DSSD模型對(duì)這3種缺陷的檢測(cè)精度較高,達(dá)到84.4%。
在相同的迭代步數(shù)下,本文將DSSD模型與Faster-RCNN、SSD和YOLO 3種模型進(jìn)行值比較,4種模型的值檢測(cè)結(jié)果如圖9所示。
圖9表明:DSSD模型的值高于Faster R-CNN、SSD和YOLO模型;該結(jié)果也進(jìn)一步驗(yàn)證了筆者所用的模型在工件表面缺陷檢測(cè)中具有更好的效果。
同樣,在相同訓(xùn)練步數(shù)和相同訓(xùn)練集的前提下,將本文所用模型與Faster-RCNN、SSD和YOLO模型在和平均檢測(cè)時(shí)間上進(jìn)行了對(duì)比,缺陷檢測(cè)方法對(duì)比實(shí)驗(yàn)表如表3所示。
表3 缺陷檢測(cè)方法對(duì)比試驗(yàn)表
從表3可以看出:本文所用模型的是79.12%,F(xiàn)aster R-CNN模型的是67.07%,YOLO模型的是72.44%,SSD模型的是67.62%;該結(jié)果表明,本文所用的方法其平均準(zhǔn)確率均值比基于Faster R-CNN模型、YOLO模型和SSD模型的平均準(zhǔn)確率均值都高;
從檢測(cè)速度分析,本文模型的平均檢測(cè)時(shí)間是0.132 s,低于其他3種檢測(cè)算法,表明本文方法要比Faster R-CNN模型、SSD模型和YOLO模型更節(jié)約時(shí)間。
為了提高機(jī)械工件缺陷的檢測(cè)效率,從而提高工件利用率,本文首先利用掃描電子顯微鏡得到機(jī)械工件表面的掃描圖像,通過(guò)數(shù)據(jù)增強(qiáng)擴(kuò)充了數(shù)據(jù),提高了算法的魯棒性;然后針對(duì)3種高頻缺陷(碎屑、剝落和梨溝)提出了基于DSSD網(wǎng)絡(luò)模型的工件表面缺陷檢測(cè)方法。
通過(guò)實(shí)驗(yàn)證明,本文提出的方法在工件缺陷檢測(cè)上平均精度達(dá)到79.12%,高于相同條件下的Faster R-CNN、YOLO和SSD方法。
該方法利用深度卷積特征,有效避免了傳統(tǒng)目標(biāo)檢測(cè)模型對(duì)手工特征的依賴(lài)問(wèn)題;通過(guò)簡(jiǎn)化DSSD模型的反卷積模塊,在保證特征信息被檢測(cè)的同時(shí)縮減了計(jì)算量,從而提高了檢測(cè)精度和速度。然而,該訓(xùn)練網(wǎng)絡(luò)并不是非常完善,進(jìn)一步提高精確度是筆者后期需要研究的方向。