張淑娟 高庭耀 任 銳 孫海霞
(山西農(nóng)業(yè)大學(xué)農(nóng)業(yè)工程學(xué)院, 太谷 030800)
近年來,核桃作為特色優(yōu)勢農(nóng)產(chǎn)品,在農(nóng)民增收、產(chǎn)業(yè)扶貧、生態(tài)建設(shè)等方面發(fā)揮了重要作用[1]。然而,由于我國大部分地區(qū)以家庭為單位的種植方式,對核桃生產(chǎn)管理缺乏標(biāo)準(zhǔn)化的技術(shù)支撐,以及不同的生長環(huán)境等因素使得采收后的核桃成熟度存在差異。不同成熟度的核桃干制后,核仁皺縮出現(xiàn)空果和干癟果。所以,未經(jīng)過分揀處理的核桃中經(jīng)常夾雜著空殼核桃和干癟核桃,直接影響核桃品質(zhì)及商品價值。
目前,針對核桃的內(nèi)部品質(zhì)檢測,文獻(xiàn)[2]設(shè)計(jì)了空癟核桃分選機(jī),根據(jù)空癟核桃與飽滿核桃的比重差異,控制風(fēng)量實(shí)現(xiàn)分選。文獻(xiàn)[3]設(shè)計(jì)了5X-150型核桃分選機(jī),通過氣吸方式實(shí)現(xiàn)空癟核桃的分選。文獻(xiàn)[4]采用計(jì)算機(jī)視覺技術(shù)和重量相結(jié)合的方式,實(shí)現(xiàn)空殼核桃的檢測。文獻(xiàn)[5]對采集的核桃圖像進(jìn)行處理、擬合來估算核桃體積,稱取核桃的重量,根據(jù)核桃的比重或者比重等效參數(shù)檢測和分選核桃。這些方法在檢測過程中存在一定的局限性,因此,提升和改進(jìn)核桃檢測分選技術(shù)是提高核桃商品價值的一個重要環(huán)節(jié)[6]。
隨著X射線成像檢測技術(shù)的發(fā)展,目前應(yīng)用該技術(shù)進(jìn)行農(nóng)產(chǎn)品檢測的研究報道已有很多[7-11]。這些研究表明,當(dāng)產(chǎn)品內(nèi)部存在差異,射線能量穿過時衰減程度不同,導(dǎo)致成像效果差異,這些差異體現(xiàn)了被透射樣本的內(nèi)部信息,而X射線成像系統(tǒng)將這些信息檢測并記錄下來[12],通過獲取到的內(nèi)部信息實(shí)現(xiàn)無損檢測。
目前,深度學(xué)習(xí)已廣泛應(yīng)用于各研究領(lǐng)域,尤其在圖像領(lǐng)域。文獻(xiàn)[13]基于深度學(xué)習(xí)使用兩級卷積網(wǎng)絡(luò)實(shí)現(xiàn)了核桃圖像的分割和雜質(zhì)檢測,該方法能夠正確分割測試圖像中99.4%的目標(biāo)區(qū)域,對驗(yàn)證圖像中96.5%的異物進(jìn)行正確分類,正確檢測出100%的測試圖像。文獻(xiàn)[14]通過對AlexNet網(wǎng)絡(luò)進(jìn)行優(yōu)化得到適合油茶籽完整性識別的卷積神經(jīng)網(wǎng)絡(luò)模型,模型識別準(zhǔn)確率達(dá)到了98.05%,實(shí)現(xiàn)油茶籽完整性的識別。文獻(xiàn)[15]提出利用GoogLeNet深度遷移模型對蘋果缺陷進(jìn)行檢測,并與傳統(tǒng)機(jī)器學(xué)習(xí)方法進(jìn)行了對比,結(jié)果表明,GoogLeNet深度遷移模型具有更好的泛化能力與魯棒性。
因此,針對核桃內(nèi)部品質(zhì)(空殼、干癟和正常)檢測分選過程中存在的問題,本文利用X射線機(jī)采集核桃的X射線圖像,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行處理和分類,通過對比訓(xùn)練結(jié)果確定最佳模型和最優(yōu)參數(shù),在此基礎(chǔ)上,開發(fā)檢測分選系統(tǒng),并進(jìn)行模型驗(yàn)證。
以山西省汾陽市廣泛種植的“禮品2號”核桃作為試驗(yàn)材料,剔除破損和異常樣本后,對樣本進(jìn)行編號并采集X射線圖像,然后稱取核桃質(zhì)量和核仁質(zhì)量。根據(jù)核仁飽滿度,參照《核桃堅(jiān)果質(zhì)量等級》國家標(biāo)準(zhǔn)[16]和感官評判標(biāo)準(zhǔn),將樣本劃分為正常核桃、干癟核桃和空殼核桃,結(jié)果如圖1所示。
圖1 試驗(yàn)樣本Fig.1 Experimental samples
由圖1可看出,內(nèi)部品質(zhì)缺陷的核桃與正常核桃在外觀上并無差異,但核仁品質(zhì)卻參差不齊。正常核桃(圖1a)的核仁飽滿,表皮色澤光鮮,核仁充滿核桃內(nèi)部,在X射線圖像中,核仁所占面積比大,殼仁間隙小且不連續(xù);干癟核桃(圖1b)的核仁皺縮,表皮色澤加深,口感差,殼仁間隙較大,在X射線圖像上,核仁所占面積比較小,殼仁間隙大且十分明顯;而空殼核桃(圖1c)的核仁皺縮,質(zhì)量已忽略不計(jì),甚至部分核仁不存在,在X射線圖像中也看不出核仁形狀,與其余兩組圖像差異十分顯著。
采用山西萬科醫(yī)用設(shè)備有限公司W(wǎng)FC型數(shù)字化攝影X射線機(jī)采集核桃圖像,其主要由組合式X射線發(fā)生器、限束器、控制箱、平板探測器、X射線成像系統(tǒng)、機(jī)架等部件組成。試驗(yàn)前對儀器參數(shù)進(jìn)行調(diào)試,通過對比試驗(yàn)確定:管電壓50 kV、管電流100 mA、輻照時間(電流時間乘積)1.6 mA·s為最佳試驗(yàn)參數(shù),可獲得最大化圖像對比度和最小化圖像噪聲。
試驗(yàn)采集正常核桃X射線圖像382幅,干癟核桃X射線圖像255幅,空殼核桃X射線圖像401幅。獲取的原始圖像分辨率為3 072像素×3 072像素,將原始圖像裁剪成完全包含核桃的樣本圖像(360像素×360像素)。為消除背景對圖像特征提取的影響,對圖像進(jìn)行預(yù)處理[17],圖2為原始圖像和去除背景的核桃圖像。再根據(jù)模型輸入要求,將去除背景的X射線圖像統(tǒng)一調(diào)整為224像素×224像素。
圖2 圖像預(yù)處理Fig.2 Image preprocessing
由于干癟核桃樣本數(shù)量較少且3類核桃樣本數(shù)量不均,可能會影響模型的訓(xùn)練效果,導(dǎo)致結(jié)果不理想[18]。為避免這種情況的發(fā)生,往往采用數(shù)據(jù)增強(qiáng)的方式增加數(shù)據(jù)集。本文主要采用隨機(jī)翻轉(zhuǎn)、亮度變換、加噪、對比度變換4種方式增加數(shù)據(jù)集,得到3類核桃的X射線圖像各2 000幅。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)通過網(wǎng)絡(luò)節(jié)點(diǎn)之間的深度和權(quán)值共享來自動進(jìn)行特征提取和選擇,CNN有各種占主導(dǎo)地位的預(yù)訓(xùn)練結(jié)構(gòu),這些結(jié)構(gòu)在數(shù)據(jù)集ImageNet上用1 000個不同的類成功訓(xùn)練完成分類任務(wù)。不同模型對不同數(shù)據(jù)處理效果不同,因此選擇合適的網(wǎng)絡(luò)進(jìn)行空殼核桃分類。
1.2.1VGG 19
VGGNet的思想是不斷加深網(wǎng)絡(luò)結(jié)構(gòu)來提升性能,通過減小卷積核尺寸,使用3×3的卷積核和2×2的池化核,來減少參數(shù)和計(jì)算量[19]。VGG 19共19層,包含16個卷積層、3個全連接層和5個池化層,共組成5個卷積塊,每個卷積塊由一組卷積層、一個激活函數(shù)和一個最大池化函數(shù)組成。網(wǎng)絡(luò)的輸入圖像尺寸為224×224×3,輸出為7×7×512;分類部分對輸出結(jié)果進(jìn)行扁平化(flatten)處理,得到長度為25 088的一維向量[20]。VGG 19通過卷積層提取圖像特征,池化層降低提取特征維度,全連接層對數(shù)據(jù)進(jìn)行分類,最后一層為softmax層,計(jì)算出輸入圖像屬于每個類別的概率,最后輸出的就是每個類的預(yù)測值。
1.2.2GoogLeNet
GoogLeNet是Google公司推出的基于Inception模塊深度神經(jīng)網(wǎng)絡(luò)模型,創(chuàng)新點(diǎn)在于一層網(wǎng)絡(luò)中存在多個不同尺度的卷積核,一方面增加了網(wǎng)絡(luò)寬度,另一方面增強(qiáng)了模型對尺度的適應(yīng)性。Inception V1網(wǎng)絡(luò)是一個有22層深度的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),由1×1卷積、3×3卷積、5×5卷積和3×3池化4個主要部分組成,多次使用1×1卷積核,實(shí)現(xiàn)了跨通道信息融合,提高了網(wǎng)絡(luò)的表達(dá)能力,同時又可以對輸出特征進(jìn)行升維或降維處理。通過多種不同尺寸的卷積核提取圖像多尺度的信息,然后進(jìn)行融合,從而具有更好的圖像表征能力[21]。
1.2.3ResNet 101
ResNet的思想是在網(wǎng)絡(luò)中增加了直連通道,將靠前若干層的某一層數(shù)據(jù)輸出直接跳過多層,引入到后面數(shù)據(jù)層的輸入部分,將原始輸入信息直接傳輸?shù)胶竺娴木W(wǎng)絡(luò)層中,將層與層之間的傳遞學(xué)習(xí)表示為輸入與輸出殘差函數(shù)的學(xué)習(xí),良好地中和了梯度爆炸問題與退化問題。ResNet 101共101層,包括1個輸入7×7×64的卷積層,經(jīng)過99個殘差單元層,最后至全連接層得到最后的分類結(jié)果[22]。
1.2.4MobileNet v2
MobileNet模型是一種輕量級的深層神經(jīng)網(wǎng)絡(luò),其使用的核心思想是深度可分離卷積塊。深度可分離卷積塊由兩部分組成,分別是3×3深度可分離卷積和1×1普通卷積。MobileNet v2共28層,為防止非線性層損失信息,引入線性瓶頸層,將可分離卷積應(yīng)用于殘差結(jié)構(gòu),形成倒卷殘差塊,堆疊形成線性瓶頸塊。對數(shù)據(jù)先升維再降維,增強(qiáng)梯度的傳播,減少訓(xùn)練時所需的內(nèi)存[23]。
本文使用Windows 10系統(tǒng),處理器是Intel Core i7-10875H,主頻2.30 GHz。系統(tǒng)還包括16 GB內(nèi)存、1 TB硬盤和6 GB顯存NVIDIA RTX 2060 GPU,采用Matlab 2020a中深度學(xué)習(xí)工具箱進(jìn)行編程計(jì)算。
為了評價不同模型和參數(shù)對核桃內(nèi)部品質(zhì)分類結(jié)果,本文選擇預(yù)測集準(zhǔn)確率、預(yù)測集損失值、測試集準(zhǔn)確率以及訓(xùn)練時間4個參數(shù)作為評價指標(biāo)。
隨機(jī)選取數(shù)據(jù)集的72%用于模型訓(xùn)練,18%用于模型預(yù)測,10%用于模型測試。分別用4種遷移學(xué)習(xí)模型對核桃品質(zhì)進(jìn)行判別,為提升模型的訓(xùn)練性能,還設(shè)置不同模型參數(shù)(學(xué)習(xí)率和迭代次數(shù))的對比試驗(yàn)[24],并開發(fā)檢測分選系統(tǒng)。
本文采用GoogLeNet、ResNet 101、MobileNet v2和VGG 19共4種遷移學(xué)習(xí)模型對核桃數(shù)據(jù)集進(jìn)行測試,4種模型的驗(yàn)證結(jié)果如表1所示,訓(xùn)練過程準(zhǔn)確率和損失值的變化如圖3所示。4種模型的參數(shù)分別為:Batch Size(批尺寸)為16,最大迭代次數(shù)為25,學(xué)習(xí)率為0.001,4種模型均可實(shí)現(xiàn)核桃內(nèi)部品質(zhì)的分級分選,但從模型預(yù)測準(zhǔn)確率和損失值曲線可以看出,MobileNet v2和ResNet 101模型曲線一直存在起伏,模型不穩(wěn)定。GoogLeNet模型在迭代初始階段起伏較為明顯,在訓(xùn)練次數(shù)1 000后模型的穩(wěn)定性與VGG 19模型基本一致,且兩個模型的預(yù)測準(zhǔn)確率相差不大,分別為96.67%和96.53%。但對比訓(xùn)練所需時間,VGG 19模型耗時過長,約114 min。綜合考慮識別準(zhǔn)確率和運(yùn)算性能,最終選用GoogLeNet模型。
表1 不同遷移學(xué)習(xí)模型對核桃內(nèi)部品質(zhì)檢測的準(zhǔn)確率Tab.1 Accuracy of different migration learning models for walnut internal quality detection
圖3 4種分類模型準(zhǔn)確率和損失值Fig.3 Accuracy rate and loss map of four classification models
2.2.1迭代次數(shù)
本文設(shè)置4組不同的迭代次數(shù)(15、20、25、30)進(jìn)行對比試驗(yàn),結(jié)果如表2所示。由表2可知,迭代次數(shù)為25次時,模型預(yù)測準(zhǔn)確率和測試準(zhǔn)確率最高,都為96.67%;當(dāng)?shù)螖?shù)設(shè)置為30次時,模型的準(zhǔn)確率都略有降低,表明迭代次數(shù)并非越多越好。同時,研究發(fā)現(xiàn)迭代次數(shù)與運(yùn)行時間呈正比例關(guān)系[25]。因此,本研究選擇迭代次數(shù)為25時進(jìn)行以下試驗(yàn)。
表2 模型GoogLeNet不同迭代次數(shù)時核桃內(nèi)部品質(zhì)檢測的準(zhǔn)確率Tab.2 Accuracy of different epoch of GoogLeNet model for walnut internal quality detection
2.2.2學(xué)習(xí)率
學(xué)習(xí)率決定著目標(biāo)函數(shù)能否收斂到局部最小和收斂速度。當(dāng)學(xué)習(xí)率設(shè)置過大時,模型不穩(wěn)定且難以收斂;當(dāng)學(xué)習(xí)率設(shè)置過小時,模型收斂時間加長且容易過擬合;合適的學(xué)習(xí)率能夠使模型結(jié)果快速接近最優(yōu)解。結(jié)合試驗(yàn)研究和經(jīng)驗(yàn),選擇學(xué)習(xí)率為0.01、0.001、0.000 1進(jìn)行模型訓(xùn)練,試驗(yàn)結(jié)果如表3所示。圖4為3種學(xué)習(xí)率條件下模型預(yù)測準(zhǔn)確率和損失值曲線。
表3 模型GoogLeNet不同學(xué)習(xí)率時核桃內(nèi)部品質(zhì)檢測的準(zhǔn)確率Tab.3 Accuracy of different learning rates of GoogLeNet model for walnut internal quality detection
圖4 不同學(xué)習(xí)率條件下模型預(yù)測準(zhǔn)確率和損失值Fig.4 Prediction accuracy and loss of models with different learning rates
由圖4可知,在訓(xùn)練次數(shù)小于1 000時,當(dāng)學(xué)習(xí)率設(shè)置為0.01,預(yù)測準(zhǔn)確率和損失值曲線有較大范圍的振蕩,收斂速度慢且預(yù)測準(zhǔn)確率低,損失值高;當(dāng)學(xué)習(xí)率設(shè)置為0.000 1,測試準(zhǔn)確率和損失值曲線振蕩較小,但準(zhǔn)確率低于學(xué)習(xí)率設(shè)置為0.001的模型。由表3可知,隨著學(xué)習(xí)率的降低,預(yù)測準(zhǔn)確率呈先上升后下降的趨勢,學(xué)習(xí)率設(shè)置為0.001時模型的預(yù)測準(zhǔn)確率最高,為96.67%,損失值最小,為0.102 2。在3組學(xué)習(xí)率條件下,模型所用時間基本一致,可能與數(shù)據(jù)集的樣本數(shù)量有關(guān)。
為驗(yàn)證模型的實(shí)用性,基于LabVIEW開發(fā)空殼核桃檢測分選系統(tǒng)進(jìn)行驗(yàn)證。利用LabVIEW中的Matlab Script節(jié)點(diǎn),將Matlab強(qiáng)大的圖像處理和計(jì)算功能運(yùn)用于LabVIEW程序中。依次讀取文件中的圖像,對圖像進(jìn)行預(yù)處理,同時加載已經(jīng)建立好的卷積神經(jīng)網(wǎng)絡(luò),并輸出判別結(jié)果,實(shí)現(xiàn)空殼核桃的檢測分選。核桃內(nèi)部品質(zhì)檢測分選系統(tǒng)界面如圖5所示。
圖5 核桃內(nèi)部品質(zhì)檢測分選系統(tǒng)界面Fig.5 Detection system of walnut internal quality
采用檢測系統(tǒng)對核桃品質(zhì)進(jìn)行驗(yàn)證的結(jié)果如表4所示。由表4可知,空殼核桃的判別準(zhǔn)確率可達(dá)100%,正常核桃有3個誤判為干癟核桃,干癟核桃中有9個被誤判為正常核桃,模型平均判別準(zhǔn)確率為96.39%。分析原因是由于劃分標(biāo)準(zhǔn)不明確,極少部分核桃介于干癟和正常核桃之間導(dǎo)致的判別失誤,不會對分類結(jié)果產(chǎn)生較大影響,但判別標(biāo)準(zhǔn)有待進(jìn)一步改進(jìn)提升??傮w來說,該系統(tǒng)可實(shí)現(xiàn)空殼核桃的檢測與分選。
表4 核桃內(nèi)部品質(zhì)檢測系統(tǒng)驗(yàn)證Tab.4 Verification of walnut internal quality inspection system
(1)對比4種不同遷移學(xué)習(xí)模型,GoogLeNet模型預(yù)測準(zhǔn)確率最高,達(dá)到96.67%,同時模型耗時少且收斂穩(wěn)定。
(2)設(shè)置不同學(xué)習(xí)率和迭代次數(shù)對模型進(jìn)行訓(xùn)練,確定學(xué)習(xí)率為0.001,迭代次數(shù)為25次時,預(yù)測準(zhǔn)確率達(dá)到最高,為96.67%,效果最佳。
(3)開發(fā)空殼核桃檢測分選系統(tǒng),空殼核桃的判別準(zhǔn)確率達(dá)到100%,模型平均判別準(zhǔn)確率為96.39%。該系統(tǒng)實(shí)現(xiàn)了空殼核桃的準(zhǔn)確、高效、無損檢測分選,提升和改進(jìn)了核桃檢測分選技術(shù)。