羅秀芝,馬本學, 2,李小霞,胡洋洋,王文霞,雷聲淵
(1.石河子大學機械電氣工程學院,新疆石河子 832000;2.農業部西北農業裝備重點實驗室,新疆石河子 83200)
【研究意義】哈密干棗作為極具新疆地域特色的干果產品之一,具有皮薄、肉厚、質地較密、色澤鮮亮、維生素含量高等優點,其大多經過干制加工分類再進入市場[1]。由于受到外部自然條件的影響,即使是同一品種的紅棗,紅棗外部的紋理也會有一定的差異,如果不經過分選進入銷售市場,那么它的價值會降低。紅棗加工分級是紅棗銷售前一個很重要的環節?!厩叭搜芯窟M展】近年來,根據外觀品質對干制大棗分類技術已經進入智能化識別分選階段[2-4]??祵幉ǖ萚5]基于電磁式同步執行機構的鮮棗分級機設計與試驗,蔣偉[6]提出了基于 OpenCV的紅棗紋理檢測研究,柴春花等[7]提出采用機器視覺紅棗紋理分級方法。【本研究切入點】上述的方法都要從圖片中計算出人為設置的特征,再利用這些特征去訓練一個分類器,用于測試數據的分類,這些方法都是人為去選擇特征,存在一定的人為主觀判斷性。設計了一種基于計算機視覺技術[8],并融合深度學習算法的干制哈密大棗紋理分級系統,該系統主要運用了深度學習方法中的卷積神經網絡。卷積神經網絡不需要手動設計要提取的特征,可以直接將圖片作為輸入,隱式地學習多層次特征,進而實現分類[9]。相比目前常用的人工設計特征然后利用各分類器訓練分類,具有明顯的優勢。近年來,卷積神經網絡已成為語音、圖像識別領域研究熱點[10-11]。它的權值共享使得網絡復雜度降低,權值數量減少。卷積神經網絡直接將圖片作為輸入,避免了復雜的特征設計和提取,具有一定的平移、縮放和扭曲不變性等特點[12]。【擬解決的關鍵問題】采用卷積神經網絡根據干制哈密大棗紋理進行分類,分析在卷積神經網絡中,卷積層和池化層的個數,以及卷積核和特征圖的大小、數目等為干制哈密大棗紋理分級提供科學依據。
1.1材料
1.1.1哈密大棗
材料為干制哈密大棗,采購自新疆哈密地區中北部的五堡鄉。依據干制哈密大棗地方標準對干棗進行篩選,按照其表面紋理標準分為特級、一級、二級三類,每類各300個。圖1

圖1 干制哈密大棗樣品
Fig.1 The sample of Dried Hami jujube
1.1.2 設備
圖像采集裝置及處理環境包括JAI CV-M7+CL型CCD工業相機、AFT-BL250W型平面光源、AFT-ALP2406-02型光源控制器、Matrox Solios XCL型圖像采集卡、Intel CORE i5的處理器、Windows7 x86的系統、在平面光源環境下,通過CCD工業相機采集圖像。圖2

注:1.圖像采集卡;2.電腦主機;3.傳輸線路;4.工業相機;5.LED光源;6.遮光箱 7.干制哈密大棗;8.傳送帶;9.驅動輪
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 機器視覺裝置
Fig.2 The machine vision device
1.2 方 法
1.2.1 圖像采集與處理
用濕毛巾將干制哈密大棗表面的塵土擦拭干凈,為了提高網絡對干制哈密大棗圖片分類的魯棒性以及增加圖片的數量,對哈密大棗進行了水平翻轉處理,總共采集圖片2 030張。將干制哈密大棗的彩色圖片,用Matlab R2018a軟件對其進行最小矩形框處理,并且圖片像素大小統一為64×64。圖3
1.2.2 基于卷積神經網絡的干制哈密大棗紋理提取
采用5層網絡結構,2個卷積層,2個池化層和一個全連接層。圖4

圖3 處理后棗
Fig.3 The processed map

圖4 卷積網絡結構
Fig.4 Convolutional network structure of this study
1.2.2.1 將64×64的彩色圖片輸入網絡中,第一層為卷積層C1,卷積層即輸入的圖片與卷積核進行卷積運算得到特征平面,卷積核的大小設為9×9,特征平面上每個神經元都與原圖像9×9大小的局部感受野相連接。卷積核的移動步長設置為1個像素,計算出卷積層C1的特征平面的大小56×56=(64-9+1)×(64-9+1)。采取6個不同的卷積核與輸入圖片進行卷積運算,得到6個不同的特征面。圖5

圖5 神經元權值共享
Fig.5 The shared weight of neurons
特征面上的所有神經元共享一個卷積核,在卷積的過程中卷積完成以后的結果并非直接存儲在C1層特征圖中,而是用激活函數將神經元非線性化,使得網絡具有更強特征表達能力。Krizhevsky等[13]發現激活函數Relu收斂速度相比于sigmod/tanh快很多,并且得到的結果稀疏。選擇的激勵函數為ReLu。卷積層的各平面表達公式如下:

式中down(.)—一個下采樣網絡;
l—當前層數;


1.2.2.2 卷積完成后的池化層S1由6個特征面組成,池化層是對上一層特征圖進行第二次特征提取。常用的池化方式有均值池化(Average pooling)和最大池化(Max pooling)。均值池化是對鄰域里的特征點求平均值,而最大池化是對鄰域內所有特征點取最大值。研究采用的是最大池化。圖6

圖6 池化過程
Fig.6 The pooling process of images
因為C1特征圖的大小為56×56,所以最終每個平面的大小為14×14。池化層的各平面表達公式為:

式中down(.)—一個下采樣網絡;
l—當前層數;


