張慶輝,田欣欣,呂鵬濤,楊 彬
1.河南工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,河南 鄭州 450001 2.鄭州市科學(xué)技術(shù)情報(bào)研究所,河南 鄭州 450000
小麥不完善粒檢測是小麥質(zhì)量檢驗(yàn)工作中最為普遍的技術(shù)問題之一。不完善粒是判斷小麥品質(zhì)的重要指標(biāo),深入研究小麥不完善粒檢測技術(shù),對于準(zhǔn)確判斷小麥品質(zhì)具有重要意義[1]。目前,有關(guān)小麥不完善粒識別的方法共有3種。1)人工提取小麥特征并輸入分類模型進(jìn)行識別。張玉榮等[2]將提取的顏色、形態(tài)和紋理特征輸入BP神經(jīng)網(wǎng)絡(luò)中,對5類小麥進(jìn)行識別。張博[3]提取小麥的顏色、形態(tài)和紋理特征,使用ResNet模型進(jìn)行分類,取得了良好的效果。這些方法需要人工提取小麥特征,但是人工提取所獲得的特征往往過于特殊[4],不能很好地反映小麥的本質(zhì)特征,而且提取過程復(fù)雜,操作困難。2)對圖像進(jìn)行特殊處理。采集小麥的高光譜圖像并進(jìn)行預(yù)處理,然后輸送至分類模型進(jìn)行識別。董晶晶等[5]采集小麥的高光譜圖像,并將光譜特征和圖像特征進(jìn)行融合,使識別率得到了提高。于重重等[6]通過高光譜成像系統(tǒng)拍攝小麥的高光譜圖像,然后采用黑白標(biāo)定的方法對高光譜數(shù)據(jù)進(jìn)行降噪處理,實(shí)現(xiàn)了小麥不完善粒的無損檢測。這兩個(gè)試驗(yàn)的圖像預(yù)處理方法復(fù)雜、耗時(shí)且實(shí)用性差。從經(jīng)濟(jì)方面考慮,高光譜成像設(shè)備價(jià)格昂貴,相配套的檢測設(shè)備成本也很高。3)對經(jīng)典分類網(wǎng)絡(luò)直接進(jìn)行優(yōu)化。郝傳銘等[7]分別采集小麥的高分辨率圖像和高光譜圖像,然后將2種圖像進(jìn)行配準(zhǔn)、融合,最終得到預(yù)處理圖像。同時(shí),在VGG-16模型中加入特征金字塔,提高了小麥識別率。賀杰安等[8]將增強(qiáng)后的6類小麥圖像輸送至含有批正則化(Batch normalization,BN)層的CNN中,取得了不錯(cuò)的分類效果。曹婷翠等[9]對3類小麥進(jìn)行雙面采集,將采集到的圖像輸送至含有空間金字塔池化(SPP)的CNN模型中。這些方法需要從神經(jīng)網(wǎng)絡(luò)第一層開始訓(xùn)練權(quán)重,因?yàn)橛糜谛←湶煌晟屏WR別的數(shù)據(jù)集規(guī)模通常較小,所以盡管對經(jīng)典分類模型進(jìn)行了優(yōu)化,但識別效果仍然不太理想。
作者引入遷移學(xué)習(xí)思想[10-13],將基于大型公開數(shù)據(jù)集ImageNet的3個(gè)預(yù)訓(xùn)練模型作為小麥特征提取器,并對其提取的小麥特征進(jìn)行融合。融合后的特征包含的信息更豐富,能更客觀、真實(shí)地反映小麥的本質(zhì)特征[14-18]。然后采用DBN模型對融合后的小麥特征進(jìn)行分類,進(jìn)一步挖掘圖像的高層特征,以取得更優(yōu)的分類效果。
樣品采用河南中儲(chǔ)糧質(zhì)量檢測中心提供的不同貯存時(shí)間和不同品質(zhì)的小麥,從中挑選出完善粒和不完善粒(病斑粒、生霉粒、出芽粒、蟲蝕粒、破損粒)。
圖像采集平臺:自主設(shè)計(jì);計(jì)算機(jī):戴爾股份有限公司;MV-CE200-10GC工業(yè)相機(jī):杭州??低晹?shù)字技術(shù)股份有限公司。
所采用的數(shù)據(jù)集由完善粒和5類不完善粒組成。小麥圖像的采集通過抖動(dòng)式自動(dòng)上料盤、透明載物板和一對高清工業(yè)相機(jī)構(gòu)成的自動(dòng)圖像采集設(shè)備完成,獲取小麥的高清RGB圖像,6類小麥圖像如圖1所示。
圖1 6類小麥圖像Fig.1 Images of six types of wheat
以彼此不粘連且平鋪于一個(gè)平面中的多粒小麥為原始圖像的采集對象,然后將原始圖像分割為每張圖片中僅有單粒小麥的圖像。通過輪廓檢測算法將多粒小麥圖像分割為單粒小麥圖像,以麥粒邊緣所確定的矩形范圍為界,向周邊擴(kuò)展3個(gè)像素后裁剪。
以分割后的單粒小麥圖像為基礎(chǔ)建立數(shù)據(jù)庫。共采集6種小麥圖像各2 782張,其中,2 000張作為訓(xùn)練集,400張作為驗(yàn)證集,382張作為測試集。
實(shí)際應(yīng)用中,因?yàn)椴杉瘓D片時(shí)的光線效果無法保持絕對一致,所以難免會(huì)引入噪聲。為此,通過改變亮度、引入高斯噪聲的方法對單粒小麥的圖像進(jìn)行數(shù)據(jù)增強(qiáng)處理,圖2是部分經(jīng)過數(shù)據(jù)增強(qiáng)的小麥圖像。每張隨機(jī)選擇1種數(shù)據(jù)增強(qiáng)方法將原圖訓(xùn)練集由原來的每類2 000張擴(kuò)展到每類4 000張。
圖2 數(shù)據(jù)增強(qiáng)后的小麥圖像Fig.2 Wheat images with data enhancement
深度信念神經(jīng)網(wǎng)絡(luò)(Deep belief network,DBN)由Hinton等[19-20]于2006年提出,DBN是一個(gè)概率生成模型,由一系列的限制玻爾茲曼機(jī) (Restricted boltzmann machine,RBM)堆疊組成。RBM 由可視層和隱藏層2層神經(jīng)元組成,各層都包含若干個(gè)節(jié)點(diǎn),層內(nèi)節(jié)點(diǎn)之間沒有連接,不同層之間的節(jié)點(diǎn)靠權(quán)值系數(shù)矩陣連接,可視層單元(v)和隱藏層單元(h)表示采用二進(jìn)制:v∈{0,1}D和h∈{0,1}K,而D和K分別為可視層和隱藏層的單元序號。v和h的聯(lián)合概率可表示:
(1)
式中:Z為一個(gè)歸一化常量;RBM是一種能量模型;E(v,h)為一個(gè)能量方程,E(v,h)可表示:
(2)
式中:Wij為可視層節(jié)點(diǎn)vi和隱藏層節(jié)點(diǎn)hj之間的連接權(quán)重;I為可視層的神經(jīng)元數(shù)目;J為隱藏層的神經(jīng)元數(shù)目;ai,bj則分別為可視層、隱藏層的偏置值。
DBN由多個(gè)無監(jiān)督的RBM和一個(gè)有監(jiān)督的反向傳播(Back propagation,BP)網(wǎng)絡(luò)構(gòu)成,如圖3所示。其中,h(1)—h(3)代表隱藏層,W(1)—W(4)代表權(quán)重。
圖3 DBN示意圖Fig.3 Schematic diagram of DBN
在參數(shù)過多而訓(xùn)練樣本太少的情況下神經(jīng)網(wǎng)絡(luò)模型容易出現(xiàn)過擬合現(xiàn)象。為了防止過擬合,在模型中加入Dropout算法,它可以使一個(gè)神經(jīng)元和隨機(jī)篩選出來的其他神經(jīng)元一起工作。深度神經(jīng)網(wǎng)絡(luò)的過擬合現(xiàn)象可以通過打破神經(jīng)元的相互依賴而得到緩解。此方法減弱了神經(jīng)元節(jié)點(diǎn)間的聯(lián)合適應(yīng)性,增強(qiáng)了泛化能力。未加入Dropout算法的神經(jīng)網(wǎng)絡(luò)的計(jì)算公式如(3)、(4)所示:
(3)
(4)
加入Dropout算法的神經(jīng)網(wǎng)絡(luò)的計(jì)算公式如式(5)—式(7)所示:
(5)
(6)
(7)
式中:r(l)為神經(jīng)網(wǎng)絡(luò)第l層的每個(gè)神經(jīng)元所得到的值。
r(l)符合Bernoulli分布。加入Dropout算法的神經(jīng)網(wǎng)絡(luò)相當(dāng)于在標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)的每層中每個(gè)神經(jīng)元的輸出上乘以r。r=0時(shí)代表將此神經(jīng)元斷開連接,r=1時(shí)代表此神經(jīng)元保持原有連接。公式(5)中引入Bernoulli函數(shù),目的是以概率P隨機(jī)生成一個(gè)0、1的向量。r=1的概率為P,r=0的概率為1-P。
在訓(xùn)練時(shí),所有神經(jīng)元都有可能以概率P被移除;因?yàn)樵跍y試階段每一個(gè)神經(jīng)元都是存在的,所以權(quán)重參數(shù)W要乘以P,測試階段的情況是:
(8)
在訓(xùn)練的參數(shù)量較大但數(shù)據(jù)集規(guī)模并不大的情況下容易產(chǎn)生過擬合現(xiàn)象,從而造成模型的泛化性能不理想。為了避免過擬合現(xiàn)象出現(xiàn),本文在靠近DBN尾端的輸出層加入了Dropout算法,結(jié)果如圖4所示。
注:虛線圓代表斷開連接的神經(jīng)元。圖4 含有Dropout算法的深度信念網(wǎng)絡(luò)Fig.4 Deep belief network with Dropout algorithm
在模型中引入了遷移學(xué)習(xí)算法,其實(shí)現(xiàn)流程是:保留基于大型公開數(shù)據(jù)集ImageNet的預(yù)訓(xùn)練模型的特征提取層,將原有的頂層去掉,替換為自主設(shè)計(jì)的頂層網(wǎng)絡(luò)。在訓(xùn)練過程中,只訓(xùn)練自主設(shè)計(jì)的頂層網(wǎng)絡(luò)。采用預(yù)訓(xùn)練模型進(jìn)行小麥特征提取,并將所提取的特征輸送至自主設(shè)計(jì)的頂層網(wǎng)絡(luò)進(jìn)行分類。
對小麥原圖進(jìn)行分割,CNN-DBN模型如圖5所示。具體實(shí)現(xiàn)步驟:將含有多粒小麥的原圖分割為只含有單粒小麥的單張圖片,然后將單粒小麥圖片輸送至預(yù)訓(xùn)練好的VGG-16模型、VGG-19模型和ResNet50模型,VGG-16和VGG-19模型均提取出512維特征,ResNet50模型提取出2 048維特征;將3個(gè)模型提取出來的特征進(jìn)行拼接,獲得3 072維特征;將拼接后的特征輸送至DBN中,調(diào)節(jié)DBN中的參數(shù)與結(jié)構(gòu)使它的分類精度達(dá)到最優(yōu)。
圖5 CNN-DBN模型Fig.5 CNN-DBN model
試驗(yàn)設(shè)計(jì)了非遷移學(xué)習(xí)模型、遷移學(xué)習(xí)單模型、雙融合模型及三融合模型,采用14種神經(jīng)網(wǎng)絡(luò)模型進(jìn)行分組試驗(yàn),分類效果如表1所示。其中,前2組分別基于VGG-16和VGG-19模型;第3組和第4組對基于遷移學(xué)習(xí)的VGG-16神經(jīng)網(wǎng)絡(luò)模型進(jìn)行試驗(yàn),對比了隱藏層+softmax和DBN的分類效果;第5組和第6組對基于遷移學(xué)習(xí)的VGG-19神經(jīng)網(wǎng)絡(luò)模型進(jìn)行試驗(yàn),對比了隱藏層+softmax和DBN的分類效果;第7組和第8組將遷移學(xué)習(xí)模型VGG-16和VGG-19進(jìn)行融合,對比了隱藏層+softmax和DBN的分類效果;第9組至第12組將遷移學(xué)習(xí)模型VGG-16和VGG-19以不同方式進(jìn)行3個(gè)模型融合,對比了隱藏層+softmax和DBN的分類效果;第13組和第14組將遷移學(xué)習(xí)模型VGG-16、VGG-19和ResNet50進(jìn)行融合,對比了隱藏層+softmax和DBN的分類效果。
表1 14種分類試驗(yàn)效果Table 1 Fourteen groups of experiments
每種模型進(jìn)行6次試驗(yàn)然后取平均值,均在具有64 GB RAM,Intel i7-6800 K CPU和NVIDIA TITAN Xp GPU的計(jì)算機(jī)上運(yùn)行。試驗(yàn)基于Python語言,在Kareas框架下實(shí)現(xiàn)VGG-16、VGG-19和ResNet50。
DBN的隱藏層節(jié)點(diǎn)數(shù)為350-170-80,2個(gè)非遷移學(xué)習(xí)模型迭代50次,其他遷移學(xué)習(xí)模型試驗(yàn)均迭代30次,并設(shè)置Batch Size為16,Dropout為0.5,隱藏層的激活函數(shù)為sigmoid函數(shù),輸出層的激活函數(shù)為softmax函數(shù),初始學(xué)習(xí)率為0.000 8,遞減率為0.000 02。
因?yàn)檫w移學(xué)習(xí)VGG-16+VGG-19+ResNet50-DBN 模型的識別效果最好,所以選擇此模型執(zhí)行本次任務(wù),此模型迭代30次訓(xùn)練與驗(yàn)證的精度和損失變化如圖6所示。
圖6 遷移學(xué)習(xí)VGG-16+VGG-19+ResNet50- DBN 模型訓(xùn)練和驗(yàn)證的精度和損失Fig.6 Thirty iterations of transfer learning VGG-16+VGG-19+ResNet50-DBN model training and verification
4.2.1 Dropout和softmax分類器的作用
選擇Dropout為0.5,即訓(xùn)練時(shí)隨機(jī)丟棄50%的神經(jīng)元。Dropout算法雖然在避免過擬合方面有不錯(cuò)的效果,但是它的缺點(diǎn)是丟棄了一部分神經(jīng)元而導(dǎo)致部分特征信息丟失。為了在緩解過擬合的同時(shí)盡可能避免丟失更多信息,在進(jìn)行模型選擇過程中,將2個(gè)相同模型進(jìn)行了特征融合,如表1中第9組至第12組試驗(yàn)所示。此情況下使用Dropout算法既緩解了過擬合現(xiàn)象,又盡可能使保留下來的特征信息更多。因?yàn)?個(gè)相同模型提取的特征信息量是一個(gè)模型提取信息量的2倍,所以在隨機(jī)丟棄50%的神經(jīng)元之后,保留下來的小麥特征信息要比一個(gè)模型提取的特征信息更豐富。因此,兩個(gè)相同模型進(jìn)行特征融合得到的識別率更高。
若要將DBN應(yīng)用在圖像分類任務(wù)中,則需在網(wǎng)絡(luò)的末層加入分類器。用softmax作為DBN神經(jīng)網(wǎng)絡(luò)最后一層的激活函數(shù)。softmax分類器需要處理的問題是:有一個(gè)訓(xùn)練樣本集合X={x1,x2,……},樣本xi表示為xi=(a1,a2,a3,……),樣本集合X中的樣本是類別C={c1,c2,c3, ……}中的一種,假設(shè)有一個(gè)測試樣本x, 判斷樣本x屬于哪種類別。softmax分類器將上一層的輸出數(shù)據(jù)歸一化,然后選取最大值所對應(yīng)的結(jié)點(diǎn)作為預(yù)測結(jié)果。
4.2.2 不同模型對比
由表1可知,遷移學(xué)習(xí)模型比非遷移學(xué)習(xí)模型分類效果更好。遷移學(xué)習(xí)模型使用的是基于大型公開數(shù)據(jù)集ImageNet的預(yù)訓(xùn)練模型,其數(shù)據(jù)集規(guī)模較大,所以對此數(shù)據(jù)集之外的圖片也有很好的泛化性能。遷移學(xué)習(xí)可以有效解決數(shù)據(jù)集規(guī)模小的問題。融合模型比非融合模型的分類效果更好。融合特征所包含的小麥特征信息更加豐富、全面。DBN的分類效果優(yōu)于隱藏層+softmax。將融合后的特征通過DBN進(jìn)行分類時(shí),DBN可以進(jìn)一步提取出小麥的深層特征。此外,DBN融合了無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)的長處,可以更好地挖掘小麥圖像的規(guī)律,從而達(dá)到提高分類精度的目的。VGG-16+VGG-19+ResNet50-DBN融合了3種模型提取的小麥特征,分類效果優(yōu)于雙融合模型。3種模型提取比2種模型提取到特征信息更豐富,能更好地挖掘出小麥的本質(zhì)特征。
4.2.3 P-R曲線(Precision-Recall Curve)分析
在實(shí)際應(yīng)用中,精確率和召回率也是衡量小麥不完善粒識別模型性能的重要指標(biāo)。將所有小麥分為完善粒和不完善粒兩大類別,將閾值分別設(shè)定為0.0、0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1.0,在不同閾值下計(jì)算不完善粒的精確率(Precision)和召回率(Recall)。P-R曲線以召回率為橫軸,以精確率為縱軸,6類模型的P-R曲線如圖7所示。
圖7 P-R曲線Fig.7 Precision-recall curve
由圖7可知:遷移學(xué)習(xí)VGG-16+VGG-19+ResNet50-DBN模型在橫軸和縱軸均為1的區(qū)域內(nèi),左下方面積最大,而且它將其他模型的曲線完全包裹住;與其他模型相比,在相同召回率的情況下,精確率高于其他模型;此模型在相同精確率的情況下,召回率高于其他模型。由此可見,遷移學(xué)習(xí)VGG-16+VGG-19+ResNet50-DBN模型相較于其他模型來說,能將更多的不完善粒識別出來。
提出了一個(gè)基于遷移學(xué)習(xí)的CNN-DBN模型,以基于大型公開數(shù)據(jù)集ImageNet的預(yù)訓(xùn)練模型為特征提取器,然后將所提取特征進(jìn)行融合并輸入DBN網(wǎng)絡(luò)實(shí)現(xiàn)了小麥不完善粒的識別。通過對比14種分類試驗(yàn)效果,發(fā)現(xiàn)遷移學(xué)習(xí)VGG-16+VGG-19+ResNet50-DBN模型比其他模型測試準(zhǔn)確率更高,可達(dá)91.86%,能將6類小麥更準(zhǔn)確地分類。另外,其P-R曲線均優(yōu)于其他5類CNN-DBN模型,表明此模型能將更多的不完善粒挑選出來。因此,遷移學(xué)習(xí)VGG-16+VGG-19+ResNet50-DBN模型的性能最好。
這項(xiàng)研究共有3個(gè)意義:1)提出了CNN-DBN模型并引入了遷移學(xué)習(xí)方法。使用基于大型公開數(shù)據(jù)集的預(yù)訓(xùn)練模型作為小麥特征提取器,解決了因數(shù)據(jù)集規(guī)模小而導(dǎo)致小麥不完善粒識別率不理想的問題。2)所提方法簡化了小麥預(yù)處理過程?,F(xiàn)有小麥圖像在輸入分類器之前要經(jīng)過復(fù)雜的圖像預(yù)處理過程,如獲取小麥的高光譜圖像、人工提取特征等,這些方法不但步驟煩瑣,而且實(shí)用性較差。而本文中小麥圖像預(yù)處理過程只需增強(qiáng)數(shù)據(jù)。3)將有監(jiān)督方法和無監(jiān)督方法結(jié)合并運(yùn)用到小麥不完善粒識別任務(wù)中,為小麥不完善粒識別的應(yīng)用提供了一種新的技術(shù)途徑。