金閎奇,陳新度 ,2,吳 磊,2
1.廣東工業(yè)大學(xué) 機(jī)電工程學(xué)院,廣州 510006
2.廣東工業(yè)大學(xué) 廣東省計(jì)算機(jī)集成制造重點(diǎn)實(shí)驗(yàn)室,廣州 510006
表面缺陷檢測一直以來都是工業(yè)制造中的重要環(huán)節(jié),傳統(tǒng)的檢測方法往往需要大量的人力[1]。而隨著機(jī)器視覺技術(shù)的不斷發(fā)展,大量的研究表明機(jī)器視覺自動(dòng)檢測技術(shù)能在一定程度上取代人工,從而降低企業(yè)的生產(chǎn)成本,提高生產(chǎn)效率[2-5]。
最近幾年有越來越多的學(xué)者提出基于卷積網(wǎng)絡(luò)的缺陷檢測方法,Ren 等人[6]提出基于卷積網(wǎng)絡(luò)的缺陷自動(dòng)檢測框架。后續(xù)的缺陷檢測研究開始朝著卷積網(wǎng)絡(luò)層數(shù)越來越深的方向發(fā)展[7-10]。而隨著網(wǎng)絡(luò)深度的增加,模型的檢測效果并沒有變得更好,反而會(huì)出現(xiàn)退化現(xiàn)象。這其中有學(xué)者分析認(rèn)為是更深的網(wǎng)絡(luò)會(huì)伴隨梯度的消失從而導(dǎo)致網(wǎng)絡(luò)無法正常收斂[11]。也有研究者參考集成學(xué)習(xí)[12]、數(shù)據(jù)增強(qiáng)[13]、批歸一化[14]、自適應(yīng)加權(quán)池化[15]等方法提出了改進(jìn)的卷積網(wǎng)絡(luò)模型,已經(jīng)在一定程度上緩解了這個(gè)問題,但依然不足以滿足要求。受到殘差和恒等映射思想的啟發(fā),He等人[16]提出了殘差網(wǎng)絡(luò)ResNet,通過將有參卷積層用來學(xué)習(xí)輸入和輸出之間的殘差,實(shí)驗(yàn)證明殘差網(wǎng)絡(luò)能夠在深度增加的情況下維持穩(wěn)定的準(zhǔn)確率增長,有效地避免了隨著卷積網(wǎng)絡(luò)中層數(shù)增加,模型準(zhǔn)確度不升反降的問題。劉鑫童等人[17]將中值濾波和殘差網(wǎng)絡(luò)相結(jié)合,通過實(shí)驗(yàn)驗(yàn)證了使用跨層連接和殘差學(xué)習(xí)能有效降低網(wǎng)絡(luò)訓(xùn)練難度,提高檢測準(zhǔn)確率。關(guān)日釗等人[18]通過對(duì)殘差網(wǎng)絡(luò)中的特征提取網(wǎng)絡(luò)進(jìn)行混合尺度感受野融合處理,彌補(bǔ)了原網(wǎng)絡(luò)對(duì)微小裂痕敏感度不高的缺點(diǎn)。
缺陷檢測是一類極其復(fù)雜的模式識(shí)別問題,傳統(tǒng)的基于單個(gè)分類器的方法往往難以獲得較好的檢測效果,而現(xiàn)如今大量的理論和實(shí)驗(yàn)已經(jīng)證明多個(gè)分類器的集成往往能比單個(gè)分類器獲得更好的準(zhǔn)確率。潘兵等人[19]將級(jí)聯(lián)方法和卷積網(wǎng)絡(luò)相結(jié)合,提出了雙網(wǎng)絡(luò)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì),其實(shí)驗(yàn)表明級(jí)聯(lián)的方法能使卷積網(wǎng)絡(luò)提取出更具辨識(shí)性的特征。李亞可等人[20]提出了級(jí)聯(lián)的卷積網(wǎng)絡(luò),一定程度上解決了單一網(wǎng)絡(luò)去提取特征引起的算法泛化能力變?nèi)醯膯栴}。
本文在ResNet的基礎(chǔ)上提出級(jí)聯(lián)殘差網(wǎng)絡(luò)MTResNet,采用B個(gè)殘差網(wǎng)絡(luò)的級(jí)聯(lián)(Multiple)來代替最優(yōu)殘差網(wǎng)絡(luò)的求解,即 MTResNet 將B個(gè) ResNet 的 SoftMax 輸出加權(quán)疊加在一起,然后作為最終分類結(jié)果輸出,詳細(xì)的結(jié)構(gòu)定義在2.4 節(jié)給出。對(duì)于每個(gè)殘差網(wǎng)絡(luò)ResNet,其核心ResBlock結(jié)構(gòu)設(shè)計(jì)如圖1所示,ResNet各層級(jí)參數(shù)配置如表1 所示。本文實(shí)驗(yàn)中對(duì)比的傳統(tǒng)CNN 方法的網(wǎng)絡(luò)模型為表1中不包含ResBlock的ResNet。ResBlock的輸入輸出的尺寸和維度都是一致的,因此網(wǎng)絡(luò)模型去掉ResBlock不會(huì)影響網(wǎng)絡(luò)的前后層連接關(guān)系。
本文提出的級(jí)聯(lián)殘差網(wǎng)絡(luò)同其他基于深度學(xué)習(xí)的目標(biāo)檢測方法都會(huì)遇到小樣本問題。小樣本問題就是說在實(shí)際的工業(yè)生產(chǎn)中,缺陷樣本的類別多但是數(shù)量少,且同類缺陷差異較大,這就會(huì)造成直接應(yīng)用深度學(xué)習(xí)方法進(jìn)行缺陷分類的準(zhǔn)確率低且訓(xùn)練損失函數(shù)不容易收斂。小樣本問題意味著深度學(xué)習(xí)方法需要的底層數(shù)據(jù)實(shí)際上應(yīng)該很多。
表1 ResNet各層級(jí)參數(shù)
朱玉蓮[21]使用半隨機(jī)子空間的LDA 方法驗(yàn)證了隨機(jī)子空間方法配合其他方法能夠在一定程度上解決小樣本問題。Klare等人[22]使用原型隨機(jī)子空間表明了隨機(jī)子空間方法能夠提高樣本的特征表示。張永祥等人[23]采用協(xié)方差驅(qū)動(dòng)的隨機(jī)子空間方法用于解決模態(tài)識(shí)別問題,且從原理上證明了隨機(jī)子空間方法的有效性。
本文引入RSM方法,將輸入圖像分為N個(gè)不相互重疊的子圖像,并構(gòu)建出B個(gè)隨機(jī)子空間。每一個(gè)子空間都包含α?N個(gè)子圖像,0 ≤α≤1 。用一個(gè)隨機(jī)索引向量kb∈Zα?N生成隨機(jī)子空間b(b=1,2,…,B),kb中的每一個(gè)元素都不重復(fù),且元素值在1和N之間。圖2展示了在原圖像上生成的3個(gè)隨機(jī)子空間。
圖2 原圖和隨機(jī)子空間的3個(gè)實(shí)例
原圖像I依據(jù)隨機(jī)索引向量kb索引得到的α?N個(gè)子圖像,最后拼接生成隨機(jī)子空間f(I,kb),如公式(1)所示:
假設(shè)訓(xùn)練樣本集的某個(gè)類別下有M∈Rm×n個(gè)樣本。在隨機(jī)子空間方法中,每個(gè)子圖像的大小為d1×d2,將樣本數(shù)量由M擴(kuò)展為M×B,樣本的維度由m×n變小為d1×d2×α?N,樣本維數(shù)小于原空間而訓(xùn)練樣本數(shù)增加。
缺陷圖像會(huì)被三個(gè)不同的圖像濾波器過濾,分別為MLBP[24-25]、DoG[26]、Gauss[27]。這些濾波器旨在幫助補(bǔ)償同類圖像之間的強(qiáng)度變化(例如不均勻的光照變化)和紋理變化,每個(gè)圖像濾波器的效果示例如圖3所示。這兩個(gè)方面對(duì)于隨機(jī)子空間(RSM)框架特別重要,對(duì)于殘差神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程需要大量的樣本,同時(shí)希望訓(xùn)練的樣本在同類之間的差異盡可能小,不同類別的差異盡可能大,因此在樣本上執(zhí)行三個(gè)不同的圖像濾波器能有效避免小樣本事件的發(fā)生,同時(shí)增加圖像的特征表現(xiàn)能力。
圖3 三個(gè)濾波器效果
基于RSM的級(jí)聯(lián)殘差網(wǎng)絡(luò)模型就是在每個(gè)隨機(jī)子空間上構(gòu)建一個(gè)殘差網(wǎng)絡(luò)分類器,最后采用級(jí)聯(lián)的方式將各ResNet的結(jié)果進(jìn)行融合以獲得最后的決策。整個(gè)模型的構(gòu)建如圖4所示。
本文設(shè)計(jì)的RSM-MTResNet 模型對(duì)缺陷數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)驗(yàn)證,主要流程如下:
(1)利用圖像濾波器(MLBP、DoG、Gauss)對(duì)原始缺陷數(shù)據(jù)集進(jìn)行濾波增強(qiáng)。
(2)將圖像增強(qiáng)后的數(shù)據(jù)集作為RSM-MTResNet的訓(xùn)練輸入。
(3)RSM方法隨機(jī)生成B個(gè)隨機(jī)子空間,并初始化MTResNet。
(4)MTResNet 將訓(xùn)練好的B個(gè)高階特征融合在一起后通過Softmax分類器檢測分類。
本文采用了一個(gè)公共的缺陷數(shù)據(jù)集,NEU 表面缺陷數(shù)據(jù)集[28]。該數(shù)據(jù)集包含了熱軋帶鋼表面缺陷的六種類型,包括裂紋(Cr)、夾雜物(In)、斑塊(Pa)、點(diǎn)蝕表面(PS)、鐵皮壓入(RS)和劃痕(Sc)。每一類缺陷有300個(gè)樣本,缺陷圖像的例子如圖5所示。
圖5 NEU表面缺陷圖像示例
在缺陷檢測結(jié)果中,可將缺陷測試樣本集根據(jù)其真實(shí)類別與預(yù)測類別的組合劃分為真陽性(true positive)、假陽性(false positive)、真陰性(true negative)、假陰性(false negative)四種情形,令TP、FP、TN、FN分別表示其對(duì)應(yīng)的樣本數(shù)。
本文采用分類準(zhǔn)確率(Accuracy)、查準(zhǔn)率(Precision)、查全率(Recall)和F1 值作為實(shí)驗(yàn)評(píng)價(jià)標(biāo)準(zhǔn)。分類準(zhǔn)確率的計(jì)算公式為:
查準(zhǔn)率和查全率越高,越能體現(xiàn)缺陷類別檢測準(zhǔn)確的數(shù)量越多,模型對(duì)于缺陷特征的提取和篩選能力越強(qiáng)。查準(zhǔn)率和查全率計(jì)算公式為:
圖4 RSM-MTResNet模型結(jié)構(gòu)
查準(zhǔn)率和查全率對(duì)于模型的評(píng)價(jià)都非常重要,而F1值定義為查準(zhǔn)率和查全率的調(diào)和平均:
本文構(gòu)建的RSM-MTResNet 模型訓(xùn)練方法采用的是有監(jiān)督訓(xùn)練方式,數(shù)據(jù)集總共1 800張缺陷圖片,將其隨機(jī)打亂后,按照1∶2∶3 的比例分為訓(xùn)練集、測試集和驗(yàn)證集。訓(xùn)練集一共300 張圖片,每個(gè)類別50 張,屬于小樣本訓(xùn)練。
RSM-MTResNet 方法中濾波器參數(shù)、RSM 參數(shù)和網(wǎng)絡(luò)各層級(jí)參數(shù)設(shè)置如下:
(1)對(duì)于濾波器參數(shù)的設(shè)置,本文引入了三種濾波器,分別為MLBP、DoG 和Gauss 濾波器。其中,MLBP濾波器采用8個(gè)采樣點(diǎn),3×3鄰域;DoG濾波器設(shè)置標(biāo)準(zhǔn)差為 1 和 2,15×15 鄰域;Gauss 濾波器采用標(biāo)準(zhǔn)差為 2,3×3鄰域。
(2)對(duì)于RSM方法,設(shè)置N為16,即將輸入圖像分為16個(gè)不相互重疊的子圖像。設(shè)置B=30,即構(gòu)建出30個(gè)隨機(jī)子空間。隨機(jī)索引向量kb∈Zα?N,其中0 ≤α≤1。
(3)對(duì)于網(wǎng)絡(luò)各層級(jí)參數(shù)設(shè)置,學(xué)習(xí)速率(learning rate)為0.002,學(xué)習(xí)策略(learning policy)為step,小批量訓(xùn)練大?。╞atch size)為32,最大迭代次數(shù)為1 000。
如圖6 給出的是RSM-MTResNet 方法在驗(yàn)證集上的分類準(zhǔn)確率曲線和損失曲線。從圖6可以看出,隨著迭代次數(shù)的增加,模型的分類準(zhǔn)確率不斷上升,損失值不斷下降,模型達(dá)到很好的收斂效果,并且在迭代次數(shù)400次達(dá)到99.8%左右,之后有微小的上下浮動(dòng),但不影響整體的收斂趨勢。
圖6 分類準(zhǔn)確率曲線和損失曲線
為了驗(yàn)證本文方法所提出的RSM-MTResNet,本文通過在測試集上進(jìn)行實(shí)驗(yàn),對(duì)比傳統(tǒng)CNN方法,同時(shí)也驗(yàn)證本文引入的級(jí)聯(lián)(MT)方法、隨機(jī)子空間(RSM)方法以及多圖像濾波(Filters)方法對(duì)于分類準(zhǔn)確率的提升效果。
從表2中可以看出與傳統(tǒng)的CNN方法相比,當(dāng)基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)變?yōu)镽esNet后,準(zhǔn)確率由83.01%提高到92.48%,提高了9.47個(gè)百分點(diǎn);在ResNet的基礎(chǔ)上引入的MT方法、RSM方法以及Fileters 方法分別將分類準(zhǔn)確率提升了1.5、2.5、1.18個(gè)百分點(diǎn);最終,RSM-MTResNet的分類準(zhǔn)確率為97.66%,比傳統(tǒng)CNN方法的準(zhǔn)確率高了14.65個(gè)百分點(diǎn),這表明本文方法增強(qiáng)了網(wǎng)絡(luò)的特征提取能力和識(shí)別能力。
表2 對(duì)比CNN分類準(zhǔn)確率
實(shí)驗(yàn)使用混淆矩陣表示模型在測試集上的預(yù)測分類結(jié)果和實(shí)際分類情況,并且計(jì)算每個(gè)類別的查準(zhǔn)率(Precision)和查全率(Recall)。表3為通過傳統(tǒng)CNN方法得出的混淆矩陣,表4 為通過本文提出的RSMMTResNet 方法得出的混淆矩陣。對(duì)比表3 和表4 可以發(fā)現(xiàn),CNN方法在個(gè)別類別上表現(xiàn)效果很差,比如夾雜物(In)類別上的查準(zhǔn)率為60.6%,查全率為74.1%,而RSM-MTResNet 方法在夾雜物(In)類別上的查準(zhǔn)率為92.9%,查全率為97.2%,相比CNN方法提高了32.3個(gè)百分點(diǎn)和23.1個(gè)百分點(diǎn)。
表3 CNN混淆矩陣
表4 RSM-MTResNet混淆矩陣
表5 為 CNN 方法和 RSM-MTResNet 方法對(duì)于每個(gè)類別的F1 值,因?yàn)镕1 值為查準(zhǔn)率和查全率的調(diào)和平均值,所以能反映出模型總體水平。從表5 中可以看出,RSM-MTResNet 方法對(duì)每個(gè)缺陷類別的F1 值均有提高,提高的范圍在9.5~28.4個(gè)百分點(diǎn)之間。
表5 F1值對(duì)比結(jié)果 %
綜上所述,可以看出RSM-MTResNet方法不論是在整體的分類準(zhǔn)確率上還是在單個(gè)類別的查準(zhǔn)率和查全率上均優(yōu)于CNN 方法,尤其提高了較難識(shí)別的夾雜物(In)的分類準(zhǔn)確率。
針對(duì)缺陷數(shù)據(jù)集中的小樣本問題,本文提出了一種結(jié)合隨機(jī)子空間(RSM)和級(jí)聯(lián)殘差網(wǎng)絡(luò)(MTResNet)的缺陷檢測方法。方法中采用單個(gè)樣本分解出多個(gè)隨機(jī)子空間,然后將其輸入至MTResNet 模型進(jìn)行訓(xùn)練,并融合了多個(gè)分類器的分類結(jié)果,理論上RSM 增加了單樣本的數(shù)量,而MTResNet 提升了網(wǎng)絡(luò)的特征提取能力。從實(shí)驗(yàn)可以看出,相對(duì)于現(xiàn)有的CNN方法,本文提出的RSM-MTResNet是更魯棒、更有效的。但是本文方法所引入的RSM 方法是基于子空間方法的,所以出現(xiàn)如何選取合適的子塊大小的問題,有可能通過聚類或者優(yōu)化搜索等方法在一定程度上克服這個(gè)問題。