張瑞青,李張威,郝建軍,孫 磊,李 浩,韓 鵬
基于遷移學習的卷積神經網絡花生莢果等級圖像識別
張瑞青1,李張威1,郝建軍1,孫 磊1,李 浩1,韓 鵬2
(1. 河北農業大學機電工程學院,保定 071001;2. 河北省農業技術推廣總站,石家莊 050000)
針對花生莢果人工分級效率低、機械分級不精確等問題,該研究提出一種基于遷移學習的卷積神經網絡花生莢果等級圖像識別方法。利用翻轉、旋轉、平移、對比度變換和亮度變換等操作,對獲取的5個等級花生莢果圖像進行數量擴充和預處理,得到花生莢果等級圖像數據集;對比分析了GoogLeNet、ResNet18和AlexNet 3種基本模型下花生莢果圖像分級識別的性能;通過遷移AlexNet卷積層對花生莢果等級識別模型進行了改進,用批歸一化替換局部響應歸一化且將激活函數置于批歸一化層前后不同位置,設計了4種不同的識別訓練模型;對改進的4種AlexNet模型進行遷移學習對比試驗和超參數學習率優化試驗,研究了非飽和激活函數和改進的非飽和激活函數對模型性能的影響。試驗結果表明,在滿足測試精度的基礎上AlexNet模型所用訓練時間最少;基于AlexNet的改進模型的遷移學習中學習率是需要優化的超參數,合適的學習率能夠加快模型的訓練并提升識別能力;改進模型中批歸一化的引入及網絡參數的減少,縮減了220 s訓練時間,模型性能提高。所構建的花生莢果等級識別模型(Penut_AlexNet model,PA模型)對花生莢果5個等級分類識別準確率達到95.43%,該模型對花生莢果等級識別具有較高的準確率,也可為其他農產品精確分級提供參考。
圖像識別;模型;卷積神經網絡;遷移學習;批歸一化;花生莢果;等級分類
花生是中國經濟作物和油料作物之一,種植面廣,產量高。但在收獲時,不論是機械收獲還是人工收獲,都會出現花生莢果等級不一且夾雜各種雜物的現象,不同等級的花生莢果價格不同,經濟效益也不同,在售賣、加工或出口前進行分選分級,可以提升花生莢果品質和價值。由于人工分級效率低,而機械式(圓筒篩分)[1]和振動篩分[2])分級根據花生莢果的大小來分選,篩式分級易造成堵塞和花生受損,也難以精確細分。近年來,花生的分級、檢測在智能識別上已有了初步的研究,如將機器視覺技術與人工神經網絡結合實現的花生仁外觀品質檢測[3],基于卷積神經網絡實現的花生仁完整性分類識別[4],將深度學習與高光譜成像技術結合實現的花生品種分類[5],鮮少有將深度學習用于花生莢果等級分類識別的研究報道。
卷積神經網絡(Convolutional Neural Network, CNN)是深度學習的代表算法之一,CNN通過權值共享與局部連接,不但可以降低網絡模型復雜度,還能減少權值數目,目前CNN已在圖像識別、自然語言處理、文本分析等方面取得了成功。在圖像分類識別上,CNN的優勢在于可以用原始圖像作為輸入,通過前向與反向傳播優化模型參數,得到輸出預測結果,實現端到端的學習。這種智能學習方法摒棄了以往繁雜的圖像預處理和特征提取過程,減少了由人工設計合適的特征提取器等工作。但CNN卻需要大量的標記樣本進行訓練以及強大的圖形處理器(Graphics Processing Unit, GPU)加速學習[6],并且復雜的CNN深層網絡結構還需耗費大量時間去調參[7]。高震宇等[8]搭建了一個7層的CNN模型實現鮮茶葉的識別,識別精度不低于90%。無論是訓練一個大型的CCN模型還是收集大量的圖像數據,都是一個耗時的過程,而遷移學習的出現則很好的解決上述問題。農業領域中,Patino-Saucedo等[9]以AlexNet模型為基礎,使用增強的訓練數據集訓練微調后的遷移學習模型,實現了15類熱帶水果的分類,分類精度高?;谶w移學習的CNN在植物葉片圖像識別[10]、病害圖像分類識別[11-14]、水果目標識別[15-16]、紅棗外觀品質分級[17]等方面都取得了成功。CNN已成為計算機視覺的核心算法模型,AlexNet[18]作為深度學習發展史的轉折點,得到了研究者的廣泛應用研究,并且出現了VGGNet[19]、GoogLeNet[20]、ResNet[21]等模型及其在農業工程中的應用研究。
綜上,為了提高花生莢果等級識別的精度,探索適合花生莢果等級識別的遷移學習模型以及模型中有關參數的最優設置,本研究基于AlexNet基本模型,利用遷移學習方法構建并訓練花生莢果等級識別模型;對AlexNet、GoogLeNet和ResNet18 3種基本模型進行了對比分析試驗;對模型結構及超參數進行了改進和優化,以期減少模型占用的內存空間,縮短訓練時間,提高模型識別準確率。本研究將為開發嵌入式的花生莢果智能分級系統提供模型支持,給出模型超參數優選方法和經驗,還可以為基于CNN的莢果類農產品的圖像識別分級系統提供參考依據。
以實驗室工作站作為訓練處理平臺,系統配置為Windows10系統,處理器為Intel Core i7-6700HQ,主頻2.60 GHz,16 GB內存,顯卡為NVIDIA GeForce GTX950M,4 GB顯存。軟件平臺使用MATLAB,使用其中的深度學習工具箱來設計和實現基于遷移學習的CNN的花生莢果等級圖像識別。
本研究選用的花生為河北省農林科學院培育的冀花5號,莢果整齊飽滿[22]。根據食用花生標準[23]并結合花生栽培專家經驗將花生莢果劃分為5個等級:一級果、二級果、三級果、四級異形果和五級破損果。在暗室環境下,發光二極管(Light Emitting Diode, LED)提供光源,花生莢果平放在黑色背景上,用通用串行總線(Universal Serial Bus, USB)接口的攝像頭垂直采集莢果樣本,拍攝距離14 cm,每個等級的莢果圖像各100幅,樣本總數為500幅,每幅圖像像素大小為640×480,格式為.jpg。使用MATLAB編寫腳本程序對圖像進行預處理,在圖中莢果不發生形變的情況下將圖像像素大小統一修改為227×227,以統一的尺寸輸入至CNN,可以減少圖像無用信息,提高處理速度。
由于建立的花生莢果等級圖像數據集屬于小數據集樣本,為減少因樣本數量過少而造成過擬合問題,提高模型泛化能力及識別準確率,通過數據增強,對樣本圖像數量進行擴充。方法是使用編寫好的MATLAB腳本程序,對圖像進行水平翻轉、垂直翻轉、平移、旋轉、亮度變換、對比度變換等操作以便獲得更多的圖像樣本,最終的圖像數據集總數為3 500幅,每級各700幅。模型訓練時,從樣本集中隨機選取60%(每級420幅共2 100幅)的樣本作為訓練集訓練模型參數,20%(每級140幅共700幅)作為驗證集調整模型超參數,剩余20%作為測試集評估模型。通過觀察模型的訓練與驗證過程,判斷模型是否發生過擬合;通過可視化模型驗證過程,進行超參數優選和模型擇優。
遷移學習[24]是把在大型數據集ImageNet上學到的圖像分類知識成功運用到待解決的新的目標分類任務中[25]。其優勢在于1)以現有最佳網絡模型為基礎,通過微調網絡層結構來構建本研究的模型,比構建和訓練隨機初始化的新網絡更快且更容易;2)預訓練網絡模型由于已學習了豐富的特征,無需龐大的數據量再訓練,可以有效縮短訓練時間。因此,本研究以經典的AlexNet作為預訓練模型,利微調網絡模型和參數微調的遷移學習方法,對花生莢果等級圖像的識別進行了研究。
1.2.1 花生莢果等級圖像識別模型構建
本研究在AlexNet模型基礎上,基于遷移學習方法,對模型激活函數和歸一化處理進行了結構微調研究,構建了花生莢果等級識別訓練模型。通過不同層結構模型的訓練結果對比和超參數優化分析,確定了本研究的花生莢果等級識別模型結構(圖1),該模型由5個卷積模塊(Conv1~Conv5)和2個全連接模塊(FC1, FC2)構成,將該網絡模型稱為花生莢果等級識別模型(Penut_AlexNet model,PA模型),占用的內存空間為25.5 MB。