1.2.2.3 卷積層C3與C1層的操作有類似的地方,不同的是卷積核的大小設為7×7,步長為1,卷基層C3特征圖大小為8×8=(14-7+1)×(14-7+1),共有12個特征平面圖。池化層S4池化尺寸設為2×2,步長設為2,輸出了12個4×4大小的特征圖平面。
1.2.2.4 最后一層為全連接層,將上一層12個4×4大小的二維平面圖展開成為1×192大小的一維向量輸入Softmax分類器,輸出層一共有3個神經元,也就是把輸入的干制哈密大棗圖片按紋理分為特級、一級、二級三類。
1.2.3 網絡訓練
1.2.3.1 正向傳播
正向傳播即將預處理好的圖片輸入卷積神經網絡計算得到分類標簽。卷積神經網絡正向傳播單個神經元模型如圖7所示[14]。每個神經元的輸出公式為(3):圖7



cn-1—第n-1層神經元的個數;

圖7 單個神經元模型
Fig.7 The model of Single neuron
1.2.3.2 反向傳播
反向傳播即計算分類標簽與實際分類標簽之間的誤差。目的就是使誤差最小化,根據這個原則來調整網絡中的各個權值。共有n個訓練樣本,并且分為三類。n個樣本的誤差表達式為:
式中tn—第n個樣本的網絡輸出標簽;

為了讓誤差變得更小,利用公式(5)來更新各層神經元的權值,直到網絡誤差率曲線收斂才停止訓練。
W(t+1)=W(t)+ηδ(t)×X(t).
式中W(t)—表示計算第n個樣本的權值;
W(t+1)—表示計算第n+1個樣本的值;
η—表示學習率;
δ—為神經元的誤差項;
X—表示輸入。
2.1 試驗數據
試驗在Matlab R2018a軟件上完成,所采用的干制哈密大棗圖片由工業相機拍攝,在拍攝過程中為了提高網絡對哈密大棗圖片分類的魯棒性以及增加圖片的數量,對哈密大棗進行了水平翻轉處理。測試集樣本占總樣本的30%。表1
表1 試驗數據
Table 1 The experimental data

紋理Texture特級Grade Special一級Grade 1二級Grade 2合計In total訓練集4625394201421測試集198231180609合計6607706002 030
2.2 卷積網絡結構調整
2.2.1 卷積層層數
在卷積神經網絡中,卷積層個數的設置至關重要,過多和過少都會影響網絡的訓練結果。該文分別使用3層卷積、2層卷積進行試驗,每一種卷積層都迭代550次,并將其得到誤差率和訓練耗時進行比較,當網絡的層數為2層時,誤差率最低訓練耗時最少。表2
表2 不同卷積層數網絡誤差率
Table 2 Network error rate of different convolution layers

卷積層數Number of convolution layers23網絡結構Network structure9-79-5-5訓練耗時(hh:mm:ss)Training time00:17:0000:17:27誤差率(%)Error rate2.37.22
2.2.2 卷積核的設置
卷積核大小也是影響網絡分類準確率的因素之一,使用2層卷積網絡結構,并且將網絡的卷積核大小分別設置為9-7、9-5、5-7、5-5、5-3進行試驗,迭代次數為550次,5種情況誤差率。表3
表3 不同卷積核網絡誤差率
Table 3 The error rate of different convolution kernel network

網絡結構Network structure9-79-55-75-55-3誤差率(%)Error rate2.32.64.64.274.27
卷積核選擇9-7、9-5誤差率較小,兩者的損失函數值,網絡卷積核大小選擇9-7誤差率最小,相比于卷積核大小為9-5,卷積核為9-7的收斂速度較快,并且損失函數值低。因此,該網絡采用兩層卷積層,各層卷積核為9-7的卷積神經網絡結構。表3,圖8

圖8 不同卷積核網絡損失函數
Fig.8 The loss function of Different convolution kernel network
3.1 網絡的訓練方式為批量訓練,即將樣本分為多個批次,當一批樣本前向傳播完以后再進行權值更新,每個批次為50張圖片,網絡的迭代次數為550次。學習速率η決定了反向傳播中梯度下降的速度,設置過大或過小都會致使訓練失敗[15],研究設置的學習率為0.000 1。從開始訓練到迭代次數為50次的時候,誤差率下降的較快,并且50次以后網絡誤差率收斂,當訓練到250次時,誤差率降為0。圖9

圖9誤差率曲線
Fig.9 The graph of error rate
3.2 常用的紋理提取方法是用灰度共生矩陣提取哈密干棗的六個紋理描述子(最大概率、相關性、對比度、能量、熵、同質性),并將其作為BP神經網絡和SVM分類器的輸入向量。對于非線性的三分類問題,試驗選擇在Matlab軟件安裝LIBSVM工具箱[16],并且選擇徑向基函數作為SVM的核函數。與設計的卷積神經網絡分類效果進行對比。表4
表4 卷積神經網絡和其他方法的性能對比
Table 4 Performance comparison between convolutional neural networks and other methods

方法平均準確率(%)灰度共生矩陣+BP88.67灰度共生矩陣+SVM85.66CNN97.7
4.1 提出了一種基于卷積神經的分類方法,該方法避免了復雜的圖像預處理過程,能夠更好地對干制哈密大棗紋理進行分類,分類準確率達到了97.7%。
4.2 采用5層網絡結構,利用卷積神經網絡的局部連接和權值共享等特點使得網絡復雜度降低,提高了網絡的訓練性能。卷積神經網絡直接將RGB圖片作為輸入,避免了復雜的特征設計和提取。
4.3 相對于用灰度共生矩陣提取紋理信息,再分別用BP神經網絡和SVM來分類,用卷積神經網絡對哈密大棗紋理進行分類準確率高并且試驗過程更簡單。