羅秀芝,馬本學(xué), 2,李小霞,胡洋洋,王文霞,雷聲淵
(1.石河子大學(xué)機(jī)械電氣工程學(xué)院,新疆石河子 832000;2.農(nóng)業(yè)部西北農(nóng)業(yè)裝備重點(diǎn)實(shí)驗(yàn)室,新疆石河子 83200)
【研究意義】哈密干棗作為極具新疆地域特色的干果產(chǎn)品之一,具有皮薄、肉厚、質(zhì)地較密、色澤鮮亮、維生素含量高等優(yōu)點(diǎn),其大多經(jīng)過干制加工分類再進(jìn)入市場[1]。由于受到外部自然條件的影響,即使是同一品種的紅棗,紅棗外部的紋理也會(huì)有一定的差異,如果不經(jīng)過分選進(jìn)入銷售市場,那么它的價(jià)值會(huì)降低。紅棗加工分級(jí)是紅棗銷售前一個(gè)很重要的環(huán)節(jié)?!厩叭搜芯窟M(jìn)展】近年來,根據(jù)外觀品質(zhì)對(duì)干制大棗分類技術(shù)已經(jīng)進(jìn)入智能化識(shí)別分選階段[2-4]??祵幉ǖ萚5]基于電磁式同步執(zhí)行機(jī)構(gòu)的鮮棗分級(jí)機(jī)設(shè)計(jì)與試驗(yàn),蔣偉[6]提出了基于 OpenCV的紅棗紋理檢測研究,柴春花等[7]提出采用機(jī)器視覺紅棗紋理分級(jí)方法。【本研究切入點(diǎn)】上述的方法都要從圖片中計(jì)算出人為設(shè)置的特征,再利用這些特征去訓(xùn)練一個(gè)分類器,用于測試數(shù)據(jù)的分類,這些方法都是人為去選擇特征,存在一定的人為主觀判斷性。設(shè)計(jì)了一種基于計(jì)算機(jī)視覺技術(shù)[8],并融合深度學(xué)習(xí)算法的干制哈密大棗紋理分級(jí)系統(tǒng),該系統(tǒng)主要運(yùn)用了深度學(xué)習(xí)方法中的卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)不需要手動(dòng)設(shè)計(jì)要提取的特征,可以直接將圖片作為輸入,隱式地學(xué)習(xí)多層次特征,進(jìn)而實(shí)現(xiàn)分類[9]。相比目前常用的人工設(shè)計(jì)特征然后利用各分類器訓(xùn)練分類,具有明顯的優(yōu)勢。近年來,卷積神經(jīng)網(wǎng)絡(luò)已成為語音、圖像識(shí)別領(lǐng)域研究熱點(diǎn)[10-11]。它的權(quán)值共享使得網(wǎng)絡(luò)復(fù)雜度降低,權(quán)值數(shù)量減少。卷積神經(jīng)網(wǎng)絡(luò)直接將圖片作為輸入,避免了復(fù)雜的特征設(shè)計(jì)和提取,具有一定的平移、縮放和扭曲不變性等特點(diǎn)[12]?!緮M解決的關(guān)鍵問題】采用卷積神經(jīng)網(wǎng)絡(luò)根據(jù)干制哈密大棗紋理進(jìn)行分類,分析在卷積神經(jīng)網(wǎng)絡(luò)中,卷積層和池化層的個(gè)數(shù),以及卷積核和特征圖的大小、數(shù)目等為干制哈密大棗紋理分級(jí)提供科學(xué)依據(jù)。
1.1材料
1.1.1哈密大棗
材料為干制哈密大棗,采購自新疆哈密地區(qū)中北部的五堡鄉(xiāng)。依據(jù)干制哈密大棗地方標(biāo)準(zhǔn)對(duì)干棗進(jìn)行篩選,按照其表面紋理標(biāo)準(zhǔn)分為特級(jí)、一級(jí)、二級(jí)三類,每類各300個(gè)。圖1
圖1 干制哈密大棗樣品
Fig.1 The sample of Dried Hami jujube
1.1.2 設(shè)備
圖像采集裝置及處理環(huán)境包括JAI CV-M7+CL型CCD工業(yè)相機(jī)、AFT-BL250W型平面光源、AFT-ALP2406-02型光源控制器、Matrox Solios XCL型圖像采集卡、Intel CORE i5的處理器、Windows7 x86的系統(tǒng)、在平面光源環(huán)境下,通過CCD工業(yè)相機(jī)采集圖像。圖2
注:1.圖像采集卡;2.電腦主機(jī);3.傳輸線路;4.工業(yè)相機(jī);5.LED光源;6.遮光箱 7.干制哈密大棗;8.傳送帶;9.驅(qū)動(dòng)輪
Note: 1.Image acquisition card; 2.Computer; 3. Transmission line; 4.Industrial camera; 5.LED light source; 6. Blackout box; 7.Dried jujube fruit; 8.Conveyor belt. 9. Drive wheel
圖2 機(jī)器視覺裝置
Fig.2 The machine vision device
1.2 方 法
1.2.1 圖像采集與處理
用濕毛巾將干制哈密大棗表面的塵土擦拭干凈,為了提高網(wǎng)絡(luò)對(duì)干制哈密大棗圖片分類的魯棒性以及增加圖片的數(shù)量,對(duì)哈密大棗進(jìn)行了水平翻轉(zhuǎn)處理,總共采集圖片2 030張。將干制哈密大棗的彩色圖片,用Matlab R2018a軟件對(duì)其進(jìn)行最小矩形框處理,并且圖片像素大小統(tǒng)一為64×64。圖3
1.2.2 基于卷積神經(jīng)網(wǎng)絡(luò)的干制哈密大棗紋理提取
采用5層網(wǎng)絡(luò)結(jié)構(gòu),2個(gè)卷積層,2個(gè)池化層和一個(gè)全連接層。圖4
圖3 處理后棗
Fig.3 The processed map
圖4 卷積網(wǎng)絡(luò)結(jié)構(gòu)
Fig.4 Convolutional network structure of this study
1.2.2.1 將64×64的彩色圖片輸入網(wǎng)絡(luò)中,第一層為卷積層C1,卷積層即輸入的圖片與卷積核進(jìn)行卷積運(yùn)算得到特征平面,卷積核的大小設(shè)為9×9,特征平面上每個(gè)神經(jīng)元都與原圖像9×9大小的局部感受野相連接。卷積核的移動(dòng)步長設(shè)置為1個(gè)像素,計(jì)算出卷積層C1的特征平面的大小56×56=(64-9+1)×(64-9+1)。采取6個(gè)不同的卷積核與輸入圖片進(jìn)行卷積運(yùn)算,得到6個(gè)不同的特征面。圖5
圖5 神經(jīng)元權(quán)值共享
Fig.5 The shared weight of neurons
特征面上的所有神經(jīng)元共享一個(gè)卷積核,在卷積的過程中卷積完成以后的結(jié)果并非直接存儲(chǔ)在C1層特征圖中,而是用激活函數(shù)將神經(jīng)元非線性化,使得網(wǎng)絡(luò)具有更強(qiáng)特征表達(dá)能力。Krizhevsky等[13]發(fā)現(xiàn)激活函數(shù)Relu收斂速度相比于sigmod/tanh快很多,并且得到的結(jié)果稀疏。選擇的激勵(lì)函數(shù)為ReLu。卷積層的各平面表達(dá)公式如下:
式中down(.)—一個(gè)下采樣網(wǎng)絡(luò);
l—當(dāng)前層數(shù);
1.2.2.2 卷積完成后的池化層S1由6個(gè)特征面組成,池化層是對(duì)上一層特征圖進(jìn)行第二次特征提取。常用的池化方式有均值池化(Average pooling)和最大池化(Max pooling)。均值池化是對(duì)鄰域里的特征點(diǎn)求平均值,而最大池化是對(duì)鄰域內(nèi)所有特征點(diǎn)取最大值。研究采用的是最大池化。圖6
圖6 池化過程
Fig.6 The pooling process of images
因?yàn)镃1特征圖的大小為56×56,所以最終每個(gè)平面的大小為14×14。池化層的各平面表達(dá)公式為:
式中down(.)—一個(gè)下采樣網(wǎng)絡(luò);
l—當(dāng)前層數(shù);
1.2.2.3 卷積層C3與C1層的操作有類似的地方,不同的是卷積核的大小設(shè)為7×7,步長為1,卷基層C3特征圖大小為8×8=(14-7+1)×(14-7+1),共有12個(gè)特征平面圖。池化層S4池化尺寸設(shè)為2×2,步長設(shè)為2,輸出了12個(gè)4×4大小的特征圖平面。
1.2.2.4 最后一層為全連接層,將上一層12個(gè)4×4大小的二維平面圖展開成為1×192大小的一維向量輸入Softmax分類器,輸出層一共有3個(gè)神經(jīng)元,也就是把輸入的干制哈密大棗圖片按紋理分為特級(jí)、一級(jí)、二級(jí)三類。
1.2.3 網(wǎng)絡(luò)訓(xùn)練
1.2.3.1 正向傳播
正向傳播即將預(yù)處理好的圖片輸入卷積神經(jīng)網(wǎng)絡(luò)計(jì)算得到分類標(biāo)簽。卷積神經(jīng)網(wǎng)絡(luò)正向傳播單個(gè)神經(jīng)元模型如圖7所示[14]。每個(gè)神經(jīng)元的輸出公式為(3):圖7
cn-1—第n-1層神經(jīng)元的個(gè)數(shù);
圖7 單個(gè)神經(jīng)元模型
Fig.7 The model of Single neuron
1.2.3.2 反向傳播
反向傳播即計(jì)算分類標(biāo)簽與實(shí)際分類標(biāo)簽之間的誤差。目的就是使誤差最小化,根據(jù)這個(gè)原則來調(diào)整網(wǎng)絡(luò)中的各個(gè)權(quán)值。共有n個(gè)訓(xùn)練樣本,并且分為三類。n個(gè)樣本的誤差表達(dá)式為:
式中tn—第n個(gè)樣本的網(wǎng)絡(luò)輸出標(biāo)簽;
為了讓誤差變得更小,利用公式(5)來更新各層神經(jīng)元的權(quán)值,直到網(wǎng)絡(luò)誤差率曲線收斂才停止訓(xùn)練。
W(t+1)=W(t)+ηδ(t)×X(t).
式中W(t)—表示計(jì)算第n個(gè)樣本的權(quán)值;
W(t+1)—表示計(jì)算第n+1個(gè)樣本的值;
η—表示學(xué)習(xí)率;
δ—為神經(jīng)元的誤差項(xiàng);
X—表示輸入。
2.1 試驗(yàn)數(shù)據(jù)
試驗(yàn)在Matlab R2018a軟件上完成,所采用的干制哈密大棗圖片由工業(yè)相機(jī)拍攝,在拍攝過程中為了提高網(wǎng)絡(luò)對(duì)哈密大棗圖片分類的魯棒性以及增加圖片的數(shù)量,對(duì)哈密大棗進(jìn)行了水平翻轉(zhuǎn)處理。測試集樣本占總樣本的30%。表1
表1 試驗(yàn)數(shù)據(jù)
Table 1 The experimental data
紋理Texture特級(jí)Grade Special一級(jí)Grade 1二級(jí)Grade 2合計(jì)In total訓(xùn)練集4625394201421測試集198231180609合計(jì)6607706002 030
2.2 卷積網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整
2.2.1 卷積層層數(shù)
在卷積神經(jīng)網(wǎng)絡(luò)中,卷積層個(gè)數(shù)的設(shè)置至關(guān)重要,過多和過少都會(huì)影響網(wǎng)絡(luò)的訓(xùn)練結(jié)果。該文分別使用3層卷積、2層卷積進(jìn)行試驗(yàn),每一種卷積層都迭代550次,并將其得到誤差率和訓(xùn)練耗時(shí)進(jìn)行比較,當(dāng)網(wǎng)絡(luò)的層數(shù)為2層時(shí),誤差率最低訓(xùn)練耗時(shí)最少。表2
表2 不同卷積層數(shù)網(wǎng)絡(luò)誤差率
Table 2 Network error rate of different convolution layers
卷積層數(shù)Number of convolution layers23網(wǎng)絡(luò)結(jié)構(gòu)Network structure9-79-5-5訓(xùn)練耗時(shí)(hh:mm:ss)Training time00:17:0000:17:27誤差率(%)Error rate2.37.22
2.2.2 卷積核的設(shè)置
卷積核大小也是影響網(wǎng)絡(luò)分類準(zhǔn)確率的因素之一,使用2層卷積網(wǎng)絡(luò)結(jié)構(gòu),并且將網(wǎng)絡(luò)的卷積核大小分別設(shè)置為9-7、9-5、5-7、5-5、5-3進(jìn)行試驗(yàn),迭代次數(shù)為550次,5種情況誤差率。表3
表3 不同卷積核網(wǎng)絡(luò)誤差率
Table 3 The error rate of different convolution kernel network
網(wǎng)絡(luò)結(jié)構(gòu)Network structure9-79-55-75-55-3誤差率(%)Error rate2.32.64.64.274.27
卷積核選擇9-7、9-5誤差率較小,兩者的損失函數(shù)值,網(wǎng)絡(luò)卷積核大小選擇9-7誤差率最小,相比于卷積核大小為9-5,卷積核為9-7的收斂速度較快,并且損失函數(shù)值低。因此,該網(wǎng)絡(luò)采用兩層卷積層,各層卷積核為9-7的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。表3,圖8
圖8 不同卷積核網(wǎng)絡(luò)損失函數(shù)
Fig.8 The loss function of Different convolution kernel network
3.1 網(wǎng)絡(luò)的訓(xùn)練方式為批量訓(xùn)練,即將樣本分為多個(gè)批次,當(dāng)一批樣本前向傳播完以后再進(jìn)行權(quán)值更新,每個(gè)批次為50張圖片,網(wǎng)絡(luò)的迭代次數(shù)為550次。學(xué)習(xí)速率η決定了反向傳播中梯度下降的速度,設(shè)置過大或過小都會(huì)致使訓(xùn)練失敗[15],研究設(shè)置的學(xué)習(xí)率為0.000 1。從開始訓(xùn)練到迭代次數(shù)為50次的時(shí)候,誤差率下降的較快,并且50次以后網(wǎng)絡(luò)誤差率收斂,當(dāng)訓(xùn)練到250次時(shí),誤差率降為0。圖9
圖9誤差率曲線
Fig.9 The graph of error rate
3.2 常用的紋理提取方法是用灰度共生矩陣提取哈密干棗的六個(gè)紋理描述子(最大概率、相關(guān)性、對(duì)比度、能量、熵、同質(zhì)性),并將其作為BP神經(jīng)網(wǎng)絡(luò)和SVM分類器的輸入向量。對(duì)于非線性的三分類問題,試驗(yàn)選擇在Matlab軟件安裝LIBSVM工具箱[16],并且選擇徑向基函數(shù)作為SVM的核函數(shù)。與設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)分類效果進(jìn)行對(duì)比。表4
表4 卷積神經(jīng)網(wǎng)絡(luò)和其他方法的性能對(duì)比
Table 4 Performance comparison between convolutional neural networks and other methods
方法平均準(zhǔn)確率(%)灰度共生矩陣+BP88.67灰度共生矩陣+SVM85.66CNN97.7
4.1 提出了一種基于卷積神經(jīng)的分類方法,該方法避免了復(fù)雜的圖像預(yù)處理過程,能夠更好地對(duì)干制哈密大棗紋理進(jìn)行分類,分類準(zhǔn)確率達(dá)到了97.7%。
4.2 采用5層網(wǎng)絡(luò)結(jié)構(gòu),利用卷積神經(jīng)網(wǎng)絡(luò)的局部連接和權(quán)值共享等特點(diǎn)使得網(wǎng)絡(luò)復(fù)雜度降低,提高了網(wǎng)絡(luò)的訓(xùn)練性能。卷積神經(jīng)網(wǎng)絡(luò)直接將RGB圖片作為輸入,避免了復(fù)雜的特征設(shè)計(jì)和提取。
4.3 相對(duì)于用灰度共生矩陣提取紋理信息,再分別用BP神經(jīng)網(wǎng)絡(luò)和SVM來分類,用卷積神經(jīng)網(wǎng)絡(luò)對(duì)哈密大棗紋理進(jìn)行分類準(zhǔn)確率高并且試驗(yàn)過程更簡單。