注:輸入層的圖像像素大小為227×227;卷積層1、卷積層2、卷積層3、卷積層4和卷積層5的卷積核數目分別為96、256、384、384、256,卷積核大小分別為11×11、5×5、3×3、3×3、3×3,步長分別為4、1、1、1、1,填充類型分別為VALID、SAME、SAME、SAME、SAME;池化層1、池化層2和池化層3的池化類型均為最大池化,核大小均為3×3,步長均為2,填充類型均為VALID;全連接層1和全連接層2的輸出單元數分別為512和5;卷積層、全連接層的激活函數均為ReLU,且卷積層1和卷積層2的激活函數后都有一個批歸一化層。
傳統的CNN一般使用飽和非線性函數(如Sigmoid、Tanh等)作為激活函數,網絡容易出現梯度消失、梯度爆炸問題[26],而目前的CNN模型常使用非線性激活函數修正線性單元(Rectified Linear Unit, ReLU)代替飽和的非線性函數,能有效解決上述問題,且能加快網絡的收斂速度[27]。ReLU函數表達式如式(1)所示:

式中為輸入,()為輸出。


本研究在模型構建時,對2種激活函數LReLU和ReLU的模型性能進行了對比分析,由于LReLU微調模型性能改善并不明顯,最終確定使用ReLU作為本研究模型的激活函數。
Simonyan等[19]和郭敏鋼等[29]研究證實局部響應歸一化(Local Response Normalization, LRN)并不會提高模型的性能,郭小清等[30]研究中發現去除LRN層可以加快網絡傳播速度。批歸一化(Batch Normalization, BN)由Ioffe等[31]提出并置于激活函數前,其結果表明BN能夠加快網絡的訓練,提升模型的性能。因此,本研究在模型中用BN替換LRN,并進行模型替換前后的性能比較,參考Rosebrock[32]結論及本研究結果分析,最終將BN置于激活函數后邊。BN函數表達式如式(3)所示:


