摘 要:為了準(zhǔn)確識別水稻病蟲害,收集8種水稻病蟲害圖像和健康水稻圖像,構(gòu)建水稻病蟲害數(shù)據(jù)集。將殘差網(wǎng)絡(luò)ResNet50用于水稻病蟲害識別,在原模型基礎(chǔ)上引入了遷移學(xué)習(xí)和NonLocal注意力機制。實驗結(jié)果表明,改進模型的準(zhǔn)確率、精確率、召回率、F1-score分別達到99.12%、99.31%、99.27%、99.28%,相比于原模型分別提升了2.92%、2.91%、4.05%、3.60%。與模型DenseNet121、Inception V3、ShuffleNet V2、MobileVit-small、ResNext50相比,改進模型的準(zhǔn)確率、精確率、召回率、F1-score至少高出2%。實驗驗證了所提模型的有效性,該模型可以準(zhǔn)確識別這幾種水稻病蟲害。
關(guān)鍵詞:水稻病蟲害;ResNet50模型;遷移學(xué)習(xí);NonLocal注意力機制
中圖分類號:TP391.41;TP18 文獻標(biāo)識碼:A 文章編號:2096-4706(2024)16-0127-05
Identification of Rice Pests and Diseases Based on ResNet50
Abstract: In order to accurately identify rice pests and diseases, 8 types of rice pests and diseases images and health rice images are collected, which are used to construct a rice pests and diseases dataset. The Residual Network ResNet50 is used for identification of rice pests and diseases, and Transfer Learning and NonLocal Attention Mechanisms are introduced on the basis of the original model. The experimental results show that the accuracy, precision, recall, and F1-score of the improved model have reached 99.12%, 99.31%, 99.27%, and 99.28%, respectively, which are 2.92%, 2.91%, 4.05%, and 3.60% higher than the original model. Compared with models DenseNet121, Inception V3, ShuffleNet V2, MobileVit-small and ResNext50, the improved model has at least 2 percentage points higher on accuracy, precision, recall, and F1-score. The experiment verifies the effectiveness of the proposed model, which can accurately identify these types of rice pests and diseases.
Keywords: rice pests and diseases; ResNet50 model; Transfer Learning; NonLocal Attention Mechanism
0 引 言
水稻作為我國主要的糧食作物,病蟲害侵害對于水稻生長產(chǎn)生較大影響,不定期檢測水稻病蟲害,可以及時采取針對性的防治措施,有利于保障水稻的產(chǎn)量和質(zhì)量[1]。
傳統(tǒng)的水稻病蟲害識別方法有賴于農(nóng)民的豐富經(jīng)驗,識別效率低下;傳統(tǒng)的機器學(xué)習(xí)方法又受限于人工特征提取[1]。而深度學(xué)習(xí)的代表性算法之一的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)具有端到端的學(xué)習(xí)機制,為水稻病蟲害檢測提供了新的思路。目前已有許多基于深度卷積網(wǎng)絡(luò)的植物病蟲害識別的研究。黃雙萍等使用GoogLeNet模型對水稻穗溫病進行檢測,準(zhǔn)確率高達92.0% [2]。范春全等運用ResNet50預(yù)訓(xùn)練網(wǎng)絡(luò)構(gòu)建面向16種水稻病蟲害的識別模型,模型使用了二分類數(shù)據(jù)過濾模型,最終top-1準(zhǔn)確率達95.23% [3]。梁萬杰等使用自行設(shè)計的10層卷積神經(jīng)網(wǎng)絡(luò)對水稻二化螟蟲害進行識別,對應(yīng)的模型交叉驗證精度達89.14% [4]。代國威等構(gòu)建融合ResNet和支持向量機的模型,將其用于葡萄園冠層圖像葉片覆蓋度分類[5]。姜紅花等從注意力機制、特征圖裁剪等方面改進ResNet18模型,對蘋果5類葉片病害的識別準(zhǔn)確率高達98.25%,優(yōu)于原模型ResNet18和VGG [6]。陳浪浪等以DenseNet121為基礎(chǔ)網(wǎng)絡(luò),引入遷移學(xué)習(xí)和坐標(biāo)注意力機制后,在水稻病蟲害數(shù)據(jù)集上的識別準(zhǔn)確率達到98.95% [7]。江順等在AlexNet模型的基礎(chǔ)上,采用縮小卷積核、增加卷積層深度、引入RReLU激活函數(shù)等方法改進模型,改進模型對水稻害蟲識別的準(zhǔn)確率達到96.17% [8]。李聰?shù)葘⒏信d趣區(qū)域提取方法和遷移學(xué)習(xí)技術(shù)引入ResNeXt模型,提出了TL-ROI-X-ResNext-50分類模型,實現(xiàn)了干制哈密大棗果梗/花萼及缺陷識別,識別準(zhǔn)確率達94.17% [9]。陳曉等提出了基于改進MobileViT網(wǎng)絡(luò)的番茄病害識別模型,識別準(zhǔn)確率達到99.16% [10]。胡駿等針對水稻稻瘟病識別,提出了VGG16的改進模型VGG16-H,改進模型的識別準(zhǔn)確率達98.7%,比原模型VGG16提高1.6%[11]。
本文將模型ResNet50應(yīng)用于水稻病蟲害識別。首先收集8種水稻病蟲害圖像和健康水稻圖像,構(gòu)建水稻病蟲害數(shù)據(jù)集;然后在ResNet50的基礎(chǔ)上引入了遷移學(xué)習(xí)和注意力機制;最后通過實驗驗證模型的有效性。
1 材料與模型
1.1 數(shù)據(jù)來源
所用數(shù)據(jù)都是開源數(shù)據(jù),來源于文獻[12]。該數(shù)據(jù)集包含1 426張圖像,其中包含5類水稻病害、3類水稻蟲害以及健康水稻圖像,共計9個類別。該數(shù)據(jù)集的圖像是由孟加拉國水稻研究所(Bangladesh Rice Research Institute, BRRI)收集的,是真實環(huán)境中不同背景、不同天氣條件下收集而來的。部分?jǐn)?shù)據(jù)集圖像如圖1所示。
按照4:1的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,訓(xùn)練集包含1 143張圖像,測試集包含283張圖像,水稻各類病蟲害圖像的數(shù)量如表1所示。該數(shù)據(jù)集圖像數(shù)量偏少,為了避免過擬合,提升模型訓(xùn)練效果,采用圖像翻轉(zhuǎn)、圖像旋轉(zhuǎn)、添加噪聲、高斯模糊等方法對圖像進行增強,將圖像數(shù)量擴增為原來的8倍。
1.2 水稻病蟲害識別模型
1.2.1 ResNet模型
在殘差神經(jīng)網(wǎng)絡(luò)出現(xiàn)之前,深度卷積神經(jīng)網(wǎng)絡(luò)面臨退化問題。隨著網(wǎng)絡(luò)深度的增加,準(zhǔn)確率達到飽和隨后迅速下降,而殘差學(xué)習(xí)解決了退化問題,有助于搭建層級更深、識別效果更好的神經(jīng)網(wǎng)絡(luò)模型[13]。
本文選擇殘差網(wǎng)絡(luò)ResNet50作為基礎(chǔ)模型。ResNet50的模型結(jié)構(gòu)如圖2所示。模型的輸入圖像是維度(224,224)的三通道RGB圖像,模型由卷積層、最大池化層(Max Pool)、4類殘差塊(Residual Block)、全局平均池化層(Average Pool)、全連接層(Fully Connect, FC)等構(gòu)成,其核心模塊是殘差塊。殘差塊由2個1×1卷積層和1個3×3卷積層構(gòu)成,4類殘差塊的基本結(jié)構(gòu)相同,不同之處在于卷積層的通道數(shù)不同。對于水稻病蟲害數(shù)據(jù)集,全連接層的輸出類別數(shù)為9。
1.2.2 遷移學(xué)習(xí)
深度卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練需要大量標(biāo)注好的數(shù)據(jù),需要大量數(shù)據(jù)同時也意味著需要大量的運算資源,但在水稻病蟲害識別領(lǐng)域收集大量數(shù)據(jù)并進行標(biāo)注是一件耗時又耗資的事情[7]。因此,在水稻病蟲害識別領(lǐng)域引入遷移學(xué)習(xí)訓(xùn)練模型。將公開數(shù)據(jù)集ImageNet上的預(yù)訓(xùn)練模型作為初始模型,該預(yù)訓(xùn)練模型由框架mmpretrain提供;將在ImageNet上學(xué)習(xí)到的知識推廣到水稻數(shù)據(jù)集,在知識推廣的過程中,凍結(jié)模型低層特征,對于ResNet50模型,凍結(jié)前3個殘差層及以前網(wǎng)絡(luò)層的參數(shù),微調(diào)第4個殘差層及之后網(wǎng)絡(luò)層的參數(shù),最終獲得訓(xùn)練好的模型。引入的遷移學(xué)習(xí)顯著減少了構(gòu)建深度卷積神經(jīng)網(wǎng)73813438b5d6f53e863804b8ff1415c8絡(luò)對圖像數(shù)據(jù)量和計算資源的需求,同時還具有加快模型收斂、避免模型過擬合的作用。
1.2.3 注意力機制
水稻圖像是在實際環(huán)境下采集的,背景復(fù)雜。在模型中引入注意力機制,可選擇性地關(guān)注重要的、感興趣的信息,減少關(guān)注甚至忽視關(guān)聯(lián)不大的信息,進而提升模型的識別效果。在模型ResNet50的第四類殘差塊中引入NonLocal2d注意力機制,如圖3所示。
非局部操作的通用計算式表示為:
其中,x為輸入信號,y為與x維度相同的輸出信號,i為輸出位置,如空間、時間或時空的索引,j為輸入特征中所有位置的索引,f函數(shù)計算xi和xj的相似度,g為函數(shù)計算輸入信號在j的位置,最終的輸出y通過相應(yīng)因子C(x)進行標(biāo)準(zhǔn)化處理以后得到[14-15]。
將式(1)對應(yīng)的非局部操作封裝到一個非局部塊(Non-Local block)中,定義為:
其中,WZ表示權(quán)重矩陣,+ xi表示殘差連接[14-15]。非局部塊的結(jié)構(gòu)如圖4所示。
2 實驗結(jié)果與分析
2.1 實驗環(huán)境和參數(shù)設(shè)置
本文中,所有模型均在相同環(huán)境下運行:采用Ubuntu 20.04操作系統(tǒng)、Python 3.7開發(fā)語言、PyTorch 1.10框架,顯卡采用RTX A4000,GPU加速庫采用CUDA 11.3和CUDNN 8.2。所有模型均借助深度學(xué)習(xí)開源框架mmpretrain 1.1運行。
對于本文的ResNet50模型,采用隨機梯度下降算法(Stochastic Gradient Descent, SGD)更新模型參數(shù),初始學(xué)習(xí)率設(shè)為0.001,momentum設(shè)為0.9,batch size設(shè)為32,epoch數(shù)設(shè)為100。在30、60、90個epoch之后,學(xué)習(xí)率衰減為原先的0.1。圖像輸入尺寸為(224,224),ResNer50模型首先在ImageNet數(shù)據(jù)集上訓(xùn)練,該模型作為訓(xùn)練的初始化模型由框架mmpretrain提供。
2.2 評價指標(biāo)
采用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1-score指標(biāo)評價水稻識別模型的性能。這些指標(biāo)的計算公式如下:
其中,TP(True Positive)表示將正類劃分為正類的樣本數(shù)量,F(xiàn)P(False Positive)表示將負(fù)類劃分為正類的樣本數(shù)量,F(xiàn)N(False Negative)表示將正類劃分為負(fù)類的樣本數(shù)量,TN(True Negative)表示將負(fù)類劃分為負(fù)類的樣本數(shù)量。
2.3 實驗結(jié)果
為了說明遷移學(xué)習(xí)和注意力機制對模型結(jié)果的影響,將遷移學(xué)習(xí)和NonLocal2d模塊依次加入ResNet50模型,結(jié)果如表2所示。原模型ResNet50的分類準(zhǔn)確率、精確率、召回率、F1-score分別達96.20%、96.40%、95.22%、95.68%,引入遷移學(xué)習(xí)后,準(zhǔn)確率、精確率、召回率、F1-score分別提升了2.39%、2.38%、3.65%、3.14%,繼續(xù)引入NonLocal2d注意力機制后,準(zhǔn)確率、精確率、召回率、F1-score分別提升了0.53%、0.53%、0.40%、0.46%。遷移學(xué)習(xí)和注意力機制的引入,有效提升了模型對水稻病蟲害的識別精度。
為了驗證模型的有效性,將模型與DenseNet121、Inception V3、ShuffleNet V2、MobileVit-small、ResNext50進行對比[16-20]。對比結(jié)果展示在表3中。本文模型與DenseNet121、Inception V3、ShuffleNet V2、MobileVit-small、ResNext50相比,準(zhǔn)確率分別提升了2.26%、2.87%、1.81%、2.39%、3.14%,精確率分別提升了2.11%、2.78%、2.03%、2.93%、3.01%,召回率分別提升了3.14%、3.57%、2.57%、2.80%、3.76%,F(xiàn)1-score分別提升了2.69%、3.26%、2.38%、2.92%、3.46%。對比結(jié)果表明,改進模型的水稻病蟲害識別精度最高。
3 結(jié) 論
收集8種水稻病蟲害圖像和健康水稻圖像數(shù)據(jù),構(gòu)建水稻病蟲害圖像數(shù)據(jù)集。將殘差網(wǎng)絡(luò)ResNet50用于水稻病蟲害識別,并引入遷移學(xué)習(xí)和注意力機制。改進后模型的準(zhǔn)確率達99.12%,精確率達99.31%,召回率達99.27%,F(xiàn)1-score達99.28%,相比原模型分別提升了2.92%、2.91%、4.05%、3.60%。與DenseNet121、Inception V3、ShuffleNet V2等模型相比,本文模型對水稻病蟲害的識別精度最高。但也存在所收集的水稻病蟲害圖像數(shù)據(jù)偏少的問題,下一步將收集更多的水稻病蟲害圖像,擴充數(shù)據(jù)集的圖像數(shù)量。
參考文獻:
[1] 王菁.基于改進卷積神經(jīng)網(wǎng)絡(luò)的水稻葉片病蟲害識別方法研究 [D].哈爾濱:東北農(nóng)業(yè)大學(xué),2022.
[2] 黃雙萍,孫超,齊龍,等.基于深度卷積神經(jīng)網(wǎng)絡(luò)的水稻穗瘟病檢測方法 [J].農(nóng)業(yè)工程學(xué)報,2017,33(20):169-176.
[3] 范春全,何彬彬.基于遷移學(xué)習(xí)的水稻病蟲害識別 [J].中國農(nóng)業(yè)信息,2020,32(2):36-44.
[4] 梁萬杰,曹宏鑫.基于卷積神經(jīng)網(wǎng)絡(luò)的水稻蟲害識別 [J].江蘇農(nóng)業(yè)科學(xué),2017,45(20):241-243+253.
[5] 代國威,陳稼瑜,樊景超.融合ResNet與支持向量機的葡萄園冠層圖像葉片覆蓋度分類 [J].江蘇農(nóng)業(yè)學(xué)報,2023,39(8):1713-1721.
[6] 姜紅花,楊祥海,丁睿柔,等.基于改進ResNet18的蘋果葉部病害多分類算法研究 [J].農(nóng)業(yè)機械學(xué)報,2023,54(4):295-303.
[7] 陳浪浪,張艷.基于改進深度卷積神經(jīng)網(wǎng)絡(luò)的水稻病蟲害識別 [J].山東農(nóng)業(yè)科學(xué),2023,55(5):164-172.
[8] 江順,黃紅星,莫里楠,等.基于改進AlexNet的嶺南水稻蟲害識別方法研究 [J].江蘇農(nóng)業(yè)科學(xué),2023,51(23):187-195.
[9] 李聰,喻國威,張原嘉,等.基于ResNeXt與遷移學(xué)習(xí)的干制哈密大棗果梗/花萼及缺陷識別 [J].食品與機械,2022,38(1):135-140.
[10] 陳曉,夏穎.基于改進MobileViT網(wǎng)絡(luò)的番茄葉片病害識別 [J].電子測量技術(shù),2023,46(14):188-196.
[11] 胡駿,陸興華,林檉莼,等.改進的VGG16在水稻稻瘟病圖像識別中的應(yīng)用 [J].計算機應(yīng)用,2023,43(S2):196-200.
[12] RAHMAN C R,ARKO P S,ALI M E,et al. Identification and Recognition of Rice Diseases and Pests Using Convolutional Neural Networks [J].Biosystems Engineering,2020,194:112-120.
[13] 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 (CVPR).Las Vegas:IEEE,2016:770-778.
[14] WANG X L,GIRSHICK R,GUPTA A,et al. Non-local Neural Networks [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City:IEEE,2016:770-778.
[15] 黃文明,陽沐利,藍如師,等.融合非局部神經(jīng)網(wǎng)絡(luò)的行為檢測模型 [J].圖學(xué)學(xué)報,2021,42(3):439-445.
[16] HUANG G,LIU Z,MAATEN L V D,et al. Densely Connected Convolutional Networks [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu:IEEE,2017:2261-2269.
[17] SZEGEDY C,VANHOUCKE V,IOFFE S,et al. Rethinking the Inception Architecture for Computer Vision [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas:IEEE,2016:2818-2826.
[18] MA N N,ZHANG X Y,ZHENG H T,et al. ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design [C]//Proceedings of the 15th European Conference on Computer Vision (ECCV). Berlin:Springer,2018:116-131.
[19] MEHTA S,RASTEGARI M. MobileViT: Light-Weight, General-Purpose, and Mobile-Friendly Vision Transformer [J/OL].arXiv:2110.02178v2 [cs.CV].[2024-01-06].https://arxiv.org/abs/2110.02178.
[20] XIE S N,GIRSHICK R,DOLLáR P,et al. Aggregated Residual Transformations for Deep Neural Networks [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu:IEEE,2017:5987-5995.