蔣力順 董志學 胡瀟 劉志強











關鍵詞:卷積神經網絡;黃瓜病害;遷移學習;病害識別
黃瓜也稱胡瓜、青瓜,是人們生活中經常食用的蔬菜之一。近年來隨著黃瓜的需求量不斷增加,其種植面積也在增加,但黃瓜葉面病害一直是制約產量增加的關鍵因素,以天津地區黃瓜種植為例,2016年黃瓜褐斑病的發病率為90%,病毒病的暴發率達到100%。以前種植戶在識別黃瓜病害時主要是根據自己以往的經驗進行判斷,很難快速并準確地識別出黃瓜病害種類,往往會出現病害判斷失誤而造成黃瓜產量的降低。隨著社會的發展,深度學習技術也取得不少的研究成果,并在圖像分類識別任務上廣泛運用,不僅可以省時省力,而且可以做到實時的判斷,從而避免由判斷失誤而導致黃瓜減產。
國內外有關深度學習技術在農業上的應用發展較早,已經取得了許多研究成果。陳佳娟等人使用邊緣檢測的方法對棉花蟲害葉片進行研究,取得了很好的識別效果。周正利用BP神經網絡對番茄病害進行識別,優化模型的參數,具有不錯的識別效果。Mohanty等人以26種農作物病害為研究對象,在AlexNet和GoogLeNet兩種不同卷積神經網絡的基礎上,設置不同的參數進行模型訓練,結果表明此研究具有較高的識別準確率。李艷以馬鈴薯病害作為研究對象,改進卷積神經網絡的模型結構,利用Fisher算法進行網絡識別,此方法能夠快速地找到分類的最佳值,并且在小規模馬鈴薯數據集有著較好的識別效果。王平利用遷移學習的方法使目標領域與大數據集上的參數權重進行參數共享,對煙草的11種病害都具有很好的識別效果。
以黃瓜葉面病害作為研究對象,在卷積神經網絡的基礎上,借助深度學習自動學習樣本特征的優勢,研究一種高效的、實時的、準確的病害識別方法。
1黃瓜葉面病害識別系統的組成和算法
1.1系統的組成
黃瓜葉面病害識別系統包括圖像獲取部分、圖像處理部分、模型訓練及測試部分。系統的組成結構如圖1所示。
圖像獲取部分:通過移動終端手機的攝像頭進行病害圖像的直接獲取。
圖像處理部分:使用Python軟件對獲取到的病害樣本進行圖像處理操作,對病害圖像進行圖像增強處理,包括圖像的旋轉、平移等增強變換,擴充病害圖片的數量。
模型訓練及測試部分:首先利用AlexNet,VGG一16和ResNetS0三種不同深度的卷積神經網絡模型對病害數據集進行模型訓練,然后在遷移學習條件下利用不同的訓練方案進行遷移訓練,最后測試出網絡模型的識別效果。
1.2卷積神經網絡
卷積神經網絡是一種特殊的深層的神經網絡模型,最早由Rumelhart D E等人提出。卷積神經網絡主要由3部分組成,包括卷積層、池化層和全連接層。
卷積層通過卷積核和非線性變換提取局部感覺域的特征,并利用激活函數選擇從網絡中提取的特征,從而避免了線性運算表達能力不足的問題。ReLU是一個分段函數,收斂速度快,能較好地處理梯度消失問題,如式(1)所示:
池化層主要用于降低卷積層傳輸的數據維數,減少參數數量和計算量,有效防止過擬合。通常使用最大池化的方法進行數據降維。
全連接層是指上層的每個神經元都連接下層的所有神經元。針對圖像分類問題,通常使用Softmax輸出解決。其函數表達式如下:
黃瓜葉面病害識別系統選取AlexNet、VGG-16和ResNetS0三種模型作為訓練模型,具體的結構特征如表1所示。
1.3遷移學習
遷移學習是指在一個新的任務中使用預訓練好的模型,具體是在任務A中訓練出一個基礎網絡,將學習的知識遷移到任務B中繼續訓練網絡。參數遷移從模型的角度出發,共享源域模型與目標域模型之間的某些參數達到遷移學習的效果。
2黃瓜葉面病害識別系統的實現
2.1數據采集及預處理
實驗數據的采集地點位于上海市浦東新區六灶灣村大棚蔬菜種植基地,利用Android手機對黃瓜葉面病害進行拍照和保存圖像,其分辨率為2244×1080。考慮到光照的因素,在晴天、雨天和陰天的天氣下分別采集黃瓜葉面病害照片。采集到的病害圖像總共有1200張,包括霜霉病、細菌性角斑病、灰霉病和炭疽病,并采用JPG格式存儲,黃瓜病害樣本如圖2所示。
將采集到的黃瓜葉面病害圖片進行水平翻轉、垂直翻轉、隨機縮放等圖像增強處理,得到了不同角度、方向的變換圖片,利用圖像增強方法可以使一張病害圖片擴充為許多張,在不改變圖像質量的情況下,極大地增加了病害樣本數量。將采集到的原始圖片進行圖像增強處理后,人工篩選去除變化較大、失去部分病害特征的圖片,得到30000張擴充樣本,并按病害種類分為4類,對樣本設置好標簽,隨機選取24000張圖片作為訓練集,剩余的6000張圖片作為測試集,最后把數據集統一縮放為224×224格式。
2.2模型訓練流程
模型訓練過程中,以模型的迭代次數來判斷模型的訓練是否結束,結束后保存模型,在保存模型的基礎上用測試集去測試效果,以測試準確率作為判定標準。如圖3所示,模型的訓練步驟如下:
(1)輸入病害圖片,確保圖片的尺寸與構建模型時的輸入尺寸相同。
(2)調用網絡模型并對模型的參數進行初始化。
(3)圖片分批次進行模型訓練,通過模型的卷積層、池化層和全連接層獲得病害圖片輸出層的權值以及預測結果。
(4)利用預測值和真實值的標簽計算出誤差大小,并對模型進行誤差的反向傳播,更新訓練好的權值。
(5)判斷模型是否滿足訓練時設置的迭代輪次,如果不滿足結束條件,利用新的權值重新初始化網絡,繼續進行模型訓練;如果滿足結束條件,對比訓練輪次內模型的訓練結果,保存病害圖片識別最優的訓練模型。
(6)系統模型訓練結束。
2.3三種模型的遷移訓練
黃瓜葉面病害數據集進行遷移學習訓練時,以AlexNet、VGG-16和ResNet50三種深度卷積神經網絡模型為基礎,利用ImageNet數據集上的預訓練模型參數,對黃瓜葉面病害數據集進行遷移訓練,如圖4所示。
首先將ImageNet數據集上3種模型的預訓練權重、偏置進行轉化,使其適用于黃瓜葉面病害數據集的模型訓練;然后凍結不同深度的網絡結構,保持網絡各層的權重信息不變,只訓練全連接分類層;最后保持三種模型的訓練參數不變,重新訓練三種預訓練模型的所有參數和權重。參數的全訓練會導致模型訓練時間的增加,但是大量的模型參數意味著病害特征更為全面,探究此條件下模型的識別效果。
3實驗結果與分析
3.1實驗環境
模型訓練與測試的實驗環境是在Linux操作系統下,搭載Tensorflow-gpu 2.1、CUDA Toolkit10.1和CUDNN 7.6.4深度學習框架。硬件環境為Intel Core i7-7500U CPU,8 GB內存。
3.2模型參數設計
考慮電腦自身的性能和訓練效果,將迭代次數(Epochs)設置為200次,批次(Batch)大小設置為25以及Dropout大小設置為0.5等。具體的參數設置如表2所示。
3.3三種模型結果分析
為了研究AlexNet、VGG一16和ResNetS0三種網絡模型是否影響黃瓜病害的識別效果,利用黃瓜葉面病害數據集進行三種模型的訓練識別。模型訓練時,按照模型的訓練流程,以擴充后的數據集作為模型的輸入,訓練并保存三種網絡模型的實驗結果,如表3所示。
從表3可以看出,AlexNet模型訓練時長為8.8 h,VGG-16模型用時19 h,ResNetS0模型用時14 h;對比三種模型的實驗結果,網絡層數較多的ResNet50模型識別率比其余兩種層數較低的模型識別率更高,其驗證準確率達到97.88%,說明在黃瓜葉面病害數據集上,高層數的ResNet50模型具有最優的識別效果。
3.4遷移學習方法下結果分析
遷移條件下只訓練網絡模型的全連接分類層,按照遷移學習的訓練方法分別進行三種模型的遷移訓練,其訓練結果如表4所示。
從表4可以看出,三種模型的訓練時長分別為4.7 h、10 h和7 h,三種模型的訓練時長明顯減少,并且模型的驗證準確率達到96%以上,其中Res-Net50模型的驗證準確率最優,達到96.74%,說明遷移訓練可以降低模型的訓練時長。另外,模型在訓練準確率上有明顯的下降,說明利用遷移學習方法只訓練模型的全連接層不能充分識別多樣的數據,因此訓練準確率才會下降。
在擴充數據集的基礎上,保持模型參數不變,重新訓練三種預訓練模型的所有參數和權重,其訓練結果如表5所示。
對比表4和表5三種模型的訓練結果可以看出,在擴充數據集下訓練模型的所有預訓練參數時,由于模型訓練參數量的增加,其訓練時長明顯上升,但訓練參數的增加意味著模型訓練時能夠提取更全面的圖片信息,得到更好的識別效果。如表5所示,三種網絡模型的訓練準確率接近100%,AlexNet模型的驗證準確率為98.12%,VGG-16模型的驗證準確率為98.35%,ResNet50模型的驗證準確率最優,達到99.06%。
選取識別率為99.06%的ResNet50網絡模型,來檢測黃瓜每種葉面病害的識別效果。從黃瓜葉面病害數據集中隨機選取425張病害圖片,采用混淆矩陣進行病害的分類,四種病害的識別結果如圖5所示。
圖中以hui、jiao、shuang、tan分別表示黃瓜葉面灰霉病、角斑病、霜霉病和炭疽病四種病害類型,True Labels表示每種病害的真實標簽,PredictedLabels表示每種病害的預測標簽,圖片右側顏色的深度表示每種病害正確檢測數量的大小。可以看出黃瓜的四種葉面病害圖片都具有較高的識別效果,能夠滿足預期病害識別的檢測要求。
在現實場景下驗證病害識別系統的檢測結果,利用手機隨機拍攝的黃瓜葉面病害圖片進行系統的檢測識別,其檢測結果如圖6所示。
從圖6可以看出系統的輸入為炭疽病圖片,檢測結果為tan,識別率為99.7841%,并給出了炭疽病的治療方案。
4結論
介紹了黃瓜葉面病害圖片的采集和預處理過程,制作了黃瓜葉面病害數據集,采用了AlexNet、VGG-16和ResNet50三種不同深度網絡模型進行模型訓練并對結果進行分析,得到黃瓜病害檢測的最佳系統模型。實驗結果表明:遷移條件下Res-Net50模型具有最高的病害識別效果,能夠滿足黃瓜葉面病害的識別要求。