劉玉耀 彭瓊尹
基于卷積神經網絡和遷移學習的甌柑病蟲害識別研究
劉玉耀 彭瓊尹
(浙江東方職業技術學院 浙江溫州 325000)
傳統的甌柑病蟲害檢測方式主要依靠人工肉眼查看,效率較低,而且需要檢測人員具備豐富的專業知識。針對這些問題,文章提出了基于卷積神經網絡和遷移學習的甌柑病蟲害識別方法。首先選取Xception、InceptionResNetV2、MobileNetV2、DenseNet121四種深度卷積模型,然后采用遷移學習策略,將各個模型在PlantVillage數據上訓練得到預訓練模型,遷移到甌柑病蟲害識別模型中,并對比各個模型的識別性能。結果表明:(1)遷移學習能夠大大提高模型的泛化能力,經過遷移學習后,4種模型在甌柑病蟲害訓練集和驗證集上的準確率均達到了85%以上,其中Xception遷移模型表現最好,準確率在訓練集和驗證集上分別為99.3%,97.1%;(2)在測試集上,Xception遷移模型的整體性能優于其他3種遷移模型,總體測試準確率達到了97.38%,精確率、召回率和F1 Score也均達到了97%以上。綜上所述,Xception遷移模型識別精確率高,實用性強,可為今后甌柑病蟲害防控提供參考。
甌柑病蟲害;卷積神經網絡;遷移學習;PlantVillage;Xception遷移模型
甌柑(BlancocvSuavissima),產于浙江省溫州市甌海區,是甌海的傳統特產,也是國家地理標志產品之一,在營養和藥用方面均有很高的價值。但甌柑產量容易受到天氣、病害、蟲害等自然因素的影響,其中病蟲害是制約甌柑產量提高的關鍵性因素[1]。因此,精準、快速識別出甌柑病蟲害并及時提供防治措施,對于有效防控甌柑病蟲害以及提高其總產量極其重要。
傳統的甌柑病蟲害鑒定主要通過人工肉眼檢測,主觀性強,容易造成誤判,并且該方法需要檢測人員具有很強的專業知識和豐富的經驗。近年,隨著深度學習理論的不斷完善和計算機硬件性能的不斷提高,人工智能技術得到了飛速發展[2],使卷積神經網絡在機器視覺、自然語言處理等領域取得的重大突破[3],很多基于卷積神經網絡的圖像分類與識別方法已經廣泛應用于農業領域[4]。帖軍等[5]提出一種基于ResNet34模型的融合模型F-ResNet,該模型解決了單一模型中泛化能力弱、魯棒性較差等問題,對自然環境下柑橘病害識別準確率達到93.6%。馬浚誠等[6]采用了一種復合顏色特征及其檢測方法,構建了一個基于卷積神經網絡的溫室黃瓜病害識別系統,識別準確率為95.7%。郭陽等[7]對比4種卷積網絡模型后,選取識別精度較高的YOLOv3算法并引入田間復雜情況下的水稻蟲害識別法,識別準確率大于98%。孫鵬等[8]將注意力機制引入到卷積神經網絡中,構建了大豆病蟲害識別模型,識別準確率達到了96.85%,比引入前的卷積神經網絡準確率提高了6.53%。顧興健等[9]提出一種多尺度U網絡,引入CB模塊將病害特征提取階段與病斑分割階段連接,同時實現番茄葉部病斑分割與病害識別,經測試平均像素準確率、平均交并比和頻權交并比分別達到了86.15%,75.25%和90.27%。黃雙萍等[10]提出了基于深度卷積神經網絡GoogLeNet構建的水稻穗瘟病檢測方法,采用SGD優化GoogLeNet模型,在驗證集上水稻穗瘟病識別率達到了92.0%。郭小清等[11]提出一種適用于移動平臺的多尺度識別模型Multi-ScaleAlexNet,該模型大大降低了運行所消耗的內存,番茄葉部病害的識別率達到了89.2%。
深度卷積神經網絡技術在圖像分類識別上的優異性能,使其廣泛應用于各種領域。然而在實際應用場景中,如果想要得到一個高識別率的神經網絡模型,往往需要海量的數據作為支撐,而且從中提取特征信息時也會消耗大量的時間和計算資源,這為研究基于深度卷積神經網絡的甌柑病蟲害智能識別技術增加了難度。遷移學習理論的提出為此類問題提供了解決方法,其思想是把預訓練模型的權重參數遷移到新模型中來幫助新模型訓練,從而加速模型收斂,遷移學習能夠避免模型重新學習,有效彌補小數據量上出現的過擬合問題,極大程度上縮減模型的學習時間[12]。目前遷移學習在農業領域也取得了快速的發展,楊紅云[13]等將VGG16模型在圖像數據集ImageNet上訓練得到的權重參數,遷移到水稻害蟲的識別當中,該模型的平均測試準確率達到了99.05%。林相澤等[14]提出了一種基于遷移學習和Mask R-CNN的稻飛虱圖像分類方法,先利用遷移學習在ResNet50框架上訓練數據,然后基于Mask R-CNN分別對水稻飛虱進行分類,平均識別精度達到了0.923。趙立新等[15]改進了AlexNet模型,采用遷移學習策略先在PlantVillage數據集訓練取得預訓練模型,經過參數微調后獲得遷移模型,最終識別率達到了93.50%。
綜上所述,文章以甌柑的瘡痂病、紅蜘蛛、黃龍病、潰瘍病、潛葉娥和炭疽病6種常見的病蟲害為研究對象構建數據集,在深度學習框架下,分別建立基于Xception、InceptionResNetV2、MobileNetV2、DenseNet121等4種深度卷積神經網絡模型,并結合遷移學習訓練思想,將PlantVillage數據集訓練得到預訓練模型參數,遷移到甌柑病蟲害識別模型中,通過對比不同模型的識別精度,選取識別效果最佳的甌柑病蟲害識別模型,旨在幫助果農減少因病蟲害造成的經濟損失,加速甌柑種植業的發展。
甌柑在自然生長環境下的病蟲害有400多種,其中危害嚴重的多達50種。為了方便研究,只選擇較為常見的瘡痂病、紅蜘蛛、黃龍病、潰瘍病、潛葉娥和炭疽病6種病蟲害作為研究對象。甌柑病蟲害數據主要來源于兩部分,一部分通過搜索互聯網圖庫獲取,一部分拍攝于浙江省溫州市大羅山甌柑采摘園。為了能夠獲取最佳圖片數據,采用高性能數碼相機分別在不同角度、不同背景下進行拍攝,最終共獲取樣本數據圖片457張;其中瘡痂病65張,潰瘍病76張,炭疽病81張,黃龍病100張,紅蜘蛛60張,潛葉娥75張。圖1為6種不同的甌柑病蟲害圖像。
甌柑病蟲害發生是動態的,在自然條件下很難大量采集,而將模型在源數據量較少的情況下進行訓練,很容易發生過擬合現象,導致識別效果不佳。為了提高模型的泛化能力,避免發生過擬合情況,本研究使用離線數據增強技術,對源數據進行擴充;具體做法是對源數據集中的每一張圖片進行隨機旋轉、平移、縮放、左右翻轉、隨機裁剪、顏色變換、改變亮度、高斯噪聲等相應的變化,經過數據增強后,樣本圖像由原來的457張擴增到4 391張;經過增強圖像數據處理后的模型,更有能力去應對真實場景下的變化。另外,為了方便神經網絡模型的訓練,將1.1中所采集到的6類甌柑病蟲害的圖像整理歸類,分別放入6個子文件夾中;同時,為了提高模型的識別速度、減少算法開銷,將圖片的大小統一調整為224×224×3像素,在保留病蟲害區域的同時去除背景、黑邊框等冗余信息。對于小規模樣本集,為了更準確地反映模型的效能,常見的劃分比例是60%訓練集、20%驗證集、20%測試集,故本研究將擴充后的數據集按6:2:2比例劃分成訓練集、驗證集和測試集,分別用于模型的訓練、驗證和測試,詳細分配情況如表1所示。
表1 病蟲害數據集分配
卷積神經網絡是基于人類視覺,通過逐層分級對不同物體進行區分的理論基礎上提出的一種網絡結構,主要由輸入層、卷積層、激活函數、池化層、全連接層和輸出層等多層組成(圖2)。在卷積神經網絡中,原始圖片從輸入層輸入后,經卷積、池化等一系列操作,從輸出層輸出所屬類的概率。其中,卷積層作為卷積神經網絡的最核心部分,主要用于輸入圖片的特征提取,每一個神經元輸入通過與卷積核進行卷積計算獲取特征信息。卷積計算公式為:
池化層作為卷積神經網絡另一個重要組成部分,主要用于對輸入特征圖的壓縮,特征圖通過平均池化或最大池化進行降維,經池化后可以簡化神經網絡的參數計算量,降低計算資源消耗,提高計算速度,同時還可提高模型的魯棒性。圖片經過多次卷積、池化操作后,將圖片特征輸入一至多層的全連接層(圖2),最后輸出層使用Softmax分類函數輸出所屬類的概率。
圖2 卷積神經網絡的結構
深度卷積網絡在圖像特征提取方面的優異表現,使其被廣泛應用于圖像分類、目標檢測、圖像分割等方面。因此,本研究采用Xception、InceptionResNetV2、MobileNetV2、DenseNet121四種在ImageNet數據集上表現優異的深度卷積網絡來實現甌柑的病蟲害檢測;為了使模型能夠在少量數據的情況下依然能夠有效地提取圖片特征信息,結合遷移學習思想,先在PlantVillage數據集上進行預訓獲得4個遷移學習模型,經進一步改造后用于甌柑病蟲害檢測。整個遷移卷積網絡的計算過程如下。
(1)將甌柑病害原始數據預處理后,按6:2:2的比例劃分為3部分,一部分為訓練數據(主要用于模型的訓練),一部分為驗證數據(主要用于模型的調參),一部分為測試數據(主要用于模型的性能評價)。
(2)用與甌柑病蟲害相似度較高的Plant-Village數據集對各個模型進行遷移學習,獲得遷移學習模型。
(3)分別去掉各個遷移學習網絡模型頂部包括輸出層在內的全部全連接層,然后使用一組自定義的頂層替代,結構如圖3所示。自定義頂層由一層全局平均池化層+兩層包含2 048個節點的全連接層(激活函數為ReLU)+Dropout層+一層包含6個節點的Softmax輸出層組成。
(4)用圖3中自定義頂層結構替代原來各個遷移學習模型的頂層,對遷移學習模型進行改造。
(5)將上述劃分的訓練數據集輸入到改造后的遷移學習模型中,凍結除自定義頂層外的其它網絡層的參數,訓練模型自定義頂層。
(6)將(1)中劃分的測試集數據輸入到訓練后的深度遷移學習模型中,對模型的識別率進行測試。
圖3 自定義頂層結構
將上述所構建的甌柑病蟲害訓練數據集和驗證數據集隨機打亂,分別輸入到Xception、InceptionResNetV2、MobileNetV2、DenseNet121四個預訓練模型中進行訓練,模型的輸入圖像分辨率均為224×224×3,優化算法采用能夠通過動量和自適應學習率來加快收斂速度的Adam,選取交叉熵損失函數,各個模型超參數的詳細配置如表2所示。在訓練過程中,模型的準確率(acc)和損失值(loss)隨著訓練次數的增加而不斷變化,其變化直接反映各個模型的訓練情況。各個遷移模型分別在訓練集和驗證集上的值和值的曲線變化情況見圖4。隨著epochs訓練輪數的增加,各個模型的值不斷的下降,值不斷上升;當訓練次數達到80輪時,和開始趨于平穩,最終經過100個epochs的訓練后,各個模型趨于收斂。從綜合模型的準確率和損失函數變化情況可以看出, Xception預模型在訓練集和驗證集上表現最好,loss值在訓練集上為0.04,在驗證集上為0.13;acc值在訓練集上為99.3%,在驗證集上為97.1%,具有較好的擬合特性。而其余3個預訓練模型在訓練集和驗證集的loss和acc之間的差值均較大,存在一定程度的過擬合現象。
表2 模型超參配置
為了進一步探究各個模型對甌柑病蟲害的識別效果,使用2.2節劃分的甌柑病蟲害測試集對模型進行測試,分別建立了Xception、InceptionResNetV2、MobileNetV2、DenseNet121遷移模型的分類混淆矩陣,如圖5所示。從混淆矩陣可以看出,Xception遷移模型對6類病蟲害識別錯誤數明顯低于其它3個遷移模型,預測值與實際值吻合度高,識別效果最好,尤其在瘡痂病、炭疽病、黃龍病和紅蜘蛛這4類病蟲害上表現最好,同時在相對比較難識別的潰瘍病和潛葉娥上也有較好的表現。
A. 各模型訓練損失值曲線;B. 各模型驗證損失值曲線;C. 各模型訓練準確率曲線;D. 各模型驗證準確率曲線。
A.Xception;B.InceptionResNetV2;C.MobileNetV2;D.DenseNet121。
進一步對比分析4種遷移模型的準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1 Score,結果如表3所示。從表3可以看出,Xception遷移模型的準確率、精確率、召回率和F1 Score均高于其它3種遷移模型,參數值分別為97.39%、99.43%、97.01%、98.19%,整體性能表現優異,泛化能力好。同時,對比與Xception遷移模型在準確率、精確率、召回率和F1 Score上比較接近的InceptionResNetV2遷移模型,兩模型可訓練的參數總量接近,但在模型大小方面InceptionResNetV2遷移模型是Xception遷移模型的2倍多;因此,訓練需要占用更多計算資源、耗費更多時間,而且InceptionResNetV2遷移模型檢測完成所有測試集消耗16 s,Xception遷移模型卻只消耗8 s。綜上所述,本研究選取Xception遷移網絡模型作為甌柑病蟲害的檢測與識別算法,實現對甌柑病蟲害的自動、準確、快速、即時診斷。
表3 各個遷移模型在測試集上性能對比
文章以常見的6種甌柑病蟲害為研究對象,提出了基于深度卷積神經網絡和遷移學習的甌柑病蟲害自動識別技術,先選取Xception、InceptionResNetV2、MobileNetV2、DenseNet121四種在ImageNet數據集上表現優異的深度神經網絡,使用與甌柑病蟲害數據特征較為相似的PlantVillage數據集對各個模型進行遷移學習,獲得遷移模型;然后利用所建立的甌柑病蟲害數據集對4種遷移模型進行訓練和測試,得出以下研究結論:
(1)各個遷移模型在訓練集和驗證集上的對比分析結果表明,基于PlantVillage數據集的遷移學習大大提高了模型的泛化能力,使得模型能夠在源數據較少的情況下獲得較好的識別效果。經過遷移學習后,4種模型在甌柑病蟲害訓練集和驗證集上的準確率均達到了85%以上,其中Xception遷移模型表現最好,acc值在訓練集和驗證集上分別為99.3%,97.1%。
(2)各個遷移模型在測試集上的對比分析結果表明,Xception遷移模型的整體性能優于其它3種遷移模型,針對瘡痂病、炭疽病、黃龍病和紅蜘蛛這4類病蟲害的識別效果最好,總體測試準確率達到了97.38%,精確率、召回率和F1 Score也均達到了97%以上。
綜上,本研究構建的Xception遷移模型可用于甌柑病蟲害的快速識別,所提供的理論基礎和技術可以推廣應用到其他農作物上。但模型仍然需要進一步優化改進,以降低復雜多變的自然條件對識別精度的影響,如天氣、角度、光線等,這些因素可能會導致模型在實際應用中識別效果不理想;在以后的研究中,將針對此類不足進行優化研究。
[1] 魏開炬, 胡玉彪. 甌柑主要病蟲害的防治[J]. 特種經濟動植物, 2009, 12(11): 53-54.
[2] Andreas Kamilaris, Francesc X, Prenafeta-Boldú. Deep learning in agriculture: A survey [J]. Computers and Electronics in Agriculture , 2018, 147: 70-90.
[3] Najafabadi M M, Villanustre F, Khoshgoftaar T M, et al. Deep learning applications and challenges in big data analytics[J]. Journal of Big Data, 2015, 2(1): 1.
[4] 邊柯橙, 楊海軍, 路永華. 深度學習在農業病蟲害檢測識別中的應用綜述[J]. 軟件導刊, 2021, 20(3): 26-33.
[5] 帖軍, 羅均, 鄭祿, 等. 基于改進殘差網絡的柑橘病害識別[J]. 中南民族大學學報(自然科學版), 2021, 40(6): 621-630.
[6] 馬浚誠, 杜克明, 鄭飛翔, 等. 基于卷積神經網絡的溫室黃瓜病害識別系統[J]. 農業工程學報, 2018, 34(12): 186- 192.
[7] 郭陽, 許貝貝, 陳桂鵬, 等. 基于卷積神經網絡的水稻蟲害識別方法[J]. 中國農業科技導報, 2021, 23(11): 99-109.
[8] 孫鵬, 陳桂芬, 曹麗英. 基于注意力卷積神經網絡的大豆害蟲圖像識別[J]. 中國農機化學報, 2020, 41(2): 171-176.
[9] 顧興健, 朱劍峰, 任守綱, 等. 多尺度U網絡實現番茄葉部病斑分割與識別[J]. 計算機科學, 2021, 48(S2): 360- 366+381.
[10] 黃雙萍, 孫超, 齊龍, 等. 基于深度卷積神經網絡的水稻穗瘟病檢測方法[J]. 農業工程學報, 2017, 33(20): 169-176.
[11] 郭小清, 范濤杰, 舒欣. 基于改進Multi-Scale AlexNet的番茄葉部病害圖像識別[J]. 農業工程學報, 2019, 35(13): 162-169.
[12] Eihan Wen, Ssiprsad Ravishankar, Yoram Bresler. Structured, Over complete Sparsifying Transform Learning with Convergence Guarantees and Applications[J]. International Journal of Computer Vision, 2015, 114(2-3).
[13] 楊紅云, 肖小梅, 黃瓊, 等. 基于卷積神經網絡和遷移學習的水稻害蟲識別[J]. 激光與光電子學進展, 2022, 59(16):1615004-1-8.
[14] 林相澤, 朱賽華, 張俊媛, 等. 基于遷移學習和Mask R-CNN的稻飛虱圖像分類方法[J]. 農業機械學報, 2019, 50(7): 201-207.
[15] 趙立新, 侯發東, 呂正超, 等. 基于遷移學習的棉花葉部病蟲害圖像識別[J]. 農業工程學報, 2020, 36(7): 184-191.
Research on Diseases and Insect Pests Identification of OuGan Based on Convolution Neural Network and Transfer Learning
LIU Yuyao PENG Qiongyin
(Zhejiang Dongfang Polytechnic, Wenzhou, Zhejiang 325000, China)
The traditional method of detecting diseases and insect pests of OuGan (a mandarin orange) mainly relies on manual inspection, which is inefficient and requires rich professional knowledge of the inspector. In order to solve these problems, this paper proposed a method of identifying diseases and insect pests of OuGan based on convolutional neural network and migration learning strategy. Firstly, four convolutional models were selected such as Xception, InceptionResNetV2, MobileNetV2, and DenseNet121. Then, the migration learning strategy was adopted to train each models on the Plantvillage data to obtain the pre-trained model, which was migrated to the pests and diseases identification model of OuGan. Finally, the recognition performance of each model was compared.The result showed that: 1) Migrating learning strategy can greatly improve the generalization ability of the model. After migration, the accuracy of pre-trained models were above 85% on the training set and validation set. Among them, the pre-trained Xception model had the best identification effect and the accuracy rate was 99.3% on the training set and 97.1% on the validation set. 2) On the test set, the pre-trained Xception model was better than the other pre-trained models. The overall test accuracy was 97.38% and the accuracy, recall and F1 Score also were above 97%. In conclusion, the pre-trained Xception model had high recognition accuracy and strong practicability, which could provide reference for future pest control of OuGan.
OuGan pests and diseases; convolution neural network; transfer learning; PlantVillage; pre-trained Xception
S436.66,TP183
A
10.12008/j.issn.1009-2196.2022.09.012
2022-05-06;
2022-05-16
溫州市科技計劃項目(No.N20210018)。
劉玉耀(1990—),男,碩士,軟件設計師,主要研究方向為人工智能、數據庫,E-mail:355678428@qq.com。
(責任編輯 林海妹)