李 蘭,奚舒舒,張才寶,馬鴻洋
(1.青島理工大學(xué)信息與控制工程學(xué)院,山東 青島 266500;2.青島理工大學(xué)理學(xué)院,山東 青島 266500)
機械加工過程中,由于刀具種類或者操作的影響,在加工工件表面會形成各種不同的紋理,實際生產(chǎn)中將這些紋理統(tǒng)稱為工件表面缺陷。隨著現(xiàn)代工業(yè)的迅速發(fā)展,機械制造業(yè)對工件質(zhì)量的要求也逐漸提高,工件表面的缺陷大小和類型都直接關(guān)系到機械設(shè)備的成本、工作性能以及使用壽命等問題。因此,有效地檢測出工件表面缺陷對于提高工件利用率、維持設(shè)備的正常工作具有重要作用。傳統(tǒng)的人工檢測方法易受主觀判斷的影響,導(dǎo)致檢測精度不穩(wěn)定、效率較低,已經(jīng)無法滿足生產(chǎn)需求?;趥鹘y(tǒng)機器視覺(Machine Vision)的檢測方法在許多案例中取得了可靠的結(jié)果,但是需要特定的預(yù)處理方法并利用專業(yè)知識提取具有代表性的特征。為了適應(yīng)現(xiàn)代機械制造業(yè)的發(fā)展,越來越多的研究者開始研究基于深度學(xué)習(xí)的缺陷檢測方法。深度學(xué)習(xí)作為一種簡單快速的數(shù)據(jù)分析方法,在圖像處理、目標(biāo)檢測等領(lǐng)域取得了突破性的進展。隨著深度學(xué)習(xí)的不斷進步,卷積神經(jīng)網(wǎng)絡(luò)以其速度快、效率高、抗干擾能力強等突出優(yōu)點在目標(biāo)檢測[1]任務(wù)上有著非常突出的表現(xiàn),成為了機械制造業(yè)中檢測技術(shù)的研究熱點之一。
近年來,基于深度學(xué)習(xí)和機器視覺的缺陷監(jiān)測技術(shù)逐漸被工業(yè)生產(chǎn)所采用[2],有效地促進了智能制造業(yè)的發(fā)展。深度學(xué)習(xí)算法在分類和目標(biāo)檢測任務(wù)中表現(xiàn)出了最先進的特性,其在表面缺陷檢測中也得到了廣泛的應(yīng)用。例如,王憲保等人[3]在2014年采用深度信念網(wǎng)絡(luò)(Deep Belief Network)來獲得太陽能電池的訓(xùn)練圖像與非缺陷模板之間的關(guān)系,并通過重建圖像與缺陷圖像的比較來完成測試圖像的缺陷檢測;Cha等人[4]在2017年利用深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Network)來識別復(fù)雜情況下的混凝土裂縫,如較強的斑點、陰影、超薄裂縫等缺陷,證明深度卷積神經(jīng)網(wǎng)絡(luò)優(yōu)于Canny邊緣檢測、Sobel邊緣檢測等傳統(tǒng)算法;喬麗等人[5]在2017年提出缺陷分辨率(Defect Resolution)的概念來衡量缺陷的程度,結(jié)果顯示缺陷檢測率可達(dá)93.3%。以上研究充分展示了深度學(xué)習(xí)在表面缺陷檢測中的優(yōu)異性能。目前,深度學(xué)習(xí)進入了一個全新的階段,圖像處理技術(shù)不斷進步。研究基于卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)圖像檢測方法[6]的學(xué)者越來越多。前期的深度學(xué)習(xí)方法主要是以R-CNN[7]為基礎(chǔ),隨后相繼出現(xiàn)了Fast-RCNN[8]、Faster-RCNN[9]和Mask-RCNN[10]等網(wǎng)絡(luò)模型,但上述這些兩階段網(wǎng)絡(luò)模型存在模型過于龐大的情況。為了解決此問題,2016年Redmon等人[11,12]提出了YOLO網(wǎng)絡(luò),簡化了網(wǎng)絡(luò)模型,大大提高了檢測速度。隨后,Liu等人[13]提出了SSD(Single Shot multiBox Detector)多尺度特征圖的目標(biāo)檢測算法,在YOLO的基礎(chǔ)上進一步提高了檢測精度,是至今為止較為優(yōu)秀的目標(biāo)檢測算法。
針對工件表面缺陷檢測問題,趙君愛等人[14]在2004年提出了一種基于像元搜索算法的微小缺陷檢測方法,但該方法檢測速度較慢并且不適合數(shù)據(jù)集龐大的缺陷檢測。Li等人[15]在2018年提出基于深度學(xué)習(xí)MobileNet-SSD模型的表面缺陷檢測算法,并將其應(yīng)用于實際生產(chǎn),但此算法不能普遍用于一般性能的系統(tǒng)。
為了更精確、高效地檢測工件表面缺陷,避免傳統(tǒng)檢測方法的缺點,本文提出基于改進SSD網(wǎng)絡(luò)模型的工件表面缺陷檢測算法,該算法在MobileNet網(wǎng)絡(luò)的基礎(chǔ)上提出DH-MobileNet網(wǎng)絡(luò)模型,并以此代替SSD網(wǎng)絡(luò)模型中的VGG16,優(yōu)化了參數(shù),縮短了訓(xùn)練時間;針對SSD網(wǎng)絡(luò)模型的后續(xù)卷積層之間傳輸造成的信息損失問題,引入反向殘差結(jié)構(gòu),同時為了提高對小目標(biāo)檢測的精度,采用空洞卷積代替反向殘差結(jié)構(gòu)中的下采樣操作。利用掃描電子顯微鏡SEM(Scanning Electron Microscope)獲得解析度較高的圖像,能夠清晰地獲取工件表面缺陷的特征。最后通過優(yōu)化數(shù)據(jù)集和訓(xùn)練網(wǎng)絡(luò)模型來完成工件表面缺陷檢測,為工業(yè)生產(chǎn)中的缺陷檢測問題提供了新的方案。
SSD是由Liu等人[13]在ECCV2016會議上提出的一個回歸模型,它利用不同的卷積層進行邊界和分類回歸,達(dá)到較好的檢測效果和速度。SSD網(wǎng)絡(luò)模型包含2部分,第1部分是具有高分類精度且刪除了其分類層的VGG16網(wǎng)絡(luò)結(jié)構(gòu);第2部分是使用卷積層取代2個全連接層并增加4個卷積層構(gòu)建的網(wǎng)絡(luò)結(jié)構(gòu),加入了特征金字塔[16]的檢測方式,從而實現(xiàn)多尺度目標(biāo)檢測。SSD網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。
Figure 1 Structure of SSD network model圖1 SSD網(wǎng)絡(luò)模型結(jié)構(gòu)圖
在SSD網(wǎng)絡(luò)模型中,每一個選定的特征圖有k個大小和寬度比不同的幀,這些幀稱為默認(rèn)框。不同卷積層輸出的特征圖如圖2所示。
Figure 2 Characteristic graphs of different convolutional layers圖2 不同卷積層輸出的特征圖
每個默認(rèn)框預(yù)測B類目標(biāo)和4個位置參數(shù),本文實驗B設(shè)置為3,因為在工件表面中有3種典型的缺陷,每個特征圖的默認(rèn)框的計算如式(1)所示:
(1)
其中,n表示特征圖的數(shù)量;Pmin和Pmax是可以設(shè)置的參數(shù),本次實驗分別取0.2和0.9,即最低層特征圖的默認(rèn)框占該特征圖的比例是0.2,最高層默認(rèn)框占該特征圖的比例是0.9;Pi表示第i個特征圖的尺度。為了使訓(xùn)練過程和測試實驗中的特征向量保持一致,本文實驗使用相同的5種寬高比ar={1,2,3,0.5,0.33}來生成默認(rèn)框,每個默認(rèn)框可以描述為:
(2)
(3)
SSD網(wǎng)絡(luò)模型對目標(biāo)位置和種類同時進行回歸訓(xùn)練,訓(xùn)練過程中產(chǎn)生的損失量利用損失函數(shù)來計算。SSD網(wǎng)絡(luò)模型的總體目標(biāo)損失函數(shù)[17]是位置損失函數(shù)(loc) 和置信損失函數(shù)(conf)的加權(quán)和,如式(4)所示:
(4)
其中,參數(shù)x∈(0,1),表示默認(rèn)框和實際檢測框是否匹配成功;參數(shù)α用來平衡置信損失和位置損失;c是分類置信度;l代表預(yù)測框;g代表真實標(biāo)簽框;N是與該類別的校準(zhǔn)框匹配的默認(rèn)框數(shù)量。當(dāng)N等于0時,說明損失為0。
位置損失函數(shù)是預(yù)測框l和真實標(biāo)簽框g參數(shù)之間的smoothL1損失,(cx,cy)是默認(rèn)邊框 的中心,(w,h)是默認(rèn)框的寬和高,定義如式(5)所示:
(5)
置信損失函數(shù)的定義如式(6)所示:
(6)
與原始MultiBox[18]的匹配方法不同,SSD網(wǎng)絡(luò)模型訓(xùn)練時的匹配策略是先匹配默認(rèn)邊界框與實際邊界框,若兩者的重疊率IoU(Intersection over Union)大于閾值(默認(rèn)閾值為0.5),則默認(rèn)檢測框與真實框匹配;反之,若重疊率小于0.5,則認(rèn)為兩者不匹配。
SSD網(wǎng)絡(luò)模型在目標(biāo)檢測中表現(xiàn)出了較好的性能,但其在檢測過程中所需參數(shù)較多,且后續(xù)的卷積層忽視了層與層之間的連接關(guān)系,在增加了計算量的同時對小目標(biāo)的檢測效果較差,容易出現(xiàn)漏檢、誤檢等問題。MobileNet網(wǎng)絡(luò)模型所用參數(shù)較少,縮短了訓(xùn)練時間,但同時存在檢測精確度不高的問題。為了在減少訓(xùn)練參數(shù)的同時提高網(wǎng)絡(luò)精確度,本文首先結(jié)合空洞卷積(Dilated Convolution)[19]和層級特征融合HFF(Hierarchical Feature Fusion)[20]提出DH-MobileNet網(wǎng)絡(luò)模型,并以此來代替SSD網(wǎng)絡(luò)模型中的VGG16;然后利用反向殘差結(jié)構(gòu)對SSD網(wǎng)絡(luò)模型的后續(xù)卷積層進行改進。優(yōu)化后的SSD網(wǎng)絡(luò)模型結(jié)構(gòu)如圖3所示。
Figure 3 Optimized SSD network model圖3 優(yōu)化后的SSD網(wǎng)絡(luò)模型
MobileNet是Howard等人[21]提出的一種輕量級卷積神經(jīng)網(wǎng)絡(luò),基本單元為深度可分離卷積,訓(xùn)練時所需參數(shù)較少,能夠節(jié)省時間并且可以實現(xiàn)移動設(shè)備的部署。MobileNet網(wǎng)絡(luò)模型的結(jié)構(gòu)如圖4所示。
Figure 4 Structure of MobileNet圖4 MobileNet網(wǎng)絡(luò)模型結(jié)構(gòu)圖
圖4為MobileNet的網(wǎng)絡(luò)結(jié)構(gòu)圖,其中Conv-Dw-Pw是一種深度可分離的卷積結(jié)構(gòu)。由深度卷積Dw(Depth-wise)和點卷積Pw(Point-wise) 2部分構(gòu)成。Dw由3×3的深度卷積核構(gòu)成,Pw由1×1的點卷積核構(gòu)成。BN(Batch Normalization)代表批處理規(guī)范化,ReLU6表示激活函數(shù)。
模型訓(xùn)練過程中,會通過池化操作增大感受野,從而提高檢測精確度,但是池化操作會造成圖像信息部分缺失的問題??斩淳矸e可以在不損失圖像信息的同時增大輸入圖像的感受野,因此本文將空洞卷積操作引入到 MobileNet 網(wǎng)絡(luò)中,不僅保證了圖像信息的完整性,還可以增大卷積層的感受野范圍,從而保證檢測精確度。卷積核大小為3×3、擴張率為2的空洞卷積操作如圖5所示,在一個7×7的區(qū)域中,其中的9個點與3×3的卷積核進行卷積操作,其余的點包含的參數(shù)設(shè)置為0,卷積之后的感受野大小為Fdilation=[2(dilation/2)+2-1]×[2(dilation/2)+2-1],其中dilation表示擴張率,當(dāng)dilation=2時,F(xiàn)大小為7×7。
Figure 5 Dilated convolution operation圖5 空洞卷積操作
層級特征融合是對空洞卷積層的每一個卷積單元的輸出進行依次求和,并將每個求和后的結(jié)果通過連接操作得到最后的輸出,可以在不增加網(wǎng)絡(luò)復(fù)雜度的同時擴張學(xué)習(xí)參數(shù),加強網(wǎng)絡(luò)連續(xù)性。層級特征融合結(jié)構(gòu)如圖6所示。其中nk×nk為空洞卷積核的感受野,nk=2k-1(h-1)+1,k=1,2,…,h。
Figure 6 Hierarchical feature fusion圖6 層級特征融合
DH-MobileNet的深度可分離卷積結(jié)構(gòu)只需要VGG16網(wǎng)絡(luò)參數(shù)的1/34就可以在分類任務(wù)中達(dá)到相同的分類精確度,并且可以通過降維等運算得到與標(biāo)準(zhǔn)卷積相同的輸出,從而能夠減少計算量,提升訓(xùn)練的效果。DH-MobileNet網(wǎng)絡(luò)模型的結(jié)構(gòu)如圖7所示。
Figure 7 Structure of DH-MobileNet圖7 DH-MobileNet網(wǎng)絡(luò)模型結(jié)構(gòu)圖
圖7中,Dilated 表示空洞卷積,S表示步長,R表示擴張率,HFF表示層級特征融合,Conv-Dw-Pw代表深度可分離卷積結(jié)構(gòu)。
由于SSD網(wǎng)絡(luò)模型中后續(xù)的卷積層忽視了層與層之間的連接關(guān)系,從而導(dǎo)致對小目標(biāo)的檢測較差。引入反向殘差結(jié)構(gòu)[22]可以減少學(xué)習(xí)過程中非線性變換在低維度下造成的信息損失。為了避免下采樣過程中出現(xiàn)特征信息丟失的情況,本文利用空洞卷積取代反向殘差結(jié)構(gòu)中的下采樣操作,并將激活函數(shù)ReLU替換為性能更好的ReLU6,ReLU6激活函數(shù)可以表示為:Y=min(max(X,0),6),式中Y為ReLU6的輸出,X為特征圖中每個像素的值。采用批處理規(guī)范化算法[23]進行規(guī)范化,BN算法支持?jǐn)?shù)據(jù)分布自動調(diào)整并通過設(shè)置2個學(xué)習(xí)參數(shù)來防止梯度消失和避免復(fù)雜變量的調(diào)整。加入空洞卷積后反向殘差結(jié)構(gòu)如圖8所示。
Figure 8 Reverse residual structure before and after improvement圖8 改進前后的反向殘差結(jié)構(gòu)圖
本文實驗使用的計算機的配置為:操作系統(tǒng)是Windows 10,CPU型號是Intel(R)Core(TM) i7-8750H,CPU的頻率為2.20 GHz,內(nèi)存為8.0 GB,顯卡(GPU)的型號為是GeForce GTX 1060,在以上硬件基礎(chǔ)上搭建TensorFlow運行環(huán)境。
在訓(xùn)練模型的過程中首先對訓(xùn)練集進行訓(xùn)練,并采用非極大值抑制算法[24]消除舍棄的小于閾值的檢測框。經(jīng)過迭代和調(diào)整參數(shù)設(shè)置使模型具有更好的性能,之后使用本文實驗數(shù)據(jù)集的測試集對模型進行精確度、檢測速度和收斂速度的性能測試。
工件表面缺陷類型一般由專業(yè)工程師根據(jù)工件具體情況來定義,本文實驗選取3種常見的缺陷(碎屑、剝落、梨溝)進行檢測,如圖9所示,圖9a為碎屑缺陷,圖9b為剝落缺陷,圖9c為梨溝缺陷。由于目前SEM圖像分類領(lǐng)域公開的數(shù)據(jù)集較少,本文在滿足樣本數(shù)量的同時充分考慮樣本的規(guī)范性因素,通過SEM采集含有碎屑、剝落、梨溝3種缺陷的圖像一共3 291幅。
Figure 9 Workpiece defect types圖9 工件缺陷種類
將采集的缺陷圖像進行數(shù)據(jù)擴展并建立數(shù)據(jù)集,主要的數(shù)據(jù)擴展操作為旋轉(zhuǎn)、水平遷移、垂直遷移和縮放4種方式,數(shù)據(jù)擴展的具體實現(xiàn)方法如表1所示。
Table 1 Data expansion methods表1 數(shù)據(jù)擴展方法
通過表1數(shù)據(jù)擴充的實現(xiàn)方法,對數(shù)據(jù)集進行了擴充。將擴展得到的數(shù)據(jù)集的80%作為訓(xùn)練集,20%作為測試集,然后利用labellmg軟件進行標(biāo)注,壓縮為300×300的圖像,作為訓(xùn)練模型的輸入。
4.3.1 收斂速度分析
將本文提出的DH-MobileNet-SSD網(wǎng)絡(luò)模型與Faster R-CNN、SSD和YOLO 3種網(wǎng)絡(luò)模型在相同數(shù)據(jù)集上進行對比實驗??紤]到實際應(yīng)用中的硬件條件,過高的訓(xùn)練次數(shù)不具有太大意義,并且模型迭代3.6萬次后損失值已經(jīng)趨于穩(wěn)定,所以每種模型選擇迭代3.6萬次。訓(xùn)練過程中的損失函數(shù)曲線如圖10所示。
Figure 10 Loss function curves圖10 損失函數(shù)曲線
從圖10可以看出,在數(shù)據(jù)集訓(xùn)練過程中,各網(wǎng)絡(luò)模型的損失值都隨著迭代次數(shù)的增加不斷收斂,在迭代3萬次后,各網(wǎng)絡(luò)模型損失值都趨于穩(wěn)定。其中改進后的SSD網(wǎng)絡(luò)模型的收斂速度比其它3種網(wǎng)絡(luò)模型的更快。
4.3.2 綜合性能評估
精確度(Precision)、平均準(zhǔn)確率AP(Average Precision)和平均準(zhǔn)確率均值mAP(mean Average Precision)是衡量目標(biāo)檢測模型性能的常用指標(biāo),其中精確度是指缺陷類型在被判斷為準(zhǔn)確的圖像中,真正判斷準(zhǔn)確的缺陷類型的比例;平均準(zhǔn)確率是指精確度的平均值,反映了每種缺陷的平均檢測精確度;平均準(zhǔn)確率均值表示了3種類別缺陷的平均準(zhǔn)確度,反映了該模型對整個數(shù)據(jù)集的檢測效果。3種常用指標(biāo)的計算公式如式(7)~式(9)所示:
(7)
(8)
(9)
利用訓(xùn)練好的網(wǎng)絡(luò)模型對測試集進行檢測。測試集圖像包含3種不同類型的缺陷樣本,每種樣本都有40幅不同的圖像,對3種缺陷樣本的檢測精確度結(jié)果如表2所示。從檢測結(jié)果可以看出,在3種缺陷中,碎屑的檢測精確度較高,但遺漏數(shù)量高于其他2種網(wǎng)絡(luò)模型的。剝落和梨溝2類缺陷都仍存在少數(shù)遺漏和錯檢的情況??傮w可得,改進后的SSD網(wǎng)絡(luò)模型對這3種缺陷的檢測精確度較高,達(dá)到了85.7%。
Table 2 Precision of three defectes表2 3種缺陷檢測精確度
在相同的迭代步數(shù)下,改進后的SSD網(wǎng)絡(luò)模型與Faster-RCNN、SSD和YOLO 3種網(wǎng)絡(luò)模型的AP值如圖 11所示。
Figure 11 AP detection results of different network models on test set圖11 不同網(wǎng)絡(luò)模型在測試集上的AP檢測結(jié)果
圖11表明,改進后的SSD網(wǎng)絡(luò)模型的AP值遠(yuǎn)遠(yuǎn)高于Faster R-CNN、SSD和YOLO網(wǎng)絡(luò)模型的,進一步驗證了所提網(wǎng)絡(luò)模型在工件表面缺陷檢測中具有更好的效果。
同樣在相同訓(xùn)練步數(shù)和相同訓(xùn)練集的前提下,將本文所提網(wǎng)絡(luò)模型與Faster-RCNN、SSD和YOLO網(wǎng)絡(luò)模型在mAP和平均檢測時間上進行了對比,結(jié)果如表3所示。
Table 3 Comparison of defect detection models表3 缺陷檢測模型對比
從表3可以看出,本文所提網(wǎng)絡(luò)模型的mAP是84.12%,F(xiàn)aster R-CNN網(wǎng)絡(luò)模型的是79.07%,YOLO網(wǎng)絡(luò)模型的是82.44%,SSD網(wǎng)絡(luò)模型的是81.62%,表明本文網(wǎng)絡(luò)模型的準(zhǔn)確率更高。從檢測速度分析,本文網(wǎng)絡(luò)模型的平均檢測時間是0.132 s,低于其他3種網(wǎng)絡(luò)模型的,表明本網(wǎng)絡(luò)模型更節(jié)約時間。
任選一種缺陷(本次實驗以碎屑為例),利用4種網(wǎng)絡(luò)模型對數(shù)據(jù)集中的缺陷進行檢測,檢測的結(jié)果圖如圖12所示,圖12a為Faster R-CNN網(wǎng)絡(luò)模型的檢測結(jié)果,圖12b為YOLO網(wǎng)絡(luò)模型的檢測結(jié)果,圖12c為SSD(原始)網(wǎng)絡(luò)模型的檢測結(jié)果,圖12d為本文DH-MobileNet-SSD網(wǎng)絡(luò)模型的檢測結(jié)果。從檢測圖可知,改進后的SSD網(wǎng)絡(luò)模型的檢測精確度比較高,并且檢測框所在的區(qū)域與缺陷區(qū)域較吻合。
Figure 12 Detection results comparison of different network models圖12 不同網(wǎng)絡(luò)模型的檢測結(jié)果對比圖
利用DH-MobileNet-SSD網(wǎng)絡(luò)模型對梨溝、碎屑、剝落3種缺陷分別進行檢測,檢測結(jié)果如圖13所示,圖13a為梨溝缺陷,圖13b為碎屑缺陷,圖13c為剝落缺陷。從檢測圖中可以看出,3種缺陷都能被檢測到,且精確度較高。因此,采取DH-MobileNet-SSD網(wǎng)絡(luò)模型在此數(shù)據(jù)集上的檢測效果較好,具有良好的穩(wěn)定性。
Figure 13 Three defects detection results圖13 3種缺陷檢測結(jié)果圖
為了更好地檢測機械工件表面的缺陷,本文首先通過SEM得到機械工件表面的掃描圖像并通過數(shù)據(jù)擴展提高了算法的魯棒性。然后針對3種高頻缺陷(碎屑、剝落和梨溝)提出基于SSD網(wǎng)絡(luò)模型的工件表面缺陷檢測算法,該算法利用深度卷積特征,有效避免了傳統(tǒng)目標(biāo)檢測模型對手工特征的依賴問題。通過采用改進后的DH-MobileNet代替原始SSD網(wǎng)絡(luò)中的VGG16進行特征提取,輔助層網(wǎng)絡(luò)引入反向殘差結(jié)構(gòu)進行卷積運算,利用空洞卷積取代下采樣操作來避免信息丟失,并加入層級特征融合來保證數(shù)據(jù)操作的連續(xù)性和對小物體的準(zhǔn)確識別,從而可以利用多特征信息并且減少運算量,進而提高了檢測效率。實驗表明,本文提出的算法在工件缺陷檢測上的平均精確度達(dá)到84.12%,高于相同條件下的Faster R-CNN、YOLO和原始SSD的。但是,DH-MobileNet-SSD網(wǎng)絡(luò)模型并不是非常完善,精確度有待進一步提高,性能仍需改進,這是后期需要研究的方向。