熊紅林,樊重俊+,趙 珊,余 瑩
(1.上海理工大學(xué) 管理學(xué)院,上海 200093; 2.IBM中國上海分公司,上海 200002)
隨著計(jì)算機(jī)視覺技術(shù)的快速發(fā)展,一些基于機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的識別與檢測方法[1-3,18-20,22-23]被不斷提出,并被應(yīng)用到各種工業(yè)產(chǎn)品缺陷檢測[23]當(dāng)中。例如,建立深度置信網(wǎng)絡(luò)(Deep Belief Networks, DBN)對太陽能電池片表面的缺陷進(jìn)行檢測[3];運(yùn)用深度學(xué)習(xí)的特征匹配方法對鑄件缺陷圖像進(jìn)行動態(tài)檢驗(yàn)[5];Acciani等[6]提取測試圖像中感興趣區(qū)域的特征,然后構(gòu)建多層神經(jīng)網(wǎng)絡(luò)進(jìn)行缺陷檢測。ZHI Yangyu等[7]提出一種可重復(fù)使用的高效率兩階段深度學(xué)習(xí)的工業(yè)環(huán)境下的表面缺陷檢測方法。Feng等[8]提出一種深度主動的學(xué)習(xí)系統(tǒng)來最大化模型識別性能。Ren等[9]提出一種基于深度學(xué)習(xí)的通用表面缺陷檢測方法,該方法的創(chuàng)新點(diǎn)在于只需要很小的數(shù)據(jù)集??傊?,深度學(xué)習(xí)技術(shù)在不同行業(yè)的應(yīng)用越來越廣泛。
蓋板玻璃普遍應(yīng)用在具有顯示性能和觸摸性能的各種電子產(chǎn)品上,比如相機(jī)、觸摸屏手機(jī)、電腦和GPS等。蓋板玻璃的缺陷檢測是其中不可或缺的流程步驟,玻璃缺陷檢測實(shí)質(zhì)上是一個識別分類問題,而目前針對計(jì)算機(jī)視覺技術(shù)在玻璃表面缺陷檢測的研究并不是很多。比如利用傳統(tǒng)Kirsch算子確定邊緣方向,然后結(jié)合Canny算子進(jìn)行表面缺陷檢測,根據(jù)缺陷的幾何特征來檢測是否具有缺陷[10];利用了形態(tài)學(xué)處理方法對玻璃屏幕表面的劃痕缺陷進(jìn)行判斷[11];基于Gabor小波的表面缺陷識別算法[12],實(shí)現(xiàn)對鑄坯表面的細(xì)裂紋和角裂紋的檢測;利用板坯上產(chǎn)生比較深的縱橫裂紋的機(jī)理特征,實(shí)現(xiàn)對深裂紋缺陷的檢測[13];對表面圖像進(jìn)行提取特征和識別分類,將裂紋可以從水痕、渣痕、氧化鐵皮和振痕中識別出來[14];采用經(jīng)典邊緣檢測算子中的算子識別出可疑缺
陷區(qū)域,通過邊緣特征點(diǎn)的搜索算法來提取出可疑缺陷區(qū)域圖片,再通過高維特征向量結(jié)合支持向量機(jī)(Support Vector Machine, SVM)實(shí)現(xiàn)連鑄坯圖像的缺陷檢測[15];其他基于圖像比較的缺陷檢測方法如圖像減除法[16]、模板匹配法及相位譜匹配法[17]。所有這些方法雖然也取得很好的結(jié)果,但偽缺陷被誤判成缺陷的情況較為嚴(yán)重。
總之,近幾年非常優(yōu)秀的目標(biāo)檢測網(wǎng)絡(luò)在產(chǎn)品質(zhì)量檢測,尤其是玻璃表面缺陷檢測上的應(yīng)用研究[23-26]較少,本文基于傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò),加入圖像高斯差分金字塔分解,設(shè)計(jì)了多尺度卷積神經(jīng)網(wǎng)絡(luò)模型MCNN,并將該模型應(yīng)用到玻璃表面多種類別的缺陷檢測實(shí)踐中,實(shí)現(xiàn)自動標(biāo)記缺陷位置并識別缺陷類別,通過某廠玻璃產(chǎn)品表面缺陷檢測實(shí)驗(yàn)驗(yàn)證該模型與方法的可行性與有效性。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是首個被成功訓(xùn)練的深層神經(jīng)網(wǎng)絡(luò),屬于前饋神經(jīng)網(wǎng)絡(luò)。一般的卷積神經(jīng)網(wǎng)絡(luò)基本架構(gòu)(如圖1)中包含輸入層、卷積層、池化層、全連接層、輸出層。
如圖1所示為具有8個帶權(quán)層的卷積神經(jīng)網(wǎng)絡(luò),其中包含:卷積層5層,卷積層實(shí)質(zhì)上就是特征的提取層,用來提取該局部感受野內(nèi)的特征;全連接層3層,一般情況下與全連接層相連的層,它們之間的神經(jīng)元節(jié)點(diǎn)會相互連接,而同一層的神經(jīng)元節(jié)點(diǎn)間沒有連接;輸入層即原始數(shù)據(jù)的網(wǎng)絡(luò)入口,若輸入的是圖像信息,輸入的原始數(shù)據(jù)就是像素值;池化層是為了避免直接使用這些圖像特征進(jìn)行分類計(jì)算量太大而利用非線性的下采樣方法;輸出層是根據(jù)具體的應(yīng)用來確定輸出層的神經(jīng)元節(jié)點(diǎn)數(shù)目,若卷積神經(jīng)網(wǎng)絡(luò)用于分類任務(wù),則輸出層可看作為分類器。
卷積神經(jīng)網(wǎng)絡(luò)通過局部感受野、權(quán)重共享和降采樣3個特性來使得其具有圖像識別的位移、縮放和扭曲不變性[18]。
(1)局部感受野 實(shí)質(zhì)上就是輸入神經(jīng)元中與隱層中每個神經(jīng)元進(jìn)行相連的區(qū)域。例如:將輸入圖像像素看作為16×16的方形排列的神經(jīng)元,其中5×5的區(qū)域(25個輸入像素),對應(yīng)于一個特定的隱藏神經(jīng)元,此5×5的區(qū)域?yàn)榫植扛惺芤埃植扛惺芤懊看我苿硬介L為一個像素(如圖2)。
(2)權(quán)重共享(卷積核、濾波器) 通過局部感受野連接到每個隱藏層神經(jīng)元都具有該區(qū)域的權(quán)值和一個偏置,權(quán)值共享能夠減少卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的參數(shù)。也就是說,對于第j,k個隱性神經(jīng)元的輸出為:
(1)
式中:f為激活函數(shù),wn,m為5×5的權(quán)重共享數(shù)組,aj+n,k+m表示位置在j+n,k+m的輸入激活值,b為共享的偏置值。
(3)降采樣 卷積神經(jīng)網(wǎng)絡(luò)采用在卷積層后面連接降采樣層(池化層)的方式來解決此問題,降采樣可以簡化從卷積層輸出的信息,降低特征的分辨率。
圖像經(jīng)過高斯差分金字塔(Difference of Gaussian, DOG)分解可生成N個不同分辨率圖像,高斯差分金字塔由多組金字塔構(gòu)成,其中每組金字塔包含若干層,高斯差分金字塔由高斯金字塔基礎(chǔ)上構(gòu)建的層階構(gòu)成,高斯差分金字塔具體分解過程如下:
步驟1初始化i=0;
步驟2標(biāo)準(zhǔn)圖像I(x,y)上采樣得到高斯金字塔的第一組的第一層圖像g0,0;
步驟3初始化j=0,x=0;
步驟4高斯核Gx與圖像gi,0進(jìn)行卷積:
(2)
gi,j+1(x,y)=gi,j(x,y)?Gx(x,y,σx)。
(3)
其中σx為平滑參數(shù)。
步驟5將高斯圖像gi,j(x,y)與高斯圖像gi,j+1(x,y)進(jìn)行差分得到高斯差分圖像di,x:
di,x(x,y)=gi,j(x,y)-gi,j+1(x,y)。
(4)
步驟6j=j+1,x=x+1,反復(fù)執(zhí)行步驟4和步驟5,當(dāng)j>n-1,x>n-2時,執(zhí)行步驟7;
步驟7對圖像gi,0進(jìn)行下采樣得到第i+1層的高斯圖像gi+1,0。當(dāng)i=i+1,轉(zhuǎn)至步驟3,當(dāng)滿足i>m-1時,分解過程結(jié)束。
通過對CNN結(jié)構(gòu)和DOG的理解,本文對兩者進(jìn)行結(jié)合,基于傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),采用多像素缺陷圖像進(jìn)行輸入,構(gòu)建了MCNN模型,如圖3所示。
本文設(shè)計(jì)的多尺度卷積神經(jīng)網(wǎng)絡(luò)MCNN模型共有9層,其中:卷積層(Conv)3層、池化層(pooling)3層、全連接層(Full-Connected)3層。該模型中的卷積層以及全連接層均采用的激活函數(shù)是修正線性神經(jīng)元(ReLU),相比雙曲正切(Tanh)和S型(Sigmoid)函數(shù),ReLU激活函數(shù)是一種非線性的非飽和函數(shù),在訓(xùn)練中,非飽和函數(shù)比飽和函數(shù)訓(xùn)練更快,且ReLU不但具有非線性的表達(dá)能力,而且擁有線性的性質(zhì),這使得在誤差反向傳播時,不會由于非線性而導(dǎo)致網(wǎng)絡(luò)局部最優(yōu),從而克服了Tanh和Sigmoid函數(shù)的梯度消失問題。
為避免過擬合問題,在網(wǎng)絡(luò)的后兩個全連接(FC)層進(jìn)行棄權(quán)(Dropout)操作[21],和L1,L2規(guī)范化不同,Dropout并不依賴對代價(jià)函數(shù)的修改,而是在Dropout中,改變了網(wǎng)絡(luò)本身。假設(shè)有一個訓(xùn)練數(shù)據(jù)x,和對應(yīng)的目標(biāo)輸出y,一般情況下通過在網(wǎng)絡(luò)中前向傳播x,然后進(jìn)行反向傳播來確定對梯度的貢獻(xiàn),然而使用Dropout操作(如圖4),本文從隨機(jī)(臨時)地刪除網(wǎng)絡(luò)中的一半隱藏神經(jīng)元開始,同時讓輸入層和輸出層的神經(jīng)元保持不變,在此之后前向傳播輸入x,通過修改后的網(wǎng)絡(luò),反向傳播結(jié)果,重復(fù)此過程。總體執(zhí)行過程為:首先重置Dropout的神經(jīng)元;然后選擇一個新的隨機(jī)的隱藏神經(jīng)元的子集進(jìn)行刪除;最后通過估計(jì)對一個不同的小批量數(shù)據(jù)的梯度后,再確定更新權(quán)重和偏置。
本文分別采用適合多分類問題的處理Softmax和SVM分類器。假設(shè)訓(xùn)練樣本為{(x1,y1),(x2,y2),…,(xk,yk)},因此,假設(shè)函數(shù)將要輸出6維向量來表示這6類的分類概率值,具體的假設(shè)函數(shù)hθ(x)為:
(5)
式中:x(i)表示輸入;y(i)表示輸出;p(y(i))=k|x(i),θ表示給定模型參數(shù)θ的情況下,已知輸入樣本y(i),估計(jì)y(i)屬于類別k的概率。
SVM可以將多維特征映射至高維的核空間,從而使得原本不可分的數(shù)據(jù)獲得新特征,更加有利于分類。它是一種依賴于核函數(shù)的機(jī)器學(xué)習(xí)分類方法,本文選用的實(shí)際工程實(shí)驗(yàn)中具有很好分類性能的徑向量基(RBF)核函數(shù)(其中選取的是默認(rèn)參數(shù)C=10,σ=0.038):
(6)
蓋板玻璃表面缺陷的種類及產(chǎn)生原因是各種各樣的。在嚴(yán)格的控制工藝流程中,盡可能地防止缺陷的產(chǎn)生。蓋板玻璃主要的化學(xué)成分有SiO2、CaO、Na2O等,蓋板玻璃的生產(chǎn)工藝流程包括:開料、CNC、拋光、鋼化、超聲波清洗、真空鍍膜、絲印等。圖5給出了蓋板玻璃常見的幾種缺陷(原始CCD采集圖像)。
在工廠實(shí)踐中,大部分的玻璃外觀缺陷都是經(jīng)過目視/黑白板/比對卡這幾種方式進(jìn)行檢測,表1所示為某工廠蓋板玻璃表面常見缺陷檢測內(nèi)容及標(biāo)準(zhǔn)。
表1 蓋板玻璃表面常見缺陷內(nèi)容及標(biāo)準(zhǔn)
續(xù)表1
針對蓋板玻璃常見缺陷內(nèi)容與標(biāo)準(zhǔn),本文利用構(gòu)建的多尺度卷積神經(jīng)網(wǎng)絡(luò)模型對玻璃表面缺陷檢測進(jìn)行實(shí)驗(yàn)驗(yàn)證,主要流程如下:
步驟1選擇Caffe深度學(xué)習(xí)的開源框架作為構(gòu)建多尺度卷積神經(jīng)網(wǎng)絡(luò)模型實(shí)驗(yàn)環(huán)境;
步驟2在構(gòu)建實(shí)驗(yàn)環(huán)境的同時,由CCD相機(jī)采集玻璃圖像數(shù)據(jù),相機(jī)內(nèi)所獲得的玻璃缺陷圖像進(jìn)行處理并將圖像顯示在顯示器上;
步驟3對相機(jī)內(nèi)所獲得的玻璃缺陷圖像進(jìn)行截取,將完整缺陷以及無缺陷圖像挑選出來,將檢測“缺陷圖像”歸一化處理,獲得的圖像尺寸為128×128,建立缺陷標(biāo)準(zhǔn)圖像數(shù)據(jù)集,形成實(shí)驗(yàn)樣本;
步驟4將樣本基于多尺度卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練和驗(yàn)證,并采用Softmax和SVM分類器進(jìn)行對比實(shí)驗(yàn),并標(biāo)簽化6類缺陷;
步驟5從標(biāo)準(zhǔn)樣本圖像數(shù)據(jù)集中每類隨機(jī)選取圖像成為測試樣本,對模型檢測玻璃缺陷圖片分類結(jié)果及準(zhǔn)確度進(jìn)行分析。
蓋板玻璃生產(chǎn)廠中缺陷圖像基于機(jī)器視覺技術(shù)采集,一般采用由CCD相機(jī)和圖像采集卡組成,通過CCD相機(jī)獲得玻璃圖像,然后進(jìn)行圖像數(shù)據(jù)的接收和傳輸,對相機(jī)內(nèi)所獲得的玻璃缺陷圖像進(jìn)行處理,將處理后的圖像顯示在顯示器上。本文所用數(shù)據(jù)集均通過此類圖像采集單元獲取,取自于專門生產(chǎn)蓋板玻璃的某玻璃工廠,從不同的生產(chǎn)批次中抽取2萬多張?jiān)紭颖緢D像。
不同光照強(qiáng)度、光照方向等條件下采集的玻璃表面缺陷圖像存在差距,因此,對原始圖像進(jìn)行歸一化預(yù)處理。本文采用128×128像素的滑動窗口對整幅CCD采集的玻璃缺陷圖像進(jìn)行截取,將完整缺陷以及無缺陷圖像挑選出來,建立玻璃表面缺陷標(biāo)準(zhǔn)圖像數(shù)據(jù)集,達(dá)到6萬多張標(biāo)準(zhǔn)樣本圖像。為了提高模型訓(xùn)練的質(zhì)量,本文通過旋轉(zhuǎn)方式人為地?cái)U(kuò)展了標(biāo)準(zhǔn)圖像數(shù)據(jù)集,總共達(dá)到12萬多張標(biāo)準(zhǔn)樣本圖像數(shù)據(jù)集,其中包含劃痕缺陷、裂縫缺陷、異色缺陷、漏光缺陷、氣泡缺陷、雜質(zhì)缺陷圖像(如圖7)。將獲得的標(biāo)準(zhǔn)樣本圖像數(shù)據(jù)集按一定的比例分成訓(xùn)練集、驗(yàn)證集與測試集3部分(如表2所示)。
表2 標(biāo)準(zhǔn)缺陷圖像數(shù)據(jù)集
數(shù)據(jù)集劃痕裂縫漏光氣泡異色雜質(zhì)總張數(shù)訓(xùn)練集13 00013 00013 00013 00013 00013 00078 000驗(yàn)證集6 5006 5006 5006 5006 5006 50039 000測試集1 0001 0001 0001 0001 0001 0006 000
本實(shí)驗(yàn)將對獲得的標(biāo)準(zhǔn)樣本圖像進(jìn)行多尺度像素的采樣,通過尺度不變特征變換算法(Scale-invariant feature transform, SIFT)獲得高斯差分金字塔圖像(如圖8),具體步驟見1.2節(jié)高斯差分金字塔分解節(jié)所述。本實(shí)驗(yàn)主要針對蓋板玻璃常見缺陷:劃痕、裂縫、異色、漏光、氣泡、雜質(zhì)這6種缺陷進(jìn)行識別檢測。
本文實(shí)驗(yàn)設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)模型MCNN基于Caffe深度學(xué)習(xí)的開源框架進(jìn)行,Caffe提供了用于訓(xùn)練、測試、微調(diào)和開發(fā)模型的完整工具包,并且模型與相應(yīng)優(yōu)化都是以文本形式而非代碼形式給出。
本文對多尺度卷積神經(jīng)網(wǎng)絡(luò)模型MCNN采用兩種不同的分類器(Softmax和SVM)進(jìn)行實(shí)驗(yàn)對比,兩者采用的模型訓(xùn)練步驟不同,下面給出兩者在MCNN模型訓(xùn)練測試時的步驟:
(1)基于MCNN+Softmax模型的蓋板玻璃表面缺陷檢測訓(xùn)練測試步驟如下:
步驟1采用128×128像素的滑動窗口對整幅CCD采集的玻璃缺陷圖像進(jìn)行截取,將完整缺陷挑選出來,進(jìn)行圖像歸一化,得到標(biāo)準(zhǔn)的缺陷圖片,整理成標(biāo)準(zhǔn)缺陷數(shù)據(jù)集;
步驟2將標(biāo)準(zhǔn)缺陷圖像進(jìn)行SIFT提取高斯差分金字塔圖像,得到用于訓(xùn)練多尺度卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集;
步驟3將獲得的多分辨率圖像訓(xùn)練數(shù)據(jù)集直接輸入網(wǎng)絡(luò),通過Slice層將得到的4張多尺度圖像分來,分別進(jìn)行卷積來提取特征。使用“Gaussian”初始化網(wǎng)絡(luò)權(quán)值,其中偏置設(shè)置為“Constant”;
步驟4從訓(xùn)練集中選擇一個batch訓(xùn)練樣本,輸入到網(wǎng)絡(luò)中;
步驟5樣本通過各層間的映射向前傳播,直至Concat進(jìn)行特征合并,然后繼續(xù)向前傳播直至輸出層,得到實(shí)際輸出向量;
步驟6計(jì)算實(shí)際輸出向量與標(biāo)簽之間的誤差,若誤差小于一個預(yù)先設(shè)定的閾值(或者訓(xùn)練迭代次數(shù)達(dá)到預(yù)定閾值),停止網(wǎng)絡(luò)訓(xùn)練,否則網(wǎng)絡(luò)繼續(xù)進(jìn)行;
步驟7按照誤差代價(jià)最小原則,通過反向傳播對整個網(wǎng)絡(luò)模型的權(quán)值參數(shù)進(jìn)行調(diào)優(yōu);
步驟8重新回到步驟4,繼續(xù)訓(xùn)練下去;
步驟9隨機(jī)選取的測試數(shù)據(jù)集,將其輸入至已訓(xùn)練好的模型(卷積核集合和網(wǎng)絡(luò)權(quán)值參數(shù)等)中進(jìn)行識別檢測。
(2)基于MCNN+SVM模型的蓋板玻璃表面缺陷檢測訓(xùn)練測試步驟如下:
步驟1保存MCNN+Softmax已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)模型,將多分辨率圖像訓(xùn)練數(shù)據(jù)集代入到訓(xùn)練好的模型中獲得對應(yīng)的特征向量;
步驟2將特征向量作為SVM訓(xùn)練數(shù)據(jù)集,將訓(xùn)練數(shù)據(jù)集分成6種進(jìn)行抽取,均是某種缺陷對應(yīng)剩余其他缺陷這種形式(總共要識別6種缺陷);
步驟3分別使用這6種訓(xùn)練數(shù)據(jù)集對6個二分類支持向量機(jī)SVM進(jìn)行訓(xùn)練,將訓(xùn)練好的6個SVM分類器進(jìn)行保存;
步驟4測試時同樣將測試數(shù)據(jù)集的圖像數(shù)據(jù)轉(zhuǎn)換為特征向量,利用已訓(xùn)練訓(xùn)練好的SVM分類器對其進(jìn)行預(yù)測分類,將獲得6個值中最大的一個作為分類結(jié)果。
本文構(gòu)建的多尺度缺陷圖像檢測模型均采用的是有監(jiān)督訓(xùn)練方式,其訓(xùn)練圖像集均由(缺陷圖像,類別標(biāo)簽)的向量對構(gòu)成,其中“缺陷圖像”均為歸一化圖像,經(jīng)過歸一化之后獲得的圖像尺寸為128×128,“類別標(biāo)簽”表示輸入缺陷圖像的分類標(biāo)簽,分為“劃痕”、“裂縫”、“異色”、“漏光”、“氣泡”、“雜質(zhì)”6類。
基于設(shè)計(jì)的多尺度卷積神經(jīng)網(wǎng)絡(luò)缺陷圖像檢測模型,表3給出了進(jìn)行系統(tǒng)訓(xùn)練的部分參數(shù)配置。在訓(xùn)練中,Data層輸入的圖像是固定尺寸128×128的RGB圖像,對于訓(xùn)練集做的預(yù)處理為減去每個像素平均RGB值。選擇是11×11、5×5、3×3的局部感受野的濾波器(捕捉左/右,上/下,中心的概念的最小尺寸),卷積的步長分別固定為4、1、2個像素。池化層采用的是最大池化,選擇3×3的像素區(qū)域,步長為2。針對不同網(wǎng)絡(luò)結(jié)構(gòu)和不同深度的卷積神經(jīng)網(wǎng)絡(luò)均采用的是3個全鏈接(FC)層,前兩層有4 096個通道,第3層為6種缺陷分類。
最終正式訓(xùn)練網(wǎng)絡(luò)參數(shù)設(shè)置如下:權(quán)重衰減(weight decay)為0.0005,記憶因子(momentum)為0.9,學(xué)習(xí)速率(learning rate)為0.001,學(xué)習(xí)策略(learning policy)為step。選用的小批量訓(xùn)練尺寸(batch size)為64。歸一化因子(scale)采用GPU模式加速訓(xùn)練過程,最大訓(xùn)練迭代次數(shù)為10 000次。
如圖9所示為MCNN+Softmax模型網(wǎng)絡(luò)訓(xùn)練過程的準(zhǔn)確率曲線、訓(xùn)練損失曲線與驗(yàn)證損失曲線。從圖9中可以看出,隨著迭代次數(shù)的增加,模型在驗(yàn)證集上的準(zhǔn)確率不斷上升,損失不斷下降,模型達(dá)到了很好的收斂,并在迭代次數(shù)7 000次達(dá)到98.4%左右。
表3 缺陷圖像檢測系統(tǒng)訓(xùn)練的部分參數(shù)配置
名稱類別局部感受野大小/步長Conv1Convolution11×11/4pooling1Maxpooling3×3/2Conv2Convolution5×5/1pooling2Max pooling3×3/2Conv3Convolution3×3/1pooling3Max pooling3×3/2FC7Fully connectionFC8Fully connectionFC9Fully connection
直接使用迭代次數(shù)為7 000次的已收斂的model文件,將得到的多尺度圖像訓(xùn)練數(shù)據(jù)帶入訓(xùn)練好的此模型中,得到相應(yīng)的特征向量,得到訓(xùn)練SVM分類器的訓(xùn)練數(shù)據(jù)集。將得到的訓(xùn)練數(shù)據(jù)集分為6種抽取方式,對6個二分類支持向量機(jī)SVM進(jìn)行訓(xùn)練。
對于MCNN+Softmax網(wǎng)絡(luò)模型而言,直接將模型所訓(xùn)練與驗(yàn)證的已收斂迭代次數(shù)為7 000次所得model文件用于測試樣本,再次在訓(xùn)練集上對網(wǎng)絡(luò)模型上確認(rèn)泛化效果。從標(biāo)準(zhǔn)樣本圖像數(shù)據(jù)集中每類隨機(jī)選取1 000張圖像成為測試樣本,使用混淆矩陣表示模型在測試集上的分類結(jié)果、實(shí)際分類情況測得值以及分類結(jié)果準(zhǔn)確度,如表4所示。
表4 MCNN+Softmax模型測試分類結(jié)果
針對MCNN+SVM網(wǎng)絡(luò)模型,進(jìn)行測試時需將測試數(shù)據(jù)集的圖像數(shù)據(jù)轉(zhuǎn)換成特征向量,然后運(yùn)用已經(jīng)訓(xùn)練好的6個二分類SVM分類器進(jìn)行預(yù)測分類,得到的6個結(jié)果中最大的那個就是預(yù)測所屬類別。同樣用混淆矩陣對其分類結(jié)果進(jìn)行分析(如表5)。
將表4和表5進(jìn)行對比可以發(fā)現(xiàn),針對玻璃缺陷圖像分類而言,使用Softmax要比SVM分類器的效果要好。對于每一類缺陷的查準(zhǔn)率和查全率,使用Softmax分類均比SVM要高,最后的整體準(zhǔn)確率Softmax同樣比SVM要高。
表5 MCNN+SVM模型測試分類結(jié)果
本文還將多尺度卷積神經(jīng)網(wǎng)絡(luò)MCNN與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)CNN進(jìn)行特征提取的方法進(jìn)行對比。使用相同的分類器Softmax,實(shí)質(zhì)上CNN+Softmax訓(xùn)練和測試的過程與MCNN+Softmax相同,使用的數(shù)據(jù)集也一致,因此網(wǎng)絡(luò)僅是對比試驗(yàn),這里的網(wǎng)絡(luò)參數(shù)不再贅述,最后同樣用混淆矩陣對其分類結(jié)果進(jìn)行分析,如表6所示。
表6 CNN+softmax模型測試分類結(jié)果
對模型評價(jià),查準(zhǔn)率(準(zhǔn)確率)和查全率(召回率)的重要程度相同,因此使用F1對這3個不同的實(shí)驗(yàn)?zāi)P头椒ㄟM(jìn)行度量,F(xiàn)1定義為查準(zhǔn)率(準(zhǔn)確率)和查全率(召回率)的調(diào)和平均:
(7)
(8)
其中:P表示的是查準(zhǔn)率(準(zhǔn)確率),R表示的是查全率(召回率)。
將這3個不同模型的F1值進(jìn)行計(jì)算得出表7。
表7 不同模型測試F1值對比結(jié)果 %
從表7中可以明顯看出,對比MCNN+SVM與MCNN+Softmax,MCNN使用兩種不同的分類器,發(fā)現(xiàn)使用MCNN+Softmax模型時,每種缺陷的F1值都有所提高,整體的分類準(zhǔn)確率提高了2.48%。說明采用不同的分類器,對識別準(zhǔn)確率有一定的影響,Softmax分類器的效果更佳,這主要是因?yàn)椴捎靡粚Χ嗟姆绞綄VM分類器進(jìn)行分類,數(shù)據(jù)集的不平衡可能會引起一些偏差等原因。然后,對比MCNN+Softmax與CNN+Softmax這兩個模型,無論是每種缺陷的F1值,還是整體的分類準(zhǔn)確率上,本文采用的MCNN均比傳統(tǒng)CNN的準(zhǔn)確率高,尤其是在劃痕缺陷和雜質(zhì)缺陷圖像識別準(zhǔn)確率的提高上幅度比較大,F(xiàn)1值均提高了5.0%以上,這主要是因?yàn)槎喾直媛识喑叨鹊膱D像采樣預(yù)處理,使得圖像的特征能夠更好地被提取。
本文提出一種基于多尺度卷積神經(jīng)網(wǎng)絡(luò)MCNN模型,并對該模型進(jìn)行了可行性驗(yàn)證,通過某玻璃廠生產(chǎn)的玻璃產(chǎn)品實(shí)際數(shù)據(jù)進(jìn)行缺陷檢測應(yīng)用試驗(yàn)與分析,實(shí)驗(yàn)中基于MCNN模型分別使用不同的分類器SVM和Softmax進(jìn)行對比,結(jié)果發(fā)現(xiàn)分類器Softmax的效果更好,整體識別準(zhǔn)確率較高。除此之外,將多尺度卷積神經(jīng)網(wǎng)絡(luò)MCNN與一般卷積神經(jīng)網(wǎng)絡(luò)CNN進(jìn)行對比,采用相同的分類器Softmax,發(fā)現(xiàn)在MCNN模型在每一類型的缺陷的識別準(zhǔn)確率上都有所提高,整體識別準(zhǔn)確率達(dá)到98.4%,而CNN模型的整體識別率僅92.08%,可見MCNN較傳統(tǒng)CNN在玻璃表面缺陷檢測應(yīng)用中優(yōu)勢較為明顯。
此外,基于卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的多尺度卷積神經(jīng)網(wǎng)絡(luò)對玻璃缺陷圖像進(jìn)行識別檢測,與傳統(tǒng)的玻璃缺陷檢測方法對比,此方法利用卷積神經(jīng)網(wǎng)絡(luò)可以避免傳統(tǒng)圖像檢測方法中的復(fù)雜的圖像預(yù)處理和特征提取等過程,能夠大大減小圖像預(yù)處理以及人工特征提取的誤差,多尺度卷積神經(jīng)網(wǎng)絡(luò)對比傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)明顯提高了玻璃缺陷識別準(zhǔn)確率,這對于玻璃生產(chǎn)行業(yè)的產(chǎn)品缺陷檢驗(yàn)應(yīng)用具有現(xiàn)實(shí)意義。