AlexNet原始模型的參數數量高達6 100萬,其中全連接層占96.17%,即使由1 000類輸出變為本研究的5類花生莢果輸出,參數量依然很大,計算冗余易出現過擬合,且占用很大內存。因此,為降低網絡模型參數量,對模型結構進行改進,去除原有的3個全連接層(全連接層FC1、FC2、FC3的輸出單元數分別為4 096、4 096、1 000),設計新的2個全連接層(全連接層FC1、FC2的輸出單元數分別為512、5),在FC1前加入一個失活層,并設置失活概率為0.4,FC1的激活函數使用ReLU。此時的模型參數量為7 055 749,與只修改最后一個全連接層的模型相比,參數量下降了87.6%。為加快新全連接層的學習,設置新全連接層的權重學習率因子和偏置學習率因子都為20,并對新全連接層的權重和偏置進行隨機初始化。
Softmax層用于計算某張花生莢果圖像屬于各等級的概率值,選擇最大概率值對應的等級作為預測輸出,輸出層通過交叉熵損失函數計算誤差,評價實際輸出與期望輸出的接近程度,在反向傳播過程中對各層參數進行優化更新,交叉熵損失函數表達式如式(4)所示:

式中為權重矩陣,為偏置向量,為樣本數,為類別數,t為第個樣本屬于類別的概率,為類別中樣本的輸出概率。
為進一步減小過擬合,給損失函數添加L2正則化,則損失函數變化為如式(5)所示:


1.2.2 模型超參數設置和參數更新
模型訓練前,指定訓練選項并設置超參數,選用帶動量的隨機梯度下降算法作為模型的優化器,最大訓練輪數設置為12,批大小為70,總共進行360次迭代訓練,動量設置為0.8,L2正則化系數設為0.000 5,每一輪訓練與驗證前對數據進行打亂,驗證頻率為1,使用GPU加速模型的訓練與驗證過程并進行可視化分析。
模型的訓練過程包括花生莢果特征提取的前向傳播過程,即根據輸入計算輸出的過程;參數更新的反向傳播過程,即反向傳播實際輸出與期望輸出的誤差,更新各層參數。通過上述前后的迭代循環訓練,目標是使損失函數值達到最小。
本研究采用帶動量的隨機梯度下降算法(Stochastic Gradient Descent with Momentum, SGDM)來更新參數和優化訓練過程,參數更新函數表達式如式(6)所示:


通過混淆矩陣計算查準率(Precision)、查全率(Recall)、F1得分(F1-score)和準確率(Accuracy)、來評估所提出模型的性能,各指標函數表達式如式(7)~(10)所示:




式中TP為真陽性樣本數量,FP為假陽性樣本數量,FN為假陰性樣本數量,correct為測試中預測正確的樣本數量,total為總的測試樣本數量。
本研究結合現有設備,對AlexNet、GoogLeNet和ResNet18 3種花生莢果圖像分類識別基本模型進行對比試驗,分別把3種基本模型的最后一個全連接層由1 000類輸出改為5類輸出,替換新的Softmax層以及分類輸出層,在相同的訓練設置下,用花生莢果圖像訓練集與驗證集分別訓練與驗證模型,3種模型的遷移學習訓練過程并未出現過擬合,達到最大迭代訓練次數各模型均穩定收斂,模型都得到了充分的訓練,3種模型的驗證過程如圖2所示。由圖2可知這3種模型均可用于花生莢果等級的識別,其中ResNet18的準確率最高,損失值最低。GoogLeNet的網絡層數比ResNet18和AlexNet要多,但性能并未優于ResNet18,說明模型深度的增加,用本研究的花生莢果圖像數據集訓練出的模型性能并不一定提高。

圖2 AlexNet、GoogLeNet、ResNet18 3種模型遷移學習的驗證準確率與損失值曲線
用花生莢果圖像測試集對AlexNet、GoogLeNet和ResNet18 3種遷移學習模型進行測試,結果如表1所示,可知3種模型的測試精度均能滿足分級要求,其中GoogLeNet和ResNet18模型的測試精度稍高于AlexNet模型,但GoogLeNet、ResNet18花費的訓練時間是AlexNet的2~3倍。所以本研究后續工作是在AlexNet模型的基礎上,對模型結構進行了微調設計和參數優化分析等方面的工作。
2.2.1 微調模型結構研究
為了獲得更高的識別準確率,采用微調模型結構方法對AlexNet原始模型進行了改進,研究了4種不同花生莢果等級圖像識別結構模型,微調模型構建步驟如下:
步驟1:微調AlexNet模型,根據花生莢果實際要求輸出5級類別,把最后一個全連接層由1 000類輸出改為5類輸出,替換新的Softmax層以及分類輸出層,模型仍為8層結構,記此時微調的遷移學習模型為花生AlexNet-Ⅰ(Peanut_AlexNet-Ⅰ,PA-Ⅰ);
步驟2:在步驟1的基礎上,用BN替換LRN,有2種方式,1)BN置于ReLU前時,記遷移學習模型為花生AlexNet-Ⅱ(Peanut_AlexNet-Ⅱ,PA-Ⅱ);2)BN置于ReLU后時,記遷移學習模型為花生AlexNet-Ⅲ(Peanut_AlexNet-Ⅲ,PA-Ⅲ);
步驟3:在步驟1的基礎上對模型進行全部學習,即隨機初始化所有層的參數,記此時的全部學習模型為花生AlexNet-Ⅳ(Peanut_AlexNet-Ⅳ,PA-Ⅳ)。

