劉亞恒 張鵬超 徐鵬飛 咼生富



摘要:針對在復雜環境下櫻桃葉片病害識別準確率低的問題。本文在ResNet-50網絡的基礎上提出了一種改進方法,以AVE-pooling為下采樣層,Dropout、Dense層減少過擬合和增強分類效果,并采用Softmax分類器進行分類,利用遷移學習方法進行網絡微調,從而提高了白粉病的識別率。結果表明,這種改進方法的遷移學習獲得了99.98%的準確率,相比未改進遷移學習的97.42%提高了2.56%。實驗表明,本文提出的網絡改進方法和遷移方式可以提高櫻桃白粉病識別的準確率。
關鍵詞:櫻桃白粉病;遷移學習;深度學習;ResNet-50網絡;圖像識別
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)08-0012-04
1引言
櫻桃白粉病是櫻桃早期的病害,對櫻桃的產量、質量都會有巨大影響。準確識別是防治白粉病的基礎。傳統的識別方法主要依靠專家或者經驗豐富的果農田間辨識,不僅費時、費力,而且識別效率低。也有學者通過傳統機器學習方法改善這一問題[1],但仍迫切需要一種高效、準確的識別方案。
自2012年AlexNet贏得ImageNet挑戰賽以來,卷積神經網絡得到飛速發展,很多學者將其應用在農業領域,孫俊等[2]、MOHANTY等[3]采用卷積神經網絡對多種植物進行識別,準確率得到很大的提高。BRAHIMI等基于AlexNet網絡進行西紅柿病害識別[4]。黃雙萍等采用GoogLeNet對水稻穗瘟病進行檢測,準確率高達92%[5]。也有學者發現大數據集訓練時間長、小數據集訓練的網絡泛化能力低的問題,于是遷移學習方法得到了廣大學者青睞。龍滿生[6]、鄭一力[7]、趙立新[8]、許景輝[9]等學者利用遷移學習的方式在小數據集上分別實現了油茶、玉米、棉花等作物的病害識別,且獲得較高的準確率。
CNN在圖像處理方面具有自學習能力強的優點,通過對數據的抽象分析,獲取大量的數據特征,進而快速準確將數據實現分類。因此,本文利用卷積神經網絡進行櫻桃的白粉病害識別,特別是在ResNet-50網絡基礎上進行改進,并利用遷移學習在小樣本數據上微調。
2理論基礎
2.1殘差網絡
ResNet[10]在2015年贏得ImageNet大規模視覺識別挑戰賽(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)冠軍而聞名,它完美解決了深度神經網絡中“梯度消失”的問題,得到廣大學者的引用。殘差單元可表示為:
公式(4)中,[?loss?xL]為第L個殘差單元的損失函數,若不通過權重層的傳遞為:[?loss?xL];通過權重層的傳遞為:[?loss?xL??xLi=lL-1F(xi,Wi)],前者公式保證了參數信號可以直接傳遞到淺層的[xl],也保證了梯度不會出現梯度消失的現象,因為后者公式結果不可能為-1。
2.2遷移學習
遷移學習是通過將一個訓練好的神經網絡初始化另一個訓練任務的方法[11-13]。具體做法為,將預訓練的卷積層作為圖像特征提取層,全連接層接收特征向量,進行識別分類[14]。于是,將預訓練卷積層與適合的全連接層組合為新的網絡模型,進行處理新任務[15]。
遷移學習需要保持模型中卷積層的結構不變,將訓練好的權重載入卷積層[13]。接下來,設計適合新任務的全連接層,用新任務的全連接層取代原來的全連接層,并與先前的卷積層構成新任務的訓練模型[12]。訓練模型的方式可分為兩種:第一種是把前[n]層凍結,使前[n]層的權重信息不參與到訓練中,只使用后面幾層的權重信息進行訓練,這種方法的優點是需要的樣本數據集少,缺點是隨著層凍結[n]數值增大、訓練的效果卻逐步降低,這種方法是最基本的遷移學習;第二種是不凍結前[n]層、全程參與訓練但不斷調整他們的參數,實現更好的網絡性能,這種方法為遷移學習+fine-tuning[16]。
3模型構建
3.1 搭建ResNet-50網絡
ResNet-50網絡與ResNet其他網絡結構類似,圖像數據先進入input stem提取特征,接著進入重復16次的殘差塊,深度提取特征,最后經由平均池化層、激活函數Softmax輸出結果,其結構如圖2所示。
在圖2中,conv_1層的輸入尺寸為:7*7*64,經過最大池化層進入conv_2,conv_2是由三個殘差塊構成,其輸入和輸出的尺寸為:1*1*64,1*1*256,conv_3是由四個殘差塊構成,其輸入尺寸為1*1*128,輸出尺寸為:1*1*512,conv_4是由六個殘差塊構成,其輸入尺寸為:1*1*256,輸出尺寸為:1*1*1024,conv_5是由三個殘差塊構成,其輸入尺寸為:1*1*512,輸出尺寸為:1*1*2048。其中,conv_2、conv_3、conv_4、conv_5每個殘差塊之間都是由激活函數連接。
3.2改進方案
收集的櫻桃白粉病圖片數據集小,ResNet-50網絡模型訓練的分類效果非常不理想。因此,使用基于ResNet-50網絡的遷移學習的方法實現櫻桃病害的小數據集分類。本次遷移學習保存ResNet-50模型的卷積塊,設計全新的連接與分類模塊,改進后模型如圖3所示。
如圖3所示,圖像進入卷積層提取特征后,進入平均池化層池化,減小卷積層的參數誤差,接著進入Dropout層進行正則優化,減小過擬合,再進入Dense層進行稠密化分類,使提取的特征經過非線性變化,最后映射到輸出上,再用Relu函數激活,然后再次進入Dropout層、Dense層;兩次經過Dropout、Dense層,可以進一步減少過擬合,加快收斂,最后用Softmax激活分類。其中ReLU激活函數具有計算簡單、收斂速度快等優點[10],其表達式為:65E71114-E2A4-42E9-96FB-4A0F5E09D398
用凍結的Conv_1、2、3層與新設計的全連接模塊代替原本的ResNet-50網絡,再把訓練好的卷積層權重遷移到上述新構建模型的卷積層中,最后用收集到的櫻桃圖像對新模型進行訓練,訓練完成的新模型即可對櫻桃病害圖像進行檢測與識別。
4模型構建與試驗結果分析
4.1圖像采集
試驗所需要的數據來自陜西省漢中市西鄉縣櫻桃溝櫻桃園,為了體驗復雜的背景環境,采集過程中,從不同的角度進行拍攝;拍攝的時間段為三個時間段,分別是早上、中午、傍晚。利用華為手機攝像頭,設置正常的拍照模式,分辨率為640像素×480像素,采集櫻桃白粉病葉片和健康葉片1050幅和850幅。
4.2圖像預處理
首先將采集的數據隨機處理為8:2的訓練集和測試集,然后將訓練集圖片進行數據擴充,分別包括圖片旋轉、平移、翻轉、顏色增強等處理方式,將原來的圖像擴充到5700幅,作為訓練集使用。同時縮放圖像數據到訓練所需要的像素:224像素*224像素。
4.3實驗環境
實驗需要的環境如表1所示。
4.4實驗訓練
由于設備的影響,在實驗中,設置每批次參與訓練和測試的圖像數量都為16,即batchsize為16,為了增強訓練效果,將動量參數設為0.9,學習率設為0.0001,分別訓練未改進網絡的遷移學習、改進的全新學習、改進遷移學習三種情況,其具體的情況如表2,其結果如圖4所示,其訓練和驗證最高準確率如表3所示。
4.5結果分析
4.5.1三種方式結果對比
圖5是三種情況下訓練的準確率,由圖5可知,改進遷移學習可以提高白粉病的訓練準確度,最高達到100%。美中不足的是,圖4所示的改進全新學習的擬合波動比較大,擬合效果較差。
圖6所示驗證集準確率與訓練準確結構相同,改進遷移學習、改進全新學習、未改進遷移學習三種不同情況驗證集的準確率最高為99.98%、98.94%、97.42%。改進遷移學習相比未改進遷移學習的驗證準確率提高2.56%,改進全新學習相比未改進遷移學習提高1.52%,改進遷移學習相比改進全新學習提高較少,僅有1.04%。由此可也得出改進遷移學習提高了白粉病的識別率。
4.5.2模型檢驗
為了方便觀察,用Python將測驗腳本程序可視化,通過OpenCV庫將測驗圖像的種類以及準確率都展示在圖片上,便于對比以及分析研究。現選擇改進遷移學習的訓練方式,選擇兩幅櫻桃葉片進行測驗,其預測結果如圖7所示,上半部分為櫻桃健康和白粉病的葉片,下半部分為櫻桃葉片測驗的分類和準確率,結果表明櫻桃白粉病的概率為99.997%,接近100%,健康葉片的概率為99.50%。通過實驗表明,本文提出的改進遷移學習的訓練機制對白粉病識別的準確率得到提高,可以推廣到在線診斷,目標識別等其他領域。
5結論
針對櫻桃白粉病的識別準確率低的問題,本文提出的改進ResNet的方法,提高了白粉病的識別率,并基于遷移學習微調的方法對白粉病的識別,準確率高達99.98%,接近100%。本文的創新點在于全連接部分雙層密集化處理,提高分類的精度,雙層Dropout減少訓練過程發生的過擬合現象,提高識別的精度。相比于未改進的ResNet網絡,在小數據上減少發生過擬合現象,識別的準確率更高、效果更好。
參考文獻:
[1] Gassoumi H,Prasad N R,Ellington J J. Neural Network based om approach for insect classification in cotton ecosystems[C].Proc of International Conference on Intelligent Technologies,2007:1.
[2] 孫俊,譚文軍,毛罕平,等.基于改進卷積神經網絡的多種植物葉片病害識別[J].農業工程學報,2017,33(19):209-215.
[3] Mohanty S P,Hughes D P,Salathé M.Using deep learning for image-based plant disease detection[J].Frontiers in Plant Science,2016,7:1419.
[4] Brahimi M,Boukhalfa K,Moussaoui A.Deep learning for tomato diseases:classification and symptoms visualization[J].Applied Artificial Intelligence,2017,31(4):299-315.
[5] 黃雙萍,孫超,齊龍,等.基于深度卷積神經網絡的水稻穗瘟病檢測方法[J].農業工程學報,2017,33(20):169-176.
[6] 龍滿生,歐陽春娟,劉歡,等.基于卷積神經網絡與遷移學習的油茶病害圖像識別[J].農業工程學報,2018,34(18):194-201.
[7] 鄭一力,張露.基于遷移學習的卷積神經網絡植物葉片圖像識別方法[J].農業機械學報,2018,49(S1):354-359.
[8] 趙立新,侯發東,呂正超,等.基于遷移學習的棉花葉部病蟲害圖像識別[J].農業工程學報,2020,36(7):184-191.
[9] 許景輝,邵明燁,王一琛,等.基于遷移學習的卷積神經網絡玉米病害圖像識別[J].農業機械學報,2020,51(2):230-236,253.
[10] He K M,Zhang X Y,Ren S Q,et al.Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition.June 27-30,2016,Las Vegas,NV,USA.IEEE,2016:770-778.
[11] 石祥濱,房雪鍵,張德園,等.基于深度學習混合模型遷移學習的圖像分類[J].系統仿真學報,2016,28(1):167-173,182.
[12] 莊福振,羅平,何清,等.遷移學習研究進展[J].軟件學報,2015,26(1):26-39.
[13] 黃家才,舒奇,朱曉春,等.基于遷移學習的機器人視覺識別與分揀策略[J].計算機工程與應用,2019,55(8):232-237.
[14] 劉嘉政.基于深度遷移學習模型的花卉種類識別[J].江蘇農業科學,2019,47(20):231-236.
[15] 鄭澤宇,顧思宇.TensorFlow:實戰Google深度學習框架[M].北京:電子工業出版社,2017.
[16] 鄭遠攀,李廣陽,李曄.深度學習在圖像識別中的應用研究綜述[J].計算機工程與應用,2019,55(12):20-36.
【通聯編輯:唐一東】65E71114-E2A4-42E9-96FB-4A0F5E09D398