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