表1 AlexNet、GoogLeNet、ResNet18 3種模型遷移學習結果比較
注:深度為模型從輸入層到輸出層的路徑中順序卷積層或全連接層的最大數量,大小為模型占用的內存空間。
Note: The depth is the maximum number of sequential convolution layers or full connection layers in the path from the input layer to the output layer, and the size is the memory space occupied by the model.
上述4種模型PA-Ⅰ、PA-Ⅱ、PA-Ⅲ和PA-Ⅳ都具有8層結構(5個卷積層和3個全連接層),其中前3種模型僅對所建的全連接層的參數(權重矩陣和偏置向量)進行初始化,而PA-Ⅳ模型則對所有層參數進行初始化,采用均值為0,標準差為0.01的正態分布來隨機初始化??紤]試驗復雜性,在不同影響因素下,對本研究獲取的花生莢果等級圖像數據集進行模型訓練、超參數優選及模型擇優等試驗,包括固定不同學習率和學習率自動更新的遷移學習和全部學習、不同激活函數的遷移學習以及降低全連接層參數量的遷移學習。
2.2.2 不同模型下學習率的影響
固定學習率的值依次為0.01、0.001、0.000 1和0.000 01對上述4種花生莢果等級識別模型分別進行訓練,總共進行16組試驗,經過360次迭代訓練后,4種模型PA-Ⅰ、PA-Ⅱ、PA-Ⅲ和PA-Ⅳ的訓練與驗證結果如表2所示。由表2可知學習率對各模型訓練結果影響較大。同一學習率下,各模型性能有差異,學習率不同時,同一模型性能也不同。學習率為0.01時,PA-Ⅲ模型準確率最高,損失值最低,性能最優,模型性能由高到低依次為PA-Ⅲ、PA-Ⅱ、PA-Ⅳ和PA-Ⅰ,其中PA-Ⅰ模型準確率僅為隨機猜測水平,訓練過程中模型發散導致損失值出現無窮大(NaN);學習率為0.001時,PA-Ⅲ模型性能最優,模型性能由高到低依次為PA-Ⅲ、PA-Ⅱ、PA-Ⅰ和PA-Ⅳ;學習率為0.000 1或0.000 01時,PA-Ⅰ模型性能最優,模型性能由高到低依次為PA-Ⅰ、PA-Ⅲ、PA-Ⅱ、和PA-Ⅳ。比較同一個模型在不同學習率下的性能,發現以學習率為0.001訓練的這一組模型的性能比其余3組要好。
PA-Ⅰ、PA-Ⅲ、PA-Ⅱ、和PA-Ⅳ 4種模型的驗證曲線如圖3所示,由圖3可知,學習率為0.01時,經過360次迭代訓練后4種模型均不能收斂,曲線出現了不同程度的振蕩,全部學習的PA-Ⅳ模型曲線振蕩最嚴重,說明學習率過大,設置不當;學習率為0.000 1或0.000 01時,雖然曲線振蕩不嚴重,但訓練過于緩慢,達到最大迭代次數模型還未收斂,說明學習率過小,模型還需要更多的迭代次數來訓練;學習率為0.001時,各模型均能獲得較高的準確率和較低的損失值,其中PA-Ⅲ模型性能最優基本達到收斂,迭代100次,遷移學習模型的準確率比全部學習模型高出約34%~41%,且遷移學習模型曲線振蕩幅度更小。

表2 不同固定學習率下PA-I、PA-II、PA-III和PA-IV4種模型訓練集與驗證集的準確率和損失值
注:NaN表示無窮大。
Note: NaN means infinity.

注:α為學習率。 Note: α is the learning rate.
綜上可知超參數學習率對花生莢果等級識別模型性能有重要影響:模型達到最大迭代訓練次數時仍未收斂表明超參數學習率的設置不當,需要修改;學習率過大,模型訓練振蕩甚至無法正常訓練;學習率過小,模型訓練緩慢;學習率適當,遷移學習的模型獲得的準確率更高,損失值更低。以固定學習率的方式對網絡模型訓練不可取,需要大量的試錯或優化方法尋找一個合適的學習率,較為耗時。
由表2與圖3可知固定學習率為0.001時各模型的性能較好,但驗證曲線未達到穩定收斂。因此學習率采用分段式常數衰減法進行更新,設置初始學習率為0.001,每經過4個周期學習率乘以衰減系數0.1進行更新,對PA-I、PA-II、PA-III和PA-IV 4個模型分別進行訓練,訓練與驗證結果如表3所示,觀察訓練過程發現各模型訓練時并未發生過擬合。由表3可知,相較于表2中固定學習率為0.001的4種模型,準確率下降,損失值上升。但由圖4與圖3cd可知,學習率更新下訓練的4種模型達到最大迭代訓練時都達到了穩定收斂的狀態,不再像此前的曲線振蕩,表明各模型都得到了充分的訓練,此時的超參數設置合適。PA-I、PA-II、PA-III和PA-IV 4個模型的驗證準確率分別為93.81%、95.10%、97.24%和61.33%,驗證損失值分別為0.206 9、0.156 8、0.096 8和0.981 1,其中PA-Ⅲ模型獲得的準確率最高,損失值最低,表明其性能最優。
PA-I、PA-II、PA-III和PA-IV 4種模型的驗證曲線如圖4所示,由圖4可知,在取得相同驗證準確率60%的情況下,全部學習模型PA-IV 4所需迭代次數大約是遷移學習模型的8.3~15倍,說明PA-I、PA-II、PA-III 3種遷移學習模型訓練更快更容易。PA-I模型結構中有LRN層,而PA-II和PA-III模型結構中有BN層,迭代訓練100次時,PA-II和PA-III模型達到的準確率比PA-I模型高出約7%~10%,達到的損失值也小于PA-I模型,說明BN有助于模型的訓練且能使模型獲得更高的準確率和更低的損失值。

表3 學習率更新下PA-I、PA-II、PA-III和PA-IV4種模型訓練集與驗證集的準確率和損失值

