徐斌鋒
(廣東創(chuàng)新科技職業(yè)學(xué)院智能制造學(xué)院,廣東 東莞 523960)
機(jī)械材料作為工業(yè)生產(chǎn)制造的基礎(chǔ),被廣泛應(yīng)用于各個(gè)領(lǐng)域。然而因產(chǎn)品工藝的局限,不可避免地會(huì)造成產(chǎn)品缺陷,如犁溝、碎屑、剝落面等。這些缺陷不僅會(huì)影響產(chǎn)品外觀,還會(huì)導(dǎo)致機(jī)械材料質(zhì)量下降。因此,如何提高機(jī)械材料質(zhì)量是機(jī)械材料生產(chǎn)廠家亟需解決的關(guān)鍵問題。要實(shí)現(xiàn)高質(zhì)量的機(jī)械材料生產(chǎn)制造,首先需要對產(chǎn)品缺陷進(jìn)行檢測。目前,常用的缺陷檢測方法包括電磁檢測方法、超聲波檢測方法和基于深度學(xué)習(xí)的檢測方法等,如閆梁等[1]結(jié)合雙激勵(lì)傳感器和高分辨率磁阻傳感器,提出一種不銹鋼表面裂紋檢測方法,提高了不銹鋼表面裂紋檢測精度;王媛媛等[2]利用光纖光柵代替壓電傳感器進(jìn)行超聲波探測,實(shí)現(xiàn)光纖光柵傳感陣列缺陷的檢測;馬宇超等[3]基于深度網(wǎng)絡(luò)自適應(yīng)優(yōu)化的Mask R-CNN模型,對鑄件表面缺陷進(jìn)行檢測,仿真結(jié)果表明,該檢測方法可快速、高效地實(shí)現(xiàn)鑄件表面缺陷檢測。上述研究表明,目前缺陷檢測方法已發(fā)展為多種形式,一定程度上實(shí)現(xiàn)了機(jī)械材料的缺陷檢測。然而曾軍等[4]認(rèn)為,上述檢測方法在檢測精度上有待進(jìn)一步改善,且檢測速度較低。
為解決以上問題,本文以改進(jìn)反卷積單激發(fā)多框探測器(deconvolutional single shot detector,DSSD)網(wǎng)絡(luò)為基礎(chǔ)網(wǎng)絡(luò),提出一種機(jī)械材料缺陷識(shí)別方法,并驗(yàn)證該方法的可行性。
DSSD網(wǎng)絡(luò)是在傳統(tǒng)單步多框檢測器(single shot multibox detector,SSD)網(wǎng)絡(luò)基礎(chǔ)上,通過優(yōu)化預(yù)測模塊和引入反卷積模塊,從而提高目標(biāo)檢測的精度,其主要由基礎(chǔ)網(wǎng)絡(luò)、卷積層、反卷積層組成[5],基本結(jié)構(gòu)如圖1所示。
圖1 DSSD網(wǎng)絡(luò)結(jié)構(gòu)示意圖
目前,DSSD基礎(chǔ)網(wǎng)絡(luò)有ResNet101、AlexNet和VGG16網(wǎng)絡(luò)。ResNet101網(wǎng)絡(luò)相較于AlexNet和VGG16網(wǎng)絡(luò),具有更強(qiáng)的特征表征能力和魯棒性,可避免網(wǎng)絡(luò)層數(shù)增加導(dǎo)致誤差過大的問題。因此,本文選用ResNet101網(wǎng)絡(luò)作為DSSD網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò)。
圖1中,預(yù)測模塊位于卷積層后,基本結(jié)構(gòu)如圖2所示[6]。在SSD預(yù)測模塊基礎(chǔ)上,加入一個(gè)殘差單元和多個(gè)網(wǎng)絡(luò)層,可提高網(wǎng)絡(luò)對目標(biāo)特征提取的準(zhǔn)確性。
圖2 預(yù)測模塊網(wǎng)絡(luò)結(jié)構(gòu)
反卷積模塊位于預(yù)測模塊后,由多個(gè)訓(xùn)練完成的反卷積層組成,基本結(jié)構(gòu)如圖3所示[7]。反卷積模塊利用基于元素的點(diǎn)積形式對淺層和深層特征進(jìn)行融合,可恢復(fù)部分丟失的信息,可使網(wǎng)絡(luò)獲取更多內(nèi)容,進(jìn)而提高網(wǎng)絡(luò)檢測的準(zhǔn)確性。每個(gè)反卷積層后連接一個(gè)BN層,以確保每層輸入的一致性。其中,激活函數(shù)通常選擇ReLU函數(shù),W為圖像的寬度,H為圖像的高度。
圖3 DSSD網(wǎng)絡(luò)反卷積模塊結(jié)構(gòu)
1.2.1反卷積結(jié)構(gòu)優(yōu)化
DSSD網(wǎng)絡(luò)中雖加入了反卷積模塊,提高了對特征提取的利用率,但也增加了網(wǎng)絡(luò)的層數(shù)和計(jì)算復(fù)雜度,降低了網(wǎng)絡(luò)檢測速度。為解決該問題,將DSSD網(wǎng)絡(luò)中原本的5層反卷積層減少為3層,得到圖4所示優(yōu)化后的DSSD網(wǎng)絡(luò)。
圖4 優(yōu)化后的DSSD網(wǎng)絡(luò)結(jié)構(gòu)
1.2.2檢測框改進(jìn)
由于標(biāo)準(zhǔn)DSSD網(wǎng)絡(luò)檢測框參數(shù)不能根據(jù)實(shí)際應(yīng)用調(diào)整到適當(dāng)范圍,限制了檢測精度[8],因此提出采用K-means聚類重新選擇檢測框的長寬比,具體操作步驟為:
1)從n個(gè)樣本x1,…,xi,…,xn中隨機(jī)選擇k個(gè)樣本作為初始中心點(diǎn),用u1,…,ui,…,uk表示。
2)計(jì)算每個(gè)樣本到各個(gè)聚類中心點(diǎn)的距離‖xi~ui‖2,并根據(jù)距離大小,將樣本劃分到距離最近的中心點(diǎn)。
3)更新中心點(diǎn)位置,并將每類簇中的距離平均值作為新的樣本聚類質(zhì)心,進(jìn)行樣本與簇中心點(diǎn)距離計(jì)算。
4)重復(fù)以上操作,直到每類的中心點(diǎn)位置不再變化。
通過上述聚類,可使檢測框長寬比與待檢測目標(biāo)長寬比更接近。
基于改進(jìn)的DSSD網(wǎng)絡(luò),構(gòu)建機(jī)械材料的缺陷識(shí)別模型,具體步驟如下:
1)圖像采集與預(yù)處理。由于DSSD網(wǎng)絡(luò)輸入圖像為三維圖像,且尺寸為300像素×300像素×3像素,因此需將收集整理的機(jī)械材料缺陷圖像調(diào)整為DSSD網(wǎng)絡(luò)輸入要求的圖像。
2)參數(shù)初始化。根據(jù)式(1)和式(2),分別計(jì)算特征層的最大尺寸和最小尺寸,然后根據(jù)式(3)確定先驗(yàn)框尺寸大小。
max_sizes=min_dim×(ratio+step)/100
(1)
min_sizes=min_dim×ratio/10
(2)
step=(max_ratio-min_ratio)/(len(mbox_source_layers)-2)
(3)
式中:min_dim為輸入圖像的最小尺寸,取值300;ratio為調(diào)整后的圖像尺寸和原始圖像尺寸的比率,初始值一般為20;step為確定的先驗(yàn)框尺寸大小;min_sizes和max_sizes分別為圖像特征層的最小尺寸和最大尺寸;len(mbox_source_layers)為神經(jīng)網(wǎng)絡(luò)的特征層數(shù),在本文中SSD的特征層一般為6。
3)對正負(fù)樣本標(biāo)注。找到每種機(jī)械材料缺陷類型交并比最大的特征框,并將其與剩余特征框進(jìn)行對比。若二者之差大于設(shè)定閾值,則將其標(biāo)注為正樣本,反之標(biāo)注為負(fù)樣本。
4)目標(biāo)預(yù)測框獲取。分別對正負(fù)樣本進(jìn)行預(yù)測,獲得待檢測的目標(biāo)預(yù)測框,并計(jì)算函數(shù)損失值。
5)預(yù)測框處理。對目標(biāo)預(yù)測框去除背景預(yù)測框,并刪除小于設(shè)定閾值的預(yù)測框,同時(shí)利用非極大值抑制(non maximum suppression,NMS)算法刪除不準(zhǔn)確的預(yù)測框。
6)缺陷識(shí)別。根據(jù)剩余的預(yù)測框得出機(jī)械材料缺陷的種類和位置。
上述流程可用圖5表示。
圖5 改進(jìn)DSSD網(wǎng)絡(luò)機(jī)械材料缺陷識(shí)別步驟
本實(shí)驗(yàn)在Windows10操作系統(tǒng)上進(jìn)行,且以tensorflow為深度學(xué)習(xí)框架。系統(tǒng)配置Intel(R)Core(TM)i7-8750H,GeForce GTX1060顯卡,8.0 GB內(nèi)存。
本文數(shù)據(jù)來源于通過掃描電子顯微鏡自主采集的機(jī)械材料表面缺陷圖像,包括犁溝、碎屑、剝落3種常見的缺陷,共3 500張。
考慮到掃描電子顯微鏡采集的圖像為二維灰度圖像,而輸入DSSD網(wǎng)絡(luò)的圖像為彩色圖像,因此首先將灰度圖像轉(zhuǎn)化為RGB圖像。此外,考慮到采集的圖像樣本量少,為提高深度學(xué)習(xí)算法訓(xùn)練的精度,采用旋轉(zhuǎn)、遷移、縮放等方式增強(qiáng)數(shù)據(jù)集。
由于DSSD網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)樣本為VOC2007格式,因此對數(shù)據(jù)集進(jìn)行格式轉(zhuǎn)換,將原始訓(xùn)練數(shù)據(jù)樣本通過createtxt.py文件生成網(wǎng)絡(luò)對應(yīng)的格式。
最后,將上述預(yù)處理后的數(shù)據(jù)集按7∶3的比例劃分為訓(xùn)練集和測試集,并將圖像統(tǒng)一壓縮到300像素×300像素×3像素。
選用準(zhǔn)確率(AP)、平均準(zhǔn)確率(mAP)等指標(biāo)對網(wǎng)絡(luò)性能進(jìn)行評(píng)估[9-10]。
3.4.1算法驗(yàn)證
1)基本網(wǎng)絡(luò)性能驗(yàn)證。
為檢驗(yàn)改進(jìn)DSSD網(wǎng)絡(luò)選用的ResNet101基礎(chǔ)網(wǎng)絡(luò)的性能,以AlexNet和VGG16為基礎(chǔ)網(wǎng)絡(luò)的DSSD網(wǎng)絡(luò)性能為對照,結(jié)果見表1。由表可知,以ResNet101為基礎(chǔ)網(wǎng)絡(luò)的改進(jìn)DSSD網(wǎng)絡(luò)的平均準(zhǔn)確率最高,達(dá)85.9%。由此說明,采用ResNet101網(wǎng)絡(luò)作為改進(jìn)DSSD網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò)性能更好。
表1 算法驗(yàn)證結(jié)果
2)反卷積層優(yōu)化驗(yàn)證。
為驗(yàn)證對反卷積層優(yōu)化效果,對比了改進(jìn)前后DSSD網(wǎng)絡(luò)的平均檢測時(shí)間,結(jié)果見表2。由表可知,相較于5層反卷積層,3層反卷積層的平均檢測時(shí)間更短,為0.141 s,少0.052 s,說明改進(jìn)有效。
表2 檢測時(shí)間對比
3)檢測框改進(jìn)效果驗(yàn)證
為驗(yàn)證K-means算法對DSSD網(wǎng)絡(luò)檢測框的改進(jìn)效果,分析了采用K-means算法和未采用K-means算法優(yōu)化檢測框長寬比的DSSD網(wǎng)絡(luò)識(shí)別效果,結(jié)果如圖6所示。由圖可知,采用K-means算法的DSSD網(wǎng)絡(luò)識(shí)別更好,說明采用K-means算法改進(jìn)有效。
圖6 DSSD網(wǎng)絡(luò)識(shí)別效果對比
4)模型訓(xùn)練結(jié)果。
圖7為改進(jìn)DSSD網(wǎng)絡(luò)訓(xùn)練的Loss值。由圖7可知,訓(xùn)練初期,網(wǎng)絡(luò)的Loss值快速下降,當(dāng)網(wǎng)絡(luò)迭代次數(shù)到3.5×104后,網(wǎng)絡(luò)損失值逐步趨于穩(wěn)定,約為0.2,滿足應(yīng)用需求。由此說明,本文構(gòu)建的改進(jìn)DSSD網(wǎng)絡(luò)對機(jī)械材料缺陷識(shí)別具有一定的有效性。
圖7 改進(jìn)DSSD網(wǎng)絡(luò)訓(xùn)練的Loss值
3.4.2不同網(wǎng)絡(luò)的平均識(shí)別準(zhǔn)確率和平均檢測時(shí)間對比
為進(jìn)一步驗(yàn)證所提的改進(jìn)DSSD網(wǎng)絡(luò)對機(jī)械材料缺陷識(shí)別的有效性和優(yōu)越性,在相同迭代次數(shù)下,對比了改進(jìn)DSSD網(wǎng)絡(luò)與常用的YOLO、SSD、Faster-RCNN等目標(biāo)網(wǎng)絡(luò)的平均準(zhǔn)確率,結(jié)果如圖8所示。由圖可知,檢測初始階段,改進(jìn)DSSD網(wǎng)絡(luò)平均識(shí)別準(zhǔn)確率較低;隨著迭代次數(shù)的增加,所有網(wǎng)絡(luò)的平均識(shí)別準(zhǔn)確率均快速上升,但改進(jìn)DSSD網(wǎng)絡(luò)的平均識(shí)別準(zhǔn)確率上升幅度大;當(dāng)?shù)螖?shù)達(dá)到3.5×104后,所有網(wǎng)絡(luò)達(dá)到穩(wěn)定,且改進(jìn)DSSD網(wǎng)絡(luò)的平均識(shí)別準(zhǔn)確率高于對比網(wǎng)絡(luò)。由此說明,改進(jìn)DSSD網(wǎng)絡(luò)在機(jī)械材料缺陷識(shí)別中具有一定的優(yōu)勢,表現(xiàn)出更好的檢測識(shí)別效果。
圖8 不同網(wǎng)絡(luò)對機(jī)械材料缺陷的平均識(shí)別準(zhǔn)確率
表3為不同網(wǎng)絡(luò)對機(jī)械材料缺陷的平均識(shí)別準(zhǔn)確率均值和平均檢測時(shí)間對比。由表可知,相較于對比網(wǎng)絡(luò),所提改進(jìn)DSSD網(wǎng)絡(luò)的平均準(zhǔn)確率均值最高,達(dá)到84.75%,平均檢測時(shí)間最短,為0.141 s。由此說明,相較于YOLO、SSD、Faster R-CNN網(wǎng)絡(luò),所提改進(jìn)DSSD網(wǎng)絡(luò)對機(jī)械材料缺陷識(shí)別的整體效果更好,具有一定的優(yōu)越性。
表3 不同網(wǎng)絡(luò)對機(jī)械材料缺陷識(shí)別結(jié)果
3.4.3改進(jìn)DSSD網(wǎng)絡(luò)的缺陷識(shí)別結(jié)果
為驗(yàn)證改進(jìn)DSSD網(wǎng)絡(luò)對機(jī)械材料缺陷識(shí)別的有效性,利用學(xué)習(xí)好的數(shù)據(jù)集對所提網(wǎng)絡(luò)進(jìn)行驗(yàn)證,并隨機(jī)選擇4個(gè)樣本種類進(jìn)行分析,結(jié)果如圖9所示。由圖可知,所提的改進(jìn)DSSD網(wǎng)絡(luò)可良好識(shí)別機(jī)械材料單一缺陷和復(fù)合缺陷,且識(shí)別準(zhǔn)確率較高,可用于機(jī)械材料缺陷識(shí)別實(shí)際檢測。
圖9 改進(jìn)DSSD網(wǎng)絡(luò)識(shí)別結(jié)果
為進(jìn)一步驗(yàn)證所提改進(jìn)DSSD網(wǎng)絡(luò)對機(jī)械材料缺陷識(shí)別的性能,以機(jī)械材料碎屑為例,采用改進(jìn)DSSD網(wǎng)絡(luò)和對比網(wǎng)絡(luò)分別進(jìn)行識(shí)別,結(jié)果如圖10所示。由圖可知,相較于對比網(wǎng)絡(luò),所提網(wǎng)絡(luò)的檢測框區(qū)域與機(jī)械材料碎屑缺陷區(qū)域重疊效果更好,說明所提改進(jìn)DSSD網(wǎng)絡(luò)的檢測精度更高。由此說明,相較于一般缺陷檢測識(shí)別算法,所提改進(jìn)DSSD網(wǎng)絡(luò)對機(jī)械材料缺陷的識(shí)別準(zhǔn)確率更高,表現(xiàn)更好。
圖10 不同網(wǎng)絡(luò)識(shí)別結(jié)果對比
本文以ResNet101網(wǎng)絡(luò)為基礎(chǔ)網(wǎng)絡(luò),在減少反卷積層的同時(shí),利用K-means算法選取檢測框長寬比,實(shí)現(xiàn)了機(jī)械材料缺陷的識(shí)別,且具有較高的識(shí)別準(zhǔn)確率和較短的檢測時(shí)間。相較于常用目標(biāo)檢測網(wǎng)絡(luò)YOLO、SSD、Faster R-CNN網(wǎng)絡(luò),本文的改進(jìn)DSSD網(wǎng)絡(luò)具有更高的平均識(shí)別準(zhǔn)確率和更短的檢測時(shí)間,表明其具有一定的有效性和優(yōu)越性,可用于機(jī)械材料缺陷識(shí)別。但本文僅采集了碎屑、犁溝、剝落等3種常見的機(jī)械缺陷,數(shù)據(jù)樣本少且種類不多,因此模型的泛化能力還有待進(jìn)一步驗(yàn)證。