孟亮 郭小燕 杜佳舉 沈航馳 胡彬
摘要:? 針對(duì)傳統(tǒng)CNN (Convolutional neural network)模型存在訓(xùn)練參數(shù)量大而無(wú)法應(yīng)用于硬件條件受限的場(chǎng)合這一問(wèn)題,本研究提出一種輕量級(jí)CNN農(nóng)作物病害識(shí)別模型,能夠在保證模型識(shí)別準(zhǔn)確率情況下簡(jiǎn)化模型結(jié)構(gòu),擴(kuò)大模型的適用場(chǎng)景。設(shè)計(jì)1個(gè)深度卷積模塊作為基本卷積單元,2個(gè)深度卷積模塊和1個(gè)批歸一化層組成1個(gè)殘差塊作為殘差單元,以殘差單元作為基本元素設(shè)計(jì)一個(gè)輕量級(jí)CNN農(nóng)作物病害識(shí)別模型。對(duì)辣椒、番茄和馬鈴薯的病害圖像進(jìn)行分類識(shí)別,最終模型在訓(xùn)練集上的總識(shí)別準(zhǔn)確率為99.33%,測(cè)試集上的總識(shí)別準(zhǔn)確率為98.32%。相對(duì)VGG16等傳統(tǒng)模型,在進(jìn)行農(nóng)作物病害識(shí)別時(shí)本模型有更高的識(shí)別準(zhǔn)確率、更快的識(shí)別速度和更小的內(nèi)存占用。
關(guān)鍵詞:? CNN; 輕量級(jí); 農(nóng)作物; 病害; 識(shí)別準(zhǔn)確率
中圖分類號(hào):? TP391.41??? 文獻(xiàn)標(biāo)識(shí)碼: A??? 文章編號(hào):? 1000-4440(2021)05-1143-08
A lightweight CNN model for image recognition of crop disease
MENG Liang, GUO Xiao-yan, DU Jia-ju, SHEN Hang-chi, HU Bin
(School of Information Science and Technology, Gansu Agricultural University, Lanzhou 730070, China)
Abstract:? The traditional convolutional neural network (CNN) model cannot be applied to occasions with limited hardware conditions due to the large amount of training parameters. This research proposed a lightweight CNN model for crop disease recognition, which could simplify the model structure and expand the applicable scenarios under the condition of ensuring the accuracy of model recognition. A deep convolution module was designed as the basic convolution unit, and two deep convolution modules and a batch normalization layer were used as the residual units. A lightweight CNN model for crop disease recognition was designed with the residual unit as the basic element. The total recognition accuracy of the model on the training set was 99.33%, and the total recognition accuracy on the test set was 98.32%. Compared with the traditional models such as VGG16, the lightweight CNN model has higher recognition accuracy, faster recognition speed and less memory occupation.
Key words:? convolutional neural network (CNN); lightweight; crops; diseases; recognition accuracy
中國(guó)是農(nóng)業(yè)大國(guó),農(nóng)作物在很大程度上實(shí)現(xiàn)了自給自足,但是在農(nóng)業(yè)自動(dòng)化方面和許多發(fā)達(dá)國(guó)家還有很大差距。隨著計(jì)算機(jī)技術(shù)及人工智能的不斷發(fā)展,學(xué)者們開(kāi)始探索專家系統(tǒng)或者圖像分割算法在農(nóng)作物病蟲(chóng)害識(shí)別上的應(yīng)用。Singh等? [1] 使用SVM(Support vector machine)分類器使得對(duì)早期豌豆銹病的識(shí)別達(dá)到微觀層面。張建華等? [2] 基于最優(yōu)二叉樹(shù)和SVM的方法對(duì)蜜柚病害圖像進(jìn)行識(shí)別,準(zhǔn)確率達(dá)到90%。Park等? [3] 在病蟲(chóng)害識(shí)別領(lǐng)域提出模式識(shí)別和多光譜分析技術(shù),有效提升了識(shí)別準(zhǔn)確率。Umut等? [4] 使用機(jī)器學(xué)習(xí)對(duì)棉花常見(jiàn)病害進(jìn)行識(shí)別,準(zhǔn)確率達(dá)到90%以上。Maniyath等? [5] 提出一種基于特征提取的改進(jìn)SVM算法,融合機(jī)器視覺(jué)和模糊識(shí)別,大大提升了識(shí)別效果。陳佳娟? [6] 使用特定算法計(jì)算出棉花病葉受損程度。王長(zhǎng)斌? [7] 提出一種新的病害識(shí)別算法,但是計(jì)算速度較慢。Zhang等? [8] 提出從患病玉米中提取葉片特征,再將提取的特征輸入K近鄰分類器進(jìn)行分類,對(duì)5種玉米病害識(shí)別率在90%以上。Singh等? [9] 提出使用遺傳算法對(duì)植物早期病害進(jìn)行檢測(cè)。
以上方法在進(jìn)行病蟲(chóng)害的識(shí)別時(shí)需要提取大量的圖像特征且計(jì)算復(fù)雜,故識(shí)別準(zhǔn)確率受到圖像特征矩陣提取結(jié)果與計(jì)算機(jī)計(jì)算能力的限制。隨著人工智能的發(fā)展,農(nóng)業(yè)與深度學(xué)習(xí)的結(jié)合使得農(nóng)作物病蟲(chóng)害圖像識(shí)別的發(fā)展有了質(zhì)的飛躍。Gassoumi? [10] 采用基于神經(jīng)網(wǎng)絡(luò)和模糊邏輯的軟計(jì)算模型技術(shù)對(duì)棉花病害進(jìn)行了有效識(shí)別。溫芝元等? [11] 開(kāi)發(fā)了一種補(bǔ)償模糊神經(jīng)網(wǎng)絡(luò),用于臍橙的病蟲(chóng)害識(shí)別。張建華等? [12] 通過(guò)粗糙集和誤差反向傳播神經(jīng)網(wǎng)絡(luò)構(gòu)建了棉花病害識(shí)別模型。黃雙萍等? [13] 提出基于GoogleNet模型的水稻穗瘟病檢測(cè)方法,模型識(shí)別性能有了較大提高。Mohanty等? [14] 提出多層卷積神經(jīng)網(wǎng)絡(luò),該模型在訓(xùn)練后能夠快速提取植物病害特征,可以對(duì)多達(dá)14種病害進(jìn)行分類。楊秀坤等? [15] 提出基于退火算法的神經(jīng)網(wǎng)絡(luò)模型,該算法能夠?qū)μO(píng)果進(jìn)行檢測(cè),判斷其表皮是否有缺陷。王克如? [16] 將神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)結(jié)合起來(lái),可對(duì)玉米常見(jiàn)病害進(jìn)行識(shí)別。龔丁禧等? [17] 建立了可遷移的卷積神經(jīng)網(wǎng)絡(luò),該模型在簡(jiǎn)單訓(xùn)練后可應(yīng)用于其他植物病害識(shí)別中。
卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征提取能力和學(xué)習(xí)能力,使得自然條件下的病害圖像特征也能夠被準(zhǔn)確地提取并使得模型具有良好的遷移性,這對(duì)于中國(guó)農(nóng)作物病害的快速精準(zhǔn)識(shí)別,提高糧食產(chǎn)量有著重要的意義,但是以卷積神經(jīng)網(wǎng)絡(luò)為代表的傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)模型由于參數(shù)訓(xùn)練量大,所以收斂速度較慢,同時(shí)對(duì)運(yùn)算的軟硬件設(shè)備有極高的要求。因此將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于農(nóng)作物病蟲(chóng)害的識(shí)別時(shí),如果將應(yīng)用場(chǎng)景擴(kuò)展到嵌入式或者移動(dòng)設(shè)備上面,有限的計(jì)算資源將面臨模型參數(shù)量巨大、訓(xùn)練時(shí)間長(zhǎng),存儲(chǔ)空間不足等問(wèn)題。本研究針對(duì)傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)受硬件限制,收斂速度慢,占用內(nèi)存大,識(shí)別準(zhǔn)確率較低的問(wèn)題,設(shè)計(jì)開(kāi)發(fā)了一種基于殘差思想的卷積神經(jīng)網(wǎng)絡(luò)模型Light-CNN(Lightweight convolutional neural network),旨在保證識(shí)別準(zhǔn)確率的前提下精簡(jiǎn)模型結(jié)構(gòu),從而提升農(nóng)作物病害類別的識(shí)別實(shí)時(shí)性,從而擴(kuò)大其適用范圍與應(yīng)用場(chǎng)景? [18] 。
1 試驗(yàn)材料
本試驗(yàn)采用PlantVillage植物病害圖像庫(kù)作為試驗(yàn)數(shù)據(jù)來(lái)源。該數(shù)據(jù)集在實(shí)驗(yàn)室條件下采集,包含蘋(píng)果黑星病、蘋(píng)果黑腐病、馬鈴薯早疫病等13種植物的26種病害的圖像,共計(jì) 54 306 張圖片。在本研究中,選取辣椒、馬鈴薯和番茄3種農(nóng)作物,15種病害葉片圖像,共 22 787 張圖片作為數(shù)據(jù)集。表1給出了該數(shù)據(jù)集的15種病害樣本信息。圖1為數(shù)據(jù)集病害葉片圖像展示。為了提高模型的處理效率,將原始圖像尺寸調(diào)整為 64× 64,在數(shù)據(jù)集中隨機(jī)抽取80%圖像用于建立訓(xùn)練集,剩余20%圖像用于測(cè)試集。
2 模型輕量化設(shè)計(jì)策略
2.1 全局平均池化
池化層又稱為下采樣層,針對(duì)原始圖像經(jīng)過(guò)卷積層后參數(shù)量增大導(dǎo)致模型無(wú)法快速擬合的問(wèn)題,利用池化操作對(duì)卷積操作后的圖像特征進(jìn)行降維處理。傳統(tǒng)的最大值池化、平均池化在一定程度上可以減少訓(xùn)練參數(shù)從而提高訓(xùn)練的速度,節(jié)約硬件成本,但是當(dāng)模型的訓(xùn)練受到硬件條件限制時(shí),仍會(huì)出現(xiàn)訓(xùn)練、識(shí)別速度受限的問(wèn)題。為了更近一步簡(jiǎn)化模型結(jié)構(gòu),本研究采用全局平均池化,與平均池化將特征圖矩陣以窗口形式取均值不同,全局平均池化以整個(gè)特征圖為單位進(jìn)行均值化,每一張?zhí)卣鲌D最終可以獲得1個(gè)均值,從而大幅度減少了網(wǎng)絡(luò)的參數(shù)數(shù)量。
2.2 數(shù)據(jù)標(biāo)準(zhǔn)化
數(shù)據(jù)的標(biāo)準(zhǔn)化操作可以提升輸入數(shù)據(jù)的質(zhì)量,從而大幅度提高模型收斂的速度與準(zhǔn)確率,本模型采用Z-score(公式1)標(biāo)準(zhǔn)化方法使得輸入數(shù)據(jù)相對(duì)于原點(diǎn)對(duì)稱,輸入圖像像素從原來(lái)的(0,255)映射為(0,1),數(shù)據(jù)標(biāo)準(zhǔn)化后符合正態(tài)分布,輸入向量的正交性增強(qiáng),有效加快了模型運(yùn)行的速度和避免模型陷入梯度消失的問(wèn)題。
μ B= 1 m ∑ m i=1 x i ; σ 2 B= 1 m ∑ m i=1 (x i-μ B) 2 ;? ?i= x i-u B σ 2 B+l ??(1)
式中, x i 為輸入的第 i 個(gè)數(shù)據(jù), m 為輸入數(shù)據(jù)個(gè)數(shù), μ B 為均值, σ 2 B 為方差, l 是一個(gè)微小值,用來(lái)防止出現(xiàn)除以0的情況。
2.3 隨機(jī)淘汰
在反向傳播過(guò)程中,權(quán)值的更新可能會(huì)過(guò)于依賴部分隱藏神經(jīng)元,導(dǎo)致圖像中某些特征的提取出現(xiàn)盲區(qū),因此在反向更新權(quán)值的過(guò)程中,每次迭代時(shí)隨機(jī)丟棄50%的神經(jīng)元,被剔除的神經(jīng)元不再參與本次迭代中信號(hào)的傳遞,使得神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)時(shí)和權(quán)值在更新時(shí)對(duì)于所有的神經(jīng)元都保持敏感,從而使得模型的魯棒性更強(qiáng),有效抑制過(guò)擬合現(xiàn)象。
3? 農(nóng)業(yè)病害圖像識(shí)別模型
3.1 深度卷積塊
卷積操作用于提取原始圖像信息,為了提升模型提取圖像信息的能力,本研究設(shè)計(jì)1個(gè)由卷積層、批歸一化層和非線性激活函數(shù)組成的深度卷積塊作為特征提取的基本單元,其中卷積層采用64個(gè)大小為 3× 3的卷積核, 大小為 64× 64的原始圖像經(jīng)過(guò)第1次標(biāo)準(zhǔn)卷積初步提取特征后大小為 62× 62。本模型設(shè)置填充機(jī)制,即始終用0填充處理過(guò)的圖像使其保持大小為 64× 64。批歸一化層將經(jīng)過(guò)標(biāo)準(zhǔn)卷積后的圖像數(shù)據(jù)從(0,255)映射到(0,1),避免出現(xiàn)梯度消失的情況。非線性激活采用ReLu函數(shù),圖2為深度卷積塊結(jié)構(gòu)圖。圖3為深度卷積塊對(duì)植物葉片病害特征的初步提取樣圖。
a1為辣椒細(xì)菌性斑點(diǎn)病葉片;b1、c1分別為馬鈴薯早疫病葉片和馬鈴薯晚疫病葉片;d1~l1分別為番茄輪斑病葉片、番茄花葉病葉片、番茄黃曲葉病葉片、番茄細(xì)菌性斑點(diǎn)病葉片、番茄早疫病葉片、番茄健康葉片、番茄晚疫病葉片、番茄葉霉病葉片、番茄斑枯病葉片和番茄二斑葉螨病葉片。a2~l2分別為a1~ l1經(jīng)過(guò)深度卷積塊后的病害特征初步提取樣圖。
3.2 殘差塊
隨著網(wǎng)絡(luò)層數(shù)的增加,卷積神經(jīng)網(wǎng)絡(luò)提取的信息越來(lái)越多,模型的參數(shù)也劇烈增長(zhǎng),采用梯度下降法更新權(quán)值時(shí),當(dāng)網(wǎng)絡(luò)到達(dá)一定深度后,會(huì)出現(xiàn)梯度為0或者梯度爆炸的現(xiàn)象,梯度為0將導(dǎo)致權(quán)值無(wú)法繼續(xù)得到有效更新,識(shí)別準(zhǔn)確率反而下降;梯度爆炸將使得模型出現(xiàn)劇烈動(dòng)蕩而無(wú)法收斂。He等? [19] 提出ResNet,采用一種恒等映射,即在網(wǎng)絡(luò)中直接將單元的輸入與單元的輸出相加再輸入到下一層,從而解決了傳統(tǒng)網(wǎng)絡(luò)訓(xùn)練中隨著網(wǎng)絡(luò)層數(shù)的增加網(wǎng)絡(luò)性能反而退化的問(wèn)題。本模型利用殘差思想,設(shè)計(jì)了1個(gè)殘差塊,使得在增加網(wǎng)絡(luò)深度時(shí)能夠繼續(xù)保持模型的精度。殘差塊由2層深度卷積塊和1個(gè)批歸一化層構(gòu)成。深度卷積塊均使用64個(gè)大小為3×3的卷積核,為解決由于卷積操作導(dǎo)致的原圖像部分特征消失的問(wèn)題,本研究所設(shè)計(jì)的殘差塊在通過(guò)2層深度卷積塊后與原輸入圖像相加,從而保證在網(wǎng)絡(luò)層數(shù)增加時(shí)保持模型原有的精度。為增強(qiáng)模型魯棒性,在每個(gè)殘差塊后面均使用批歸一化層,從而提高收斂的速度。殘差塊結(jié)構(gòu)如圖4 所示。
3.3 植物病害識(shí)別模型
針對(duì)傳統(tǒng)CNN模型收斂速度慢,占用內(nèi)存大,識(shí)別率較低的問(wèn)題,本研究設(shè)計(jì)了1個(gè)輕量級(jí)植物病害識(shí)別模型(Light-CNN),該模型分為特征提取子模型和分類子模型。特征提取子模型由1個(gè)單層卷積層,5個(gè)殘差塊,1個(gè)全局平均池化層組成,在分類子模型中又分為植物類別分類與病害類別分類2個(gè)子模型。分類子模型由3個(gè)全連接層、1個(gè)Droput層和1個(gè)SoftMax層組成。在本模型中,首先將待識(shí)別圖片大小統(tǒng)一為 64× 64,通過(guò)一層卷積核大小為 3× 3,數(shù)量為64的標(biāo)準(zhǔn)卷積層提取圖像初級(jí)特征,再經(jīng)過(guò)5個(gè)殘差塊提取圖像高級(jí)特征以及減少特征損失,當(dāng)進(jìn)行卷積與池化操作使得圖像尺寸變小時(shí),均采用填充0的方式,以保證模型中所有的特征圖大小始終為 64× 64,經(jīng)過(guò)5個(gè)殘差塊后再經(jīng)過(guò)全局平均池化、全連接層、Dropout層和全連接層,最后通過(guò)SoftMax進(jìn)行分類輸出,具體模型結(jié)構(gòu)見(jiàn)圖5。
4 模型訓(xùn)練與試驗(yàn)結(jié)果分析
本模型的數(shù)據(jù)集為PlantVillage部分?jǐn)?shù)據(jù)集,在本研究預(yù)訓(xùn)練模型中采用Adam Optimizer作為網(wǎng)絡(luò)參數(shù)優(yōu)化器,損失函數(shù)采用稀疏交叉熵(Sparse_categorical_crossentropy)損失函數(shù),使用衰減學(xué)習(xí)率方法進(jìn)行學(xué)習(xí)訓(xùn)練,梯度下降過(guò)程中,訓(xùn)練集設(shè)置批處理樣本數(shù)為8,測(cè)試集設(shè)置批處理樣本數(shù)為1。
4.1 模型的訓(xùn)練
4.1.1 稀疏交叉熵?fù)p失函數(shù)? 在進(jìn)行模型損失值計(jì)算時(shí),由于本數(shù)據(jù)集中均使用數(shù)據(jù)原始標(biāo)簽,分別用 0~ 14來(lái)表示待分類的15種類別。本研究選用稀疏交叉熵?fù)p失函數(shù),以計(jì)算真實(shí)標(biāo)簽數(shù)值與預(yù)測(cè)標(biāo)簽數(shù)值的交叉熵誤差為依據(jù)進(jìn)行權(quán)值的修正[公式(2)]。
E=- 1 N? ?n? ?k t ?nk? ln ?y ?nk?? (2)
其中, N 表示 N 個(gè)數(shù)據(jù); y ?nk? 表示神經(jīng)網(wǎng)絡(luò)第 n 個(gè)元素第 k 個(gè)元素的輸出; t ?nk? 表示神經(jīng)網(wǎng)絡(luò)第 n 個(gè)元素第 k 個(gè)元素的標(biāo)簽。
4.1.2 衰減法學(xué)習(xí)率? 在模型運(yùn)行中,恒定的學(xué)習(xí)率容易導(dǎo)致模型訓(xùn)練時(shí)陷入局部極值,因此本模型采用衰減法設(shè)置學(xué)習(xí)率,隨著迭代次數(shù)的不斷增加,學(xué)習(xí)率不斷下降,最終趨于穩(wěn)定。衰減法學(xué)習(xí)率公式如下:
r=r 0×p?? ?I θ? ???(3)
其中 r 0 為基礎(chǔ)學(xué)習(xí)率; p 為衰減系數(shù); I 為迭代次數(shù); θ 為衰減速度;? ?I θ? ?是對(duì)取得的值向下取整。本模型中基礎(chǔ)學(xué)習(xí)率設(shè)定為0.001,學(xué)習(xí)率下限為 0.000 000 01 ,衰減系數(shù)設(shè)置為0.9,衰減速度為 12 000 。即每經(jīng)過(guò) 12 000 次迭代,如果損失函數(shù)的損失值沒(méi)有明顯的降低,則將學(xué)習(xí)率降低為原來(lái)的90%,直到達(dá)到最終的學(xué)習(xí)率下限。
4.1.3 歷史值保留機(jī)制? 本研究中為保證結(jié)果的嚴(yán)謹(jǐn)性,需要多次重復(fù)試驗(yàn)。在進(jìn)行權(quán)值的更新過(guò)程中,為了避免在訓(xùn)練后期初始權(quán)值重復(fù)訓(xùn)練以及有可能出現(xiàn)隨著迭代次數(shù)的增加,識(shí)別率反而下降的情況,在訓(xùn)練過(guò)程中保存權(quán)值歷史值,以期在只關(guān)注全連接權(quán)值參數(shù)時(shí),可以直接導(dǎo)入權(quán)值歷史最優(yōu)值,以峰值識(shí)別率所對(duì)應(yīng)的參數(shù)作為下一次試驗(yàn)迭代次數(shù)設(shè)定的依據(jù),從而加快模型識(shí)別的速度。
4.2 試驗(yàn)結(jié)果分析
本模型均在TensorFlow框架下進(jìn)行試驗(yàn)。硬件環(huán)境:Inter(R) Xeon(R) W-2123 CPU @3.6 GHz,16 GB RAM,NVIDIA GeForce GTX 1 080 GPU,8 GB Video Memory。軟件環(huán)境:CUDA toolkit 10.0,cuDNN 10.0,Windows 10 64bit,Python 3.7,TensorFlow 2.0.0。
本研究中使用分類準(zhǔn)確率作為最終結(jié)果的評(píng)價(jià)指標(biāo)之一,分類準(zhǔn)確率越高,則意味著本模型的識(shí)別和分類性能越好。
單個(gè)類別識(shí)別準(zhǔn)確率計(jì)算公式:
Acc= n ?c ?n ?t? (4)
其中 n ?c是單個(gè)類別的準(zhǔn)確預(yù)測(cè)數(shù), n ?t是單個(gè)類別樣本總數(shù)。
模型識(shí)別的平均準(zhǔn)確率公式:
AA= Acc n ??(5)
其中 n 為樣本的總類別數(shù)。
本模型考慮到低檔終端中運(yùn)行時(shí)的存儲(chǔ)和計(jì)算能力的限制,將模型所占內(nèi)存大小、單張圖片所使用的識(shí)別時(shí)間、識(shí)別準(zhǔn)確率作為模型評(píng)價(jià)的標(biāo)準(zhǔn)。在模型識(shí)別率高且所占內(nèi)存較小的情況下,單位時(shí)間識(shí)別圖片越多,則該模型能夠在實(shí)際農(nóng)作物病害檢測(cè)中具有更廣泛的應(yīng)用。
4.2.1 試驗(yàn)結(jié)果? 本模型的輸出為15個(gè)類別,分別代表辣椒、馬鈴薯、番茄3種農(nóng)作物的15種病害,識(shí)別結(jié)果見(jiàn)表2。其中植物的平均識(shí)別準(zhǔn)確率為99.35%,病害的平均識(shí)別準(zhǔn)確率為99.28%。
由圖6可以看出,當(dāng)?shù)螖?shù)較低時(shí),模型的學(xué)習(xí)次數(shù)不夠,準(zhǔn)確率不理想。但是隨著迭代次數(shù)的不斷提升,訓(xùn)練集中植物樣本和病害樣本的識(shí)別準(zhǔn)確率在不斷提升。第1次迭代之后植物分類識(shí)別準(zhǔn)確率為82.59%,病害識(shí)別準(zhǔn)確率為76.12%,之后識(shí)別率便快速提升,迭代到第45次時(shí)準(zhǔn)確率趨于平穩(wěn)。當(dāng)?shù)螖?shù)達(dá)到第50次時(shí),植物識(shí)別準(zhǔn)確率稍有下降,而病害識(shí)別準(zhǔn)確率達(dá)到最高,訓(xùn)練集植物識(shí)別準(zhǔn)確率達(dá)到99.35%,訓(xùn)練集病害識(shí)別準(zhǔn)確率達(dá)到99.28%,總識(shí)別準(zhǔn)確率達(dá)到99.33%。
從圖7可以看出,測(cè)試集在第1次到第3次迭代過(guò)程中植物和病害的識(shí)別準(zhǔn)確率由63.98%和29.87%升至84.54%和70.98%。但當(dāng)?shù)螖?shù)從第3次到第4次時(shí),測(cè)試集中出現(xiàn)過(guò)擬合現(xiàn)象,導(dǎo)致識(shí)別準(zhǔn)確率急速下降。當(dāng)?shù)螖?shù)從第4次到第5次時(shí),模型準(zhǔn)確率又開(kāi)始大幅提升,而當(dāng)?shù)螖?shù)從第5次到第9次時(shí)準(zhǔn)確率又大幅度下降。迭代次數(shù)從第9次至第12次時(shí)準(zhǔn)確率大幅度提升,之后除迭代次數(shù)從第15次到第16次和第24次到第25次時(shí)發(fā)生過(guò)擬合導(dǎo)致準(zhǔn)確率發(fā)生急速下降外,其余迭代期間準(zhǔn)確率均穩(wěn)步增長(zhǎng)。在迭代次數(shù)達(dá)到28次時(shí),準(zhǔn)確率趨于穩(wěn)定,最終當(dāng)?shù)螖?shù)達(dá)到第50次時(shí),準(zhǔn)確率達(dá)到最大。測(cè)試集植物分類準(zhǔn)確率為99.44%,測(cè)試集病害分類準(zhǔn)確率為98.28%,測(cè)試集總準(zhǔn)確率為98.32%。
從迭代次數(shù)角度看,在訓(xùn)練的初期隨著迭代次數(shù)的增多,模型的識(shí)別準(zhǔn)確率也越來(lái)越高,但當(dāng)?shù)螖?shù)超過(guò)一定程度時(shí),模型的識(shí)別準(zhǔn)確率不僅不再提高,可能還會(huì)出現(xiàn)一定幅度的降低。因此,選擇合適的迭代次數(shù)可以獲得更優(yōu)的網(wǎng)絡(luò)參數(shù),可以最大化地發(fā)揮模型的性能。在本模型中,50次的迭代次數(shù)可以獲得最優(yōu)識(shí)別效果。
4.2.2 不同模型對(duì)比試驗(yàn)? 為進(jìn)一步研究本模型的性能,分別選擇AlexNet? [20] 、VGG16? [21] 、GoogleNet ?[22] 、ResNet50? [23] ?4種深層網(wǎng)絡(luò)模型與本模型進(jìn)行對(duì)比,這4種模型均采用標(biāo)準(zhǔn)網(wǎng)絡(luò)結(jié)構(gòu)。AlexNet、GoogleNet為5層卷積層,3層全連接層;VGG16為13層卷積層和3個(gè)全連接層;ResNet50為4個(gè)殘差塊,每個(gè)殘差塊均使用 3× 3卷積核,共50個(gè)標(biāo)準(zhǔn)卷積層,1個(gè)全連接層。表3描述了不同網(wǎng)絡(luò)模型占用內(nèi)存的大小和針對(duì)本數(shù)據(jù)集的平均識(shí)別準(zhǔn)確率。由表3可知,AlexNet、VGG16? [24] 的識(shí)別準(zhǔn)確率為86.12%和88.75%。相比這2個(gè)模型,GoogleNet的識(shí)別準(zhǔn)確率較高,達(dá)到92.00%,本模型在識(shí)別準(zhǔn)確率方面達(dá)到99.33%。雖然ResNet50在訓(xùn)練集識(shí)別準(zhǔn)確率方面稍微高于本模型,達(dá)到99.76%,但是其測(cè)試集識(shí)別準(zhǔn)確率為92.31%,發(fā)生了明顯的過(guò)擬合。因此在農(nóng)作物病害識(shí)別率方面,本模型和VGG16、AlexNet、GoogleNet相比有較大的優(yōu)勢(shì),相比ResNet50也有一定優(yōu)勢(shì)。在模型占用內(nèi)存大小方面,VGG16占用內(nèi)存最大,為552.0 MB,GoogleNet占用內(nèi)存大小為87.5 MB,AlexNet占用內(nèi)存大小為227.6 MB,ResNet50 占用內(nèi)存大小為90.3 MB。而本模型經(jīng)過(guò)訓(xùn)練后所占內(nèi)存大小僅為4.6 MB。因此在模型占用內(nèi)存大小方面,本模型相對(duì)VGG16、AlexNet、GoogleNet和ResNet50有較大優(yōu)勢(shì)。
表3還給出了本模型與其他深度模型的單張圖片訓(xùn)練所需時(shí)間的對(duì)比。每一張圖片的訓(xùn)練所需時(shí)間都是經(jīng)過(guò)多次試驗(yàn)取平均值所得。從結(jié)果來(lái)看,本模型的單張圖片訓(xùn)練所需時(shí)間為0.220 s,遠(yuǎn)遠(yuǎn)小于VGG16等其他模型的用時(shí)。試驗(yàn)結(jié)果表明,本試驗(yàn)?zāi)P驮谡加脙?nèi)存大小、識(shí)別時(shí)間、識(shí)別準(zhǔn)確率方面均有一定的優(yōu)勢(shì)。
5 結(jié) 論
本研究針對(duì)當(dāng)前大部分植物病害識(shí)別模型的識(shí)別準(zhǔn)確率低,模型占用內(nèi)存大的問(wèn)題,設(shè)計(jì)了一種輕量級(jí)植物病害識(shí)別模型(Light-CNN),使用PlantVillage部分圖片,建立了辣椒、馬鈴薯和番茄的多種病害數(shù)據(jù)集,模型訓(xùn)練結(jié)果表明,在一定范圍內(nèi),模型的迭代次數(shù)越多,模型的識(shí)別準(zhǔn)確率越高,但是超過(guò)一定范圍,模型的識(shí)別準(zhǔn)確率可能不再增長(zhǎng),甚至可能降低。在識(shí)別植物病害時(shí),本模型在內(nèi)存占用大小,識(shí)別時(shí)間方面遠(yuǎn)優(yōu)于VGG16、AlexNet、GoogleNet和ResNet50;在識(shí)別準(zhǔn)確率方面遠(yuǎn)優(yōu)于VGG16、AlexNet、GoogleNet。因此輕量級(jí)植物病害識(shí)別模型為手機(jī)等移動(dòng)設(shè)備進(jìn)行植物病害的檢測(cè)提供技術(shù)支撐。本研究模型數(shù)據(jù)集均是在無(wú)干擾、無(wú)遮擋、圖像清晰、背景固定的實(shí)驗(yàn)室條件下的圖片,因此后期進(jìn)一步的研究方向是在自然復(fù)雜背景下的植物病害圖像識(shí)別。
參考文獻(xiàn):
[1]? SINGH K, KUMAR S, KAUR P. Support vector machine classifier based detection of fungal rust disease in pea plant (pisam sativam) [J]. International Journal of Information Technology,2019,11(3):485-492.
[2] 張建華,孔繁濤,李哲敏,等. 基于最優(yōu)二叉樹(shù)支持向量機(jī)的蜜柚葉部病害識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2014,30(19):222-231.
[3] PARK H, EUN J S, KIM S H. Image-based disease diagnosing and predicting of the crops through the deep learning mechanism[C] //DOMAN T M. The 8th International Conference on Information and Communication Technology Convergence (ICTC). Jeju Island South Korea : IEEE Press,2017: 129-131.
[4] UMUT B K, OMER B G, OKTAY Y. Detection of plant diseases by machine learning[C] // HUSSEIN A. The 26th Signal Processing and Communications Applications Conference.Izmir Turkey:IEEE Press, 2018: 1-4.
[5] MANIYATH S R, VINOD P V, NIVEDITHA M, et al. Plant disease detection using machine learning[C] // HUSSEIN A. 26th Signal Processing and Communications Applications Conference.Izmir Turkey:IEEE Press,2018: 41-45.
[6] 陳佳娟. 基于圖像處理和人工智能的植物病害自動(dòng)診斷技術(shù)的研究[D].長(zhǎng)春:吉林大學(xué),2001.
[7] 王長(zhǎng)斌.基于云計(jì)算的農(nóng)作物病蟲(chóng)害多源遙感數(shù)據(jù)挖掘[J].電子技術(shù),2016,45(3):15-17.
[8] ZHANG S W, SHANG Y J, WANG L . Plant disease recognition based on plant leaf image[J]. Journal of Animal and Plant Sciences, 2015, 25(3):42-45.
[9] SINGH V, VARSHA, MISRA A K . Detection of unhealthy region of plant leaves using image processing and genetic algorithm[C]//TORSTEN M. International Conference on Advances in Computer Engineering and Applications (ICACEA). Ghaziabad, India : IEEE Press, 2015 : 1028-1032
[10] GASSOUMI H. A soft computing approach for classification of insects in agricultural ecosystems[D].New Mexico: New Mexico State University, 2000.
[11] 溫芝元,曹樂(lè)平. 基于補(bǔ)償模糊神經(jīng)網(wǎng)絡(luò)的臍橙不同病蟲(chóng)害圖像識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2012,28(11):152-157.
[12] 張建華,祁力鈞,冀榮華,等. 基于粗糙集和BP神經(jīng)網(wǎng)絡(luò)的棉花病害識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2012,28(7):161-167.
[13] 黃雙萍,孫 超,齊 龍,等. 基于深度卷積神經(jīng)網(wǎng)絡(luò)的水稻穗瘟病檢測(cè)方法[J].農(nóng)業(yè)工程學(xué)報(bào),2017,33(20):169-176.
[14] MOHANTY S P, HUGHES D P, SALATHE M . Using deep learning for image-based plant disease detection[J]. Frontiers in Plant Science, 2016, 7:1419.
[15] 楊秀坤,陳曉光. 用遺傳神經(jīng)網(wǎng)絡(luò)方法進(jìn)行蘋(píng)果顏色自動(dòng)檢測(cè)的研究[J]. 農(nóng)業(yè)工程學(xué)報(bào), 1997, 13(2): 173-176.
[16] 王克如. 基于圖像識(shí)別的作物病蟲(chóng)草害診斷研究[D].北京:中國(guó)農(nóng)業(yè)科學(xué)院,2005.
[17] 龔丁禧,曹長(zhǎng)榮. 基于卷積神經(jīng)網(wǎng)絡(luò)的植物葉片分類[J].計(jì)算機(jī)與現(xiàn)代化,2014(4):12-15,19.
[18] 王春山,周 冀,吳華瑞,等. 改進(jìn)Multi-scale ResNet的蔬菜葉部病害識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2020,36(20):209-217.
[19] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C] // NIKOS K. The 15th? ??Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Boston American :IEEE Press,2016:770-778.
[20] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[C] //? PEREIRA F, BURGES C J C. The 25th International Conference on Neural Information Processing Systems. Nevada American :MIT Press,2012: 1097-1105.
[21] GOMEZ-OJEDA R, LOPEZ-ANTEQUERA M, PETKOV N, et al. Training a convolutional neural network for appearance-invariant place recognition[J]. Computer Ence,2017, 92(1):89-95.
[22] SZEGEDY C, WEI L, JIA Y, et al. Going deeper with convolutions[C] //CONNELLY B, JUNHWA H. The 33th IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Boston American :IEEE Press, 2015 : 1-9.
[23] 方晨晨,石繁槐. 基于改進(jìn)深度殘差網(wǎng)絡(luò)的番茄病害圖像識(shí)別[J].計(jì)算機(jī)應(yīng)用,2020,40(S1):203-208.
[24] 張建華,孔繁濤,吳建寨,等. 基于改進(jìn)VGG卷積神經(jīng)網(wǎng)絡(luò)的棉花病害識(shí)別模型[J].中國(guó)農(nóng)業(yè)大學(xué)學(xué)報(bào),2018,23(11):161-171.
(責(zé)任編輯:陳海霞)