圖4 學習率更新下PA-I、PA-II、PA-III和PA-IV 4種模型的驗證準確率與損失值曲線
2.2.3 不同模型下歸一化的影響
本研究通過可視化歸一化層上的特征分布來分析比較PA-I、PA-II和PA-III模型,3種模型歸一化層上的特征分布如圖5所示。由圖5可知,雖然PA-Ⅱ模型BN上的特征分布少于PA-I模型LRN上的特征分布,但PA-I模型LRN上的特征分布存在尖銳突出現象,PA-II模型BN上的特征分布則較為平緩,使得PA-II模型的訓練結果優于PA-I模型。PA-II模型BN處于ReLU前,BN歸一化卷積層輸出特征圖再經ReLU后特征減少,原因是歸一化后有的特征變為負值(歸一化前可能不是負值的特征)經過ReLU后,負值變為0,該特征被抑制得不到學習;PA-III模型BN處于ReLU后,BN歸一化ReLU的激活值即正值特征,歸一化后的特征較PA-II模型的多,且PA-III模型第二個BN上的特征分布更具平滑性和對稱性,使得PA-III模型的訓練結果優于PA-II模型。BN確實改善了訓練過程,使模型能獲得更高的準確率和更低的損失值,關鍵因素在于BN的平滑效果使優化問題的解空間更加平滑[33],從而加快了訓練,提高了性能。

圖5 PA-I、PA-II和PA-III 3種模型歸一化層上的特征分布
2.2.4 不同模型下激活函數的影響
Xu等[34]通過試驗得到LReLU系數為0.01時,與使用ReLU的模型性能相似,當為0.18時,性能比ReLU好。為了提高花生莢果等級識別模型的分類識別準確率,本研究探究了LReLU中系數的取值規律。
在2.2.1中步驟1的基礎模型上,用LReLU激活函數替換ReLU,此時模型記為LReLU型花生AlexNet-Ⅰ(LReLU-Peanut_AlexNet-Ⅰ, LReLU-PA-Ⅰ)。取不同的值,通過多組訓練結果發現,取值≥0.05時,模型損失值出現無窮大,準確率僅為20%,說明這些值不適用于本研究;取值≤0.01時,模型性能良好能達到穩定收斂,且取值為0.000 1時,模型性能最優。
同樣在2.2.1中步驟2的基礎模型上,激活函數全部替換為LReLU,并取值0.000 1,此時模型分別記為LReLU型花生AlexNet-Ⅱ(LReLU-Peanut_AlexNet-Ⅱ, LReLU-PA-Ⅱ)和LReLU型花生AlexNet-Ⅲ(LReLU-Peanut_AlexNet-Ⅲ, LReLU-PA-Ⅲ)并進行訓練,LReLU-PA-Ⅰ、LReLU-PA-Ⅱ和LReLU-PA-Ⅲ3種模型訓練過程并未出現過擬合,曲線穩定收斂。訓練與驗證結果如表4所示。由表4可知,LReLU-PA-Ⅲ模型準確率最高,損失值最低,表明其性能最優。相較表4與表3可知,替換激活函數后,LReLU-PA-Ⅰ模型較PA-Ⅰ模型準確率提高,損失值降低,模型性能得到了一定的提升,但LReLU-PA-Ⅱ、LReLU-PA-Ⅲ模型與PA-Ⅱ、PA-Ⅲ模型性能相當,性能提升的效果很微弱,LReLU對模型的訓練并沒有產生實質性的影響而且還需花費額外的時間搜索合適的系數。

表4 LReLU-PA-Ⅰ、LReLU-PA-Ⅱ和LReLU-PA-Ⅲ 3種模型訓練集與驗證集的準確率和損失值
2.2.5 全連接層參數量的影響
通過上述對PA-Ⅰ、PA-Ⅱ、PA-Ⅲ、PA-Ⅳ、LReLU-PA-Ⅰ、LReLU-PA-Ⅱ和LReLU-PA-Ⅲ7種模型在本研究的花生莢果圖像數據集上的訓練與驗證結果比較分析,可知在學習率更新的情況下LReLU-PA-Ⅲ模型和PA-Ⅲ模型的驗證結果優于其他模型,但因為LReLU-PA-Ⅲ模型需耗費額外的時間搜索合適的系數,所以PA-Ⅲ模型的訓練效率高于LReLU-PA-Ⅲ模型。但此時PA-Ⅲ模型的參數量仍然龐大,模型訓練時間較長,因此對PA-Ⅲ模型進行降參處理,縮短訓練時間,降低模型占用的內存空間。
對PA-Ⅲ模型進行改進:去除所有的全連接層,設計新的2個全連接層(全連接層FC1、FC2的輸出單元數分別為512、5),此時的模型即為花生AlexNet(Peanut_AlexNet, PA)(圖1),與PA-Ⅲ模型相比,PA模型參數量下降了87.60%。用花生莢果圖像訓練集與驗證集分別對PA-Ⅲ和PA 2種模型進行訓練與驗證,訓練結果如表5所示,由表5可知,降參數量后,模型準確率提高,損失值降低,PA模型的驗證準確率和損失值分別達到了98.00%和0.051 4,且訓練時間縮減了220 s,PA模型的驗證結果優于PA-Ⅲ模型。

表5 PA-Ⅲ和PA 2種模型訓練集與驗證集的準確率和損失值
PA-Ⅲ和PA 2種模型的驗證曲線如圖6所示。觀察模型訓練過程訓練集和驗證集的準確率及損失值變化曲線走勢基本一致,模型未出現過擬合,訓練結束時模型穩定收斂。綜合表5和圖6可知,PA模型的準確率更高,損失值更低,花費的訓練時間更少,說明降低全連接層參數量可以提升模型的性能,減少訓練時間,提高效率。

圖6 PA-Ⅲ和PA 2種模型的驗證準確率與損失值曲線
使用最終訓練好的PA模型對花生莢果測試集進行等級識別,通過混淆矩陣計算得到查準率、查全率及F1值評估模型的性能(表6)。由表6可知PA模型對花生莢果等級的平均分類識別準確率為95.43%,準確率較高,分類性能(根據F1得分)由高到低依次為三級果、二級果、一級果、五級破損果和四級異形果。測試集中四等異形果的識別準確率為87.14%,誤識別為五級破損果的較多,主要是因為部分莢果腰部窄小且存在暗色區域,莢果表面有斑塊,莢果頭部或尾部有凹陷以及低分辨率等因素造成的誤判。

表6 PA模型的混淆矩陣及分類性能
本研究提出一種基于遷移學習的花生莢果等級圖像識別方法,利用AlexNet模型進行遷移學習,構建了適合花生莢果等級識別的網絡模型,并對影響模型性能的層結構和超參數等因素進行了分析,結論如下:
1)4種微調模型花生AlexNet-Ⅰ(Peanut_AlexNet-Ⅰ,PA-Ⅰ)、花生AlexNet-Ⅱ(Peanut_AlexNet-Ⅱ,PA-Ⅱ)、花生AlexNet-Ⅲ(Peanut_AlexNet-Ⅲ,PA-Ⅲ)和花生AlexNet-Ⅳ(Peanut_AlexNet-Ⅳ,PA-Ⅳ)中,PA-Ⅲ模型的性能最佳;基于PA-Ⅲ模型,構建并訓練的花生莢果等級識別模型花生AlexNet(Peanut_AlexNet,PA)可以較好的識別花生莢果等級,平均識別準確率為95.43%。
2)學習率對模型性能影響較大,學習率固定,模型訓練結果不佳;學習率自動更新,模型都能達到收斂且遷移學習模型較全部學習模型性能要好;學習率自動更新時,批歸一化(Batch Normalization, BN)性能較局部響應歸一化(Local Response Normalization, LRN)要好,能使模型獲得更高的準確率和更低的損失值。
3)當模型激活函數為泄露的修正線性單元(Leaky Rectified Linear Unit,LReLU)且系數為0.000 1時,與使用修正線性單元(Rectified Linear Unit,ReLU)為激活函數的模型性能相當,LReLU對模型的訓練結果并未有實質影響。
4)全連接層參數量對模型性能有一定影響,降低全連接層參數量后,訓練時間減少,模型準確率提高,損失值降低。
[1]呂尚武,尚書旗,王東偉,等. 花生除雜(清選)分級機的設計與研究[J]. 農機化研究,2019,41(9):71-75.
Lyu Shangwu, Shang Shuqi, Wang Dongwei, et al. Design and research of peanut cleaning and sorting machine[J]. Journal of Agricultural Mechanization Research, 2019, 41(9): 71-75. (in Chinese with English abstract)
[2]高連興,李獻奇,關萌,等. 雙吸風口振動式花生莢果清選裝置設計與試驗[J]. 農業機械學報,2015,46(3):110-117.
Gao Lianxing, Li Xianqi, Guan Meng, et al. Design and test on cleaning device of peanut pods with double air-suction inlets with vibration screen[J]. Transactions of the Chinese Society for Agricultural Machinery, 2015, 46(3): 110-117. (in Chinese with English abstract)
[3]韓仲志,趙友剛. 基于計算機視覺的花生品質分級檢測研究[J]. 中國農業科學,2010,43(18):3882-3891.
Han Zhongzhi, Zhao Yougang. Quality grade detection in peanut using computer vision[J]. Science Agricultural Sinica, 2010, 43(18): 3882-3891. (in Chinese with English abstract)
[4]趙志衡,宋歡,朱江波,等. 基于卷積神經網絡的花生籽粒完整性識別算法及應用[J]. 農業工程學報,2018,34(21):195-201.
Zhao Zhiheng, Song Huan, Zhu Jiangbo, et al. Identification algorithm and application of peanut kernel integrity based on convolution neural network[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(21): 195-201. (in Chinese with English abstract)
[5]劉翠玲,林瓏,于重重,等. 基于深度學習的花生高光譜圖像分類方法研究[J]. 計算機仿真,2020,37(3):189-192,283.
Liu Cuiling, Lin Long, Yu Chongchong, et al. Research on peanut hyperspectral image classification method based on deep learning[J]. Computer Simulation, 2020, 37(3): 189-192, 283. (in Chinese with English abstract)
[6]Han Dongmei, Liu Qigang, Fan Weiguo. A new image classification method using CNN transfer learning and web data augmentation[J]. Expert Systems with Applications, 2018, 95: 43-56.
[7]Tain Lei, Fan Chunxiao, Ming Yue, et al. Stacked PCA Network (SPCANet): An effective deep learning for face recognition[C]//IEEE International Conference on Digital Signal Processing, Singapore, Singapore, 2015.
[8]高震宇,王安,劉勇,等. 基于卷積神經網絡的鮮茶葉智能分選系統研究[J]. 農業機械學報,2017,48(7):53-58.
Gao Zhenyu, Wang An, Liu Yong, et al. Intelligent fresh-tea-leaves sorting system research based on convolution neural network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2017, 48(7): 53-58. (in Chinese with English abstract)
[9]Patino-Saucedo A, Rostro-Gonzalez H, Conradt J. Tropical fruits classification using an AlexNet-type convolutional neural network and image augmentation[C]//The 25thInternational Conference on Neural Information Processing, Siem Reap, Cambodia, 2018.
[10]鄭一力,張露. 基于遷移學習的卷積神經網絡植物葉片圖像識別方法[J]. 農業機械學報,2018,49(增刊1):354-359.
Zheng Yili, Zhang Lu. Plant leaf image recognition method based on transfer learning with convolutional neural networks[J]. Transactions of the Chinese Society for Agricultural Machinery, 2018, 49(Supp1): 354-359. (in Chinese with English abstract)
[11]龍滿生,歐陽春娟,劉歡,等. 基于卷積神經網絡與遷移學習的油茶病害圖像識別[J]. 農業工程學報,2018,34(18):194-201.
Long Mansheng, Ouyang Chunjuan, Liu Huan, et al. Image recognition ofdiseases based on convolutional neural network & transfer learning[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(18): 194-201. (in Chinese with English abstract)
[12]許景輝,邵明燁,王一琛,等. 基于遷移學習的卷積神經網絡玉米病害圖像識別[J]. 農業機械學報,2020,51(2):230-236,253.
Xu Jinghui, Shao Mingye, Wang Yichen, et al. Recognition of corn leaf spot and rust based on transfer learning with convolution neural network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(2): 230-236, 253. (in Chinese with English abstract)
[13]馬浚誠,杜克明,鄭飛翔,等. 基于卷積神經網絡的溫室黃瓜病害識別系統[J]. 農業工程學報,2018,34(12):86-192.
Ma Juncheng, Du Keming, Zheng Feixiang, et al. Disease recognition system for greenhouse cucumbers based on deep convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(12): 186-192. (in Chinese with English abstract)
[14]王艷玲,張宏立,劉慶飛,等. 基于遷移學習的番茄葉片病害圖像分類[J]. 中國農業大學學報,2019,24(6):124-130.
Wang Yanling, Zhang Hongli, Liu Qingfei, et al. Image classification of tomato leaf diseases based on transfer learning[J]. Journal of China Agricultural University, 2019, 24(6): 124-130. (in Chinese with English abstract)
[15]畢松,高峰,陳俊文,等. 基于深度卷積神經網絡的柑橘目標識別方法[J]. 農業機械學報,2019,50(5):181-186.
Bi Song, Gao Feng, Chen Junwen, et al. Detection method of citrus based on deep convolution neural network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(5): 181-186. (in Chinese with English abstract)
[16]穆龍濤,高宗斌,崔永杰,等. 基于改進AlexNet的廣域復雜環境下遮擋獼猴桃目標識別[J]. 農業機械學報,2019,50(10):24-34.
Mu Longtao, Gao Zongbin, Cui Yongjie, et al. Kiwifruit detection of far-view and occluded fruit based on improved AlexNet[J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(10): 24-34. (in Chinese with English abstract)
[17]Geng Lei, Xu Wenlong, Zhang Fang, et al. Dried jujube classification based on double branch deep fusion convolution neural network[J]. Food Science and Technology Research, 2018, 24(6): 1007-1015.
[18]Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]// Proceeding of the 25thInternational Conference on Neural Information Processing Systems, Lake Tahoe, Nevada, 2012.
[19]Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[C]// International Conference on Learning Representations, San Diego, USA, 2015.
[20]Szegedy C, Liu Wei, Jia Yangqing, et al. Going deeper with convolutions[C]// IEEE Conference on Computer Vision and Pattern Recognition,Boston, USA, 2015.
[21]He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Deep residual learning for image recognition[C]// IEEE Conference on Computer Vision and Pattern Recognition, Los Alamitos, USA, 2016.
[22]陳秀勇. 冀花5號花生種植技術[J]. 農技服務,2013,30(4):324.
Chen Xiuyong. Planting techniques of Jihua No.5 peanut [J]. Agricultural Technology Service, 2013, 30(4): 324. (in Chinese with English abstract)
[23]中華人民共和國農業部. 中華人民共和國農業行業標準-食用花生:NY/T 1067-2006[S/OL]. [2006-07-10], https://www.antpedia.com/standard/files/pdfs_ora/CN-NY/62e/ NY_T%201067-2006.pdf.
[24]莊福振,羅平,何清,等. 遷移學習研究進展[J]. 軟件學報,2015,26(1):26-39.
Zhuang Fuzhen, Luo Ping, He Qing, et al. Survey on transfer learning research[J]. Journal of Software, 2015, 26(1): 26-39. (in Chinese with English abstract)
[25]李彥冬,郝宗波,雷航. 卷積神經網絡研究綜述[J]. 計算機應用,2016,36(9):2508-2515,2565.
Li Yandong, Hao Zongbo, Lei Hang. Survey of convolutional neural network[J]. Journal of Computer Applications, 2016, 36(9): 2508-2515, 2565. (in Chinese with English abstract)
[26]周飛燕,金林鵬,董軍. 卷積神經網絡研究綜述[J]. 計算機學報,2017,40(6):1229-1251.
Zhou Feiyan, Jin Linpeng, Dong Jun. Review of convolutional neural network[J]. Chinese Journal of Computer, 2017, 40(6): 1229-1251. (in Chinese with English abstract)
[27]Wang Shuihua, Xie Shipeng, Chen Xianqing, et al. Alcoholism identification based on an AlexNet transfer learning model[J]. Frontiers in Psychiatry, 2019, 10: 1-13.
[28]Maas A L, Hannun A Y, Ng A Y. Rectifier nonlinearities improve neural network acoustic models[C]// Proceedings of the 30thInternational Conference on Machine Learning, Atlanta, USA, 2013.
[29]郭敏鋼,宮鶴. AlexNet改進及優化方法的研究[J]. 計算機工程與應用,2020,56(20):124-131.
Guo Mingang, Gong He. Research on AlexNet improvement and optimization method[J]. Computer Engineering and Applications, 2020, 56(20): 124-131. (in Chinese with English abstract)
[30]郭小清,范濤杰,舒欣. 基于改進Multi-Scale AlexNet的番茄葉部病害圖像識別[J]. 農業工程學報,2019,35(13):162-169.
Guo Xiaoqing, Fan Taojie, Shu Xin. Tomato leaf diseases recognition based on improved multi-scale AlexNet[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(13): 162-169. (in Chinese with English abstract)
[31]Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[C]// Proceedings of the 32ndInternational Conference on Machine Learning, Lille, France, 2015.
[32]Rosebrock A. Deep Learning for Computer Vision with Python-Starter Bundle[M].Baltimore: PyImageSearch, 2017: 189-190.
[33]Santurkar S, Tsipras D, Ilyas A, et al. How does batch normalization help optimization?[C]// Proceedings of the 32ndInternational Conference on Neural Information Processing Systems, Montréal, Canada, 2018.
[34]Xu Bing, Wang Naiyan, Chen Tianqi, et al. Empirical evaluation of rectified activations in convolutional network[C]//Proceedings of the 32ndInternational Conference on Machine Learning, Lille, France, 2015.
Image recognition of peanut pod grades based on transfer learning with convolutional neural network
Zhang Ruiqing1, Li Zhangwei1, Hao Jianjun1, Sun Lei1, Li Hao1, Han Peng2
(1.,,071001,; 2.,050000,)
Aiming at the problems of low efficiency of manual grading and inaccurate mechanical grading of peanut pods, a convolutional neural network peanut pod grades image recognition method based on transfer learning was proposed. By using the operations of the flip, rotation, translation, contrast transformation, and brightness transformation, the obtained five grades (first-grade pod, second-grade pod, third-grade pod, fourth-grade abnormal pod, and fifth-grade damaged pod) of peanut pod images were expanded and preprocessed, thus the peanut pod grades image data set was established. The 60% of data was randomly selected as the training set, 20% of data was randomly selected as the validation set, and the remaining 20% as the test set. The performance of peanut pod image classification based on the GoogLeNet, ResNet18, and AlexNet was compared and analyzed. The peanut pod grades recognition model was improved by transferring the AlexNet convolution layers. The local response normalization was replaced by batch normalization, and the activation function was placed in different positions before and after the batch normalization layer, so that four different recognition-training models were designed, including the PA-I model, PA-II model, PA-III model, and PA-IV model. The transfer learning contrast experiments and the hyperparameter optimization experiments of the learning rate carried out for the four improved AlexNet models proposed above. The effects of the unsaturated activation function (ReLU) and improved unsaturated activation function (LReLU) on the performance of the model were studied. The experimental results showed that the training time of the AlexNet model was the least on the basis of satisfying the test accuracy and the learning rate of transfer learning based on the improved AlexNet model was a very important hyperparameter that needed to be optimized. If the learning rate is chosen too high, the model training oscillates seriously and even can’t train normally; if the learning rate too small, the model training slow. An appropriate learning rate can speed up the training and improve the recognition ability of the model. When the learning rate was updated automatically, the model with batch normalization had better performance than local response normalization, which could make the model get higher accuracy and lower loss value. When the coefficient of activation function LReLU was 0.000 1, the performance of the LReLU used in the model was equivalent to that of the ReLU used in the model, therefore LReLU had no substantial impact on the training results of the model. The addition of batch normalization and reduction of parameters in the model reduced 220 s training time and improved the model’s performance. The classification accuracy of the proposed peanut pod grades recognition model for the first-grade pod, second-grade pod, third-grade pod, fourth-grade abnormal pod, and fifth-grade damaged pod was 93.57%, 97.14%, 99.29%, 87.14%, and 100% respectively and the average classification accuracy reached 95.43%, and F1-scores achieved 96.32%, 97.49%, 99.64%, 92.42%, and 94.50% respectively. The model proposed in this study had high classification accuracy for peanut pod grades and could provide a reference for the precise classification of other agricultural products.
image recognition; models; convolutional neural network; transfer learning; batch normalization; peanut pod; rank classification
張瑞青,李張威,郝建軍,等. 基于遷移學習的卷積神經網絡花生莢果等級圖像識別[J]. 農業工程學報,2020,36(23):171-180.doi:10.11975/j.issn.1002-6819.2020.23.020 http://www.tcsae.org
Zhang Ruiqing, Li Zhangwei, Hao Jianjun, et al. Image recognition of peanut pod grades based on transfer learning with convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2020, 36(23): 171-180. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2020.23.020 http://www.tcsae.org
2020-09-04
2020-10-15
河北省現代農業產業技術體系創新團隊項目(HBCT2018090206);河北省重點研發計劃項目(1922418D)
張瑞青,博士,副教授,主要從事機器學習、智能農業裝備及先進控制技術研究。Email:zhrqingcn@163.com
10.11975/j.issn.1002-6819.2020.23.020
S565.2; TP391.4
A
1002-6819(2020)-23-0171-10