張乃夫 譚峰 范禹希
摘要 傳統(tǒng)的農(nóng)作物病害診斷主要依靠人工識(shí)別,需要從業(yè)者具有一定經(jīng)驗(yàn)且主觀性較強(qiáng),存在誤判現(xiàn)象。針對(duì)這一現(xiàn)象,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的農(nóng)作物病害識(shí)別方法。選取玉米和馬鈴薯的5種常見(jiàn)病害進(jìn)行試驗(yàn),構(gòu)建了1個(gè)13層的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并分析了不同池化方式及優(yōu)化算法對(duì)該模型準(zhǔn)確性的影響。同時(shí)采用十折交叉驗(yàn)證對(duì)模型魯棒性進(jìn)行評(píng)估,結(jié)果表明該模型具備良好的分類(lèi)性能,對(duì)5種病害的平均識(shí)別率為93.95%,為玉米及馬鈴薯常見(jiàn)病害識(shí)別提供了一種新途徑。
關(guān)鍵詞 農(nóng)作物病害;圖像識(shí)別;卷積神經(jīng)網(wǎng)絡(luò)
中圖分類(lèi)號(hào) S126 ?文獻(xiàn)標(biāo)識(shí)碼 A ?文章編號(hào) 0517-6611(2020)05-0242-04
doi:10.3969/j.issn.0517-6611.2020.05.068
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Abstract Traditional crop disease diagnosis mainly relies on manual recognition, which requires practitioners with certain experience and strong subjectivity, and there is a phenomenon of misjudgment. Aiming at this phenomenon, we proposed a method of crop disease identification based on convolutional neural network. Five common diseases of corn and potato were selected for experiment, a 13layer convolutional neural network structure was constructed, and the influence of different pooling modes and optimization algorithms on the accuracy of the model was analyzed. At the same time, the robustness of the model was evaluated by 10fold cross validation. The results showed that the model had good classification performance and the average recognition rate of five diseases was 93.95%, which provided a new way to identify common diseases of corn and potato.
Key words Crop diseases;Image recognition;Convolutional neural network
農(nóng)業(yè)作為我國(guó)國(guó)民生產(chǎn)生活的首要產(chǎn)業(yè),為國(guó)民經(jīng)濟(jì)的建設(shè)與發(fā)展提供保障。農(nóng)業(yè)生產(chǎn)中的各種農(nóng)作物,如糧食作物、油料作物、蔬菜作物、飼料作物、藥用作物等與人民生活有著密不可分的聯(lián)系。國(guó)家統(tǒng)計(jì)局公布的我國(guó)糧食生產(chǎn)數(shù)據(jù)顯示,2017年全國(guó)糧食播種面積為1.12億hm.2,比2016年減少81.47萬(wàn)hm.2[1]。農(nóng)業(yè)種植結(jié)構(gòu)的調(diào)整優(yōu)化和糧食播種面積的減少亟需對(duì)糧食單產(chǎn)水平進(jìn)行提升。但是在農(nóng)作物的生長(zhǎng)過(guò)程中容易受微生物、細(xì)菌、病毒等侵害,導(dǎo)致其性狀發(fā)生改變,從而嚴(yán)重影響作物的產(chǎn)量。此外,隨著全球氣候變化所產(chǎn)生的環(huán)境劇變,病害發(fā)生概率較以往大幅提升。因此,及時(shí)有效地對(duì)農(nóng)作物病害進(jìn)行診治對(duì)降低病害損失和提升作物產(chǎn)量尤為重要。
作物病害識(shí)別對(duì)識(shí)別準(zhǔn)確度有一定的要求,傳統(tǒng)的作物病害識(shí)別方法主要是通過(guò)觀察病害的形態(tài)特征來(lái)確定病害種類(lèi),并且需要檢測(cè)者具有長(zhǎng)期的種植經(jīng)驗(yàn)和豐富的專(zhuān)業(yè)知識(shí)。種植者一般采用已有的經(jīng)驗(yàn)、對(duì)照專(zhuān)業(yè)的書(shū)籍、查詢(xún)互聯(lián)網(wǎng)和請(qǐng)教農(nóng)業(yè)技術(shù)人員或?qū)<业确椒?。因此?duì)病害的識(shí)別耗時(shí)費(fèi)力且較為主觀,并且由于作物病害癥狀復(fù)雜多變,部分病害特征差異并不很明顯,使得人工檢測(cè)方法存在一定的誤判現(xiàn)象。我國(guó)地域廣袤、作物種植面積大,因此植保專(zhuān)家的數(shù)量難以得到滿(mǎn)足需求,部分地區(qū)作物發(fā)生病害時(shí)會(huì)出現(xiàn)專(zhuān)家難求的狀況,導(dǎo)致部分作物因無(wú)法及時(shí)確診病情從而大面積發(fā)病,使種植者遭受了巨大的經(jīng)濟(jì)財(cái)產(chǎn)損失。因此,迫切需要一種科學(xué)、快速、準(zhǔn)確的方法來(lái)替代已有的人工檢測(cè)方法,從而提高作物病害的識(shí)別效率和識(shí)別準(zhǔn)確率。
近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)[2-4]受到學(xué)者們的廣泛關(guān)注,由于其在訓(xùn)練時(shí)可以不用人為提取特征而是直接對(duì)圖像進(jìn)行學(xué)習(xí),省去了病斑分割這一過(guò)程,一方面降低了特征選取的主觀性,另一方面對(duì)病害識(shí)別效率有所提升,部分學(xué)者利用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了對(duì)病害的精確識(shí)別[5]。龍滿(mǎn)生等[6]利用深度卷積神經(jīng)網(wǎng)絡(luò)AlexNet模型對(duì)大規(guī)模數(shù)據(jù)集ImageNet進(jìn)行訓(xùn)練,并采用微調(diào)(finetune)方法進(jìn)行油茶病害圖像識(shí)別,結(jié)果表明該方法對(duì)油茶藻斑病、軟腐病、煤污病、黃化病識(shí)別有較高的準(zhǔn)確率。張建華等[7]提出基于改進(jìn)VGG-16卷積神經(jīng)網(wǎng)絡(luò)的棉花病害識(shí)別模型,優(yōu)化了VGG-16模型結(jié)構(gòu)和參數(shù),結(jié)果顯示該模型對(duì)棉花病害識(shí)別具備良好的分類(lèi)性能。由此可以看出卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別中的優(yōu)勢(shì)。鑒于此,筆者通過(guò)對(duì)玉米及馬鈴薯病害識(shí)別的研究,提出1種基于卷積神經(jīng)網(wǎng)絡(luò)的病害識(shí)別方法,通過(guò)對(duì)LeNet[8]、AlexNet[9]、VGGNet[10]等經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行學(xué)習(xí)并結(jié)合研究作物特點(diǎn),構(gòu)建了適用于該研究的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并對(duì)其結(jié)構(gòu)進(jìn)行優(yōu)化探究,為這2種作物的害識(shí)別與防治提供了一定的科學(xué)方法和依據(jù)。
1 材料與方法
1.1 試驗(yàn)數(shù)據(jù)及預(yù)處理
1.1.1 病害圖像采集。以玉米及馬鈴薯常見(jiàn)病害為研究對(duì)象,分別采集了玉米灰斑病、玉米銹病、玉米枯葉病、馬鈴薯早疫病、馬鈴薯晚疫病5類(lèi)病害樣本進(jìn)行試驗(yàn),圖像來(lái)源于植物村(Plant village)、美國(guó)植物病例協(xié)會(huì)(APS Net)等植物病害網(wǎng)站,其中共采集玉米灰斑病圖像191張、玉米銹病圖像519張、玉米枯葉病圖像374張、馬鈴薯早疫病圖像412張,馬鈴薯晚疫病圖像380張,分別用病害首字母縮寫(xiě)HB(灰斑?。?、XB(銹?。?、KY(枯葉?。?、ZY(早疫?。Y(晚疫?。┍硎緦?duì)應(yīng)病害類(lèi)別標(biāo)簽,采集到的部分圖像如圖1所示。
1.1.2 病害圖像預(yù)處理。由于采集到的作物病害圖片大小不一致,在含有全連接層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練時(shí),需要預(yù)先對(duì)采集到的圖像進(jìn)行resize處理,從而固定其輸入維度。若不進(jìn)行該操作則會(huì)導(dǎo)致全連接層的參數(shù)維度與前一層的特征圖維度不一致進(jìn)而導(dǎo)致訓(xùn)練提前結(jié)束[11]。所以該試驗(yàn)首先利用python的圖形處理模塊(PIL)對(duì)所采集到的病害圖片進(jìn)行歸一化處理,將樣本圖片尺寸統(tǒng)一裁剪為像素128×128,便于作為卷積神經(jīng)網(wǎng)絡(luò)的輸入。
同時(shí),試驗(yàn)采集到的不同種類(lèi)病害樣本數(shù)目有一定差距,樣本數(shù)目的不均衡往往會(huì)導(dǎo)致試驗(yàn)結(jié)果偏向樣本數(shù)目較多的一類(lèi),為防止這一問(wèn)題的發(fā)生對(duì)數(shù)據(jù)集進(jìn)行了擴(kuò)充。對(duì)采集到的小樣本病害數(shù)據(jù)利用PIL模塊進(jìn)行了數(shù)據(jù)增強(qiáng)(data augmentation),對(duì)小樣本病害數(shù)據(jù)進(jìn)行了旋轉(zhuǎn)操作,旋轉(zhuǎn)角度分別為90°、180°、270°,將旋轉(zhuǎn)后的圖片存入相應(yīng)的訓(xùn)練文件夾內(nèi),這就使得擴(kuò)充完成后樣本數(shù)目相差不大,降低了模型過(guò)擬合的風(fēng)險(xiǎn)。
1.2 試驗(yàn)方法
1.2.1 卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)一般由輸入層(input layer)、卷積層(convolutional layer)、池化層(pooling layer)、全連接層(fully connected layer)和輸出層(output layer)等組成。卷積層由若干個(gè)卷積單元組成,每個(gè)卷積單元的參數(shù)都是通過(guò)反向傳播算法優(yōu)化得到。卷積過(guò)程通過(guò)卷積核對(duì)輸入圖像進(jìn)行卷積操作,其目的是提取圖像的局部特征,從而得到多個(gè)特征圖(feature map)。對(duì)于卷積層當(dāng)采用方式SAME方式作為邊界補(bǔ)充條件時(shí),其卷積后特征圖尺寸計(jì)算公式為:
池化層又叫下采樣層(down sampling layer),由于圖像在卷積層進(jìn)行卷積操作之后會(huì)得到維度很大的特征,所以通常采用池化層對(duì)卷積后提取到的特征信息進(jìn)行降維處理,以此減少網(wǎng)絡(luò)參數(shù)來(lái)降低模型的計(jì)算量,降低過(guò)擬合的風(fēng)險(xiǎn)。全連接層(fully connected layer)在神經(jīng)網(wǎng)絡(luò)中主要起到“分類(lèi)器”的作用,通過(guò)將輸入圖片的特征通過(guò)線性變換映射到樣本標(biāo)記空間,從而實(shí)現(xiàn)由圖片轉(zhuǎn)化為向量這一過(guò)程。
1.2.2 模型結(jié)構(gòu)設(shè)計(jì)。通過(guò)學(xué)習(xí)LeNet、AlexNet、VGGNet等知名網(wǎng)絡(luò)結(jié)構(gòu)后,構(gòu)建了一個(gè)13層的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包含5個(gè)卷積層、5個(gè)池化層、2個(gè)全連接層和1個(gè)輸出層。該模型結(jié)構(gòu)如圖2所示。
由圖2可知,輸入層圖片尺寸為128×128,卷積過(guò)程作均進(jìn)行補(bǔ)零操作,使得卷積后的圖像尺寸與卷積前保持一致同時(shí)也降低了邊緣數(shù)據(jù)丟失的問(wèn)題。卷積層一和卷積層二使用尺寸為5×5的卷積核對(duì)輸入圖片進(jìn)行卷積,分別得到32個(gè)feature maps和64個(gè)feature maps,每層對(duì)應(yīng)特征圖尺寸為64×64和32×32。卷積層三、四、五使用尺寸為3×3的卷積核對(duì)輸入圖片進(jìn)行卷積,分別得到128個(gè)feature maps、256個(gè)feature maps和512個(gè)feature maps,每層對(duì)應(yīng)特征圖尺寸為16×16、8×8和4×4。
池化層均采用尺寸為2×2的核對(duì)卷積層輸入進(jìn)來(lái)的圖片進(jìn)行下采樣,試驗(yàn)分別選取均值池化(average-pooling)、最大值池化(max-pooling)為池化方式。均值池化即選取圖像區(qū)域內(nèi)的平均值作為池化后輸出結(jié)果,最大值池化通過(guò)選取圖像區(qū)域內(nèi)的最大值作為池化輸出結(jié)果[12]。由于均值池化能更好的對(duì)圖像背景信息進(jìn)行保留而最大值池化能更好的保留圖像的紋理信息,所以該試驗(yàn)對(duì)這2種池化方式進(jìn)行探究,分析不同池化方式對(duì)模型準(zhǔn)確率的影響。
該模型激活函數(shù)最終采用非線性激活函數(shù)ReLu,與傳統(tǒng)的Sigmoid函數(shù)及Tanh函數(shù)相比ReLu函數(shù)具有單側(cè)抑制的效果,通過(guò)使部分神經(jīng)元輸出為0從而使網(wǎng)絡(luò)具有一定的稀疏性,降低了模型參數(shù)的同時(shí)減少了模型所需要的計(jì)算量,使模型收斂速度更快[14]。
2 結(jié)果與分析
2.1 池化方式對(duì)識(shí)別率的影響
該試驗(yàn)設(shè)置將所有樣本訓(xùn)練30次,batch size為64,初始學(xué)習(xí)率(learning rate)為0.001,所有卷積層采用ReLU作為激活函數(shù),為了避免過(guò)擬合現(xiàn)象的發(fā)生,設(shè)置正則化系數(shù)為0.005,試驗(yàn)采用單一變量原則即在對(duì)比試驗(yàn)中每次只改變其中1個(gè)變量,從而排除其他因素對(duì)結(jié)果的影響。試驗(yàn)首先比較了不同池化方式對(duì)模型準(zhǔn)確率的影響,其結(jié)果如表1所示。由表1可知,采用最大池化方式和平均池化方式時(shí)模型對(duì)病害識(shí)別均有較高的準(zhǔn)確率,其中采用平均池化方式時(shí)訓(xùn)練集和測(cè)試集的準(zhǔn)確率較高(93.12%、91.25%),而采用最大值池化方式時(shí)準(zhǔn)確率略微低于平均池化(92.18%、86.56%),可以看出該研究設(shè)計(jì)的病害識(shí)別模型采用平均池化方式效果更好。
2.2 不同優(yōu)化算法對(duì)識(shí)別率的影響
卷積神經(jīng)網(wǎng)絡(luò)模型中含有大量的參數(shù),對(duì)于這些參數(shù)學(xué)者們提出了眾多算法來(lái)對(duì)其進(jìn)行優(yōu)化,為探究不同優(yōu)化算法對(duì)病害識(shí)別準(zhǔn)確率的影響,試驗(yàn)設(shè)計(jì)采用AdaGrad、Adam、RMSProp共3種優(yōu)化算法。AdaGrad、Adam、RMSProp算法的學(xué)習(xí)率都是自適應(yīng)的,即在訓(xùn)練的過(guò)程中根據(jù)參數(shù)出現(xiàn)頻率自動(dòng)的調(diào)整學(xué)習(xí)率。AdaGrad算法利用學(xué)習(xí)率與歷史梯度的平方根比值作為當(dāng)前訓(xùn)練的學(xué)習(xí)率,并且針對(duì)不同的變量參數(shù)允許使用不同的學(xué)習(xí)率進(jìn)行優(yōu)化。RMSProp算法可以消除梯度下降中的擺動(dòng),并允許使用1個(gè)更大的學(xué)習(xí)率來(lái)加快算法的學(xué)習(xí)速度。Adam是另一種學(xué)習(xí)率自適應(yīng)優(yōu)化算法,通過(guò)計(jì)算梯度的一階矩估計(jì)和二階矩估計(jì)來(lái)自適應(yīng)學(xué)習(xí)率。
在模型訓(xùn)練的中末期由于迭代次數(shù)的增加,其梯度平方不斷增大,即Gi,t不斷增大,由公式可知當(dāng)Gi,t很大時(shí)會(huì)導(dǎo)致學(xué)習(xí)率趨近于無(wú)窮小,這樣就使得模型無(wú)法從圖片中提取出更多的信息,出現(xiàn)模型準(zhǔn)確率低的情況。而Adam算法可以看成對(duì)RMSProp算法的進(jìn)一步優(yōu)化,將momentum的與之結(jié)合,不僅僅考慮當(dāng)前的梯度,還會(huì)考慮之前的累計(jì)梯度,使模型達(dá)到更好的效果。
2.3 模型魯棒性分析
在進(jìn)行神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練時(shí),單一測(cè)試集可能會(huì)具有偶然性和隨機(jī)性。因此為了驗(yàn)證模型的穩(wěn)定性和準(zhǔn)確性,試驗(yàn)采用K折交叉驗(yàn)證(K-fold cross-validation)對(duì)模型進(jìn)行評(píng)價(jià),將作物病害圖片分為K份,依次將其中K-1份作為訓(xùn)練集用于網(wǎng)絡(luò)的訓(xùn)練,剩余1份作為測(cè)試集進(jìn)行模型測(cè)試,交叉重復(fù)驗(yàn)證K次使得每份樣本都被驗(yàn)證1次,綜合K次實(shí)驗(yàn)后得到的結(jié)果均值對(duì)模型的魯棒性進(jìn)行評(píng)價(jià)[15]。對(duì)于試驗(yàn)則采用常用的十折交叉驗(yàn)證方法來(lái)對(duì)模型的魯棒性進(jìn)行評(píng)價(jià),1~10次試驗(yàn)測(cè)試集平均識(shí)別準(zhǔn)確率依次為93.43%、94.37%、95.31%、94.68%、92.81%、94.06%、93.12%、92.50%、95.00%、94.27%;10次試驗(yàn)?zāi)P蜏?zhǔn)確率最高為95.31%,最低為92.50%,試驗(yàn)?zāi)P推骄鶞?zhǔn)確率為93.95%,綜合10次試驗(yàn)結(jié)果來(lái)看,模型準(zhǔn)確率相差不大,由此可以證明該試驗(yàn)?zāi)P偷目煽啃浴?/p>
3 結(jié)論
作物病害識(shí)別一直是機(jī)器學(xué)習(xí)中的一個(gè)熱門(mén)話題,傳統(tǒng)的作物病害識(shí)別主觀性較高存在一定誤判現(xiàn)象,利用圖像處理技術(shù)和模式識(shí)別方式對(duì)作物病害進(jìn)行識(shí)別雖然有良好的表現(xiàn),但是在特征的選取上較為復(fù)雜同時(shí)難以提取圖像中的深層特征[5-10]。所以試驗(yàn)設(shè)計(jì)了一個(gè)卷積神經(jīng)網(wǎng)絡(luò)模型,避免了人為提取特征的復(fù)雜性,提升病害識(shí)別效率,同時(shí)選取馬鈴薯及玉米的常見(jiàn)病害作為試驗(yàn)研究對(duì)象,試驗(yàn)研究的主要結(jié)論如下:①利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)玉米灰斑病、玉米銹病、玉米枯葉病、馬鈴薯早疫病、馬鈴薯晚疫病進(jìn)行了識(shí)別,試驗(yàn)構(gòu)建了一個(gè)13層的神經(jīng)網(wǎng)絡(luò)模型,結(jié)果表明該模型對(duì)上述5種病害能進(jìn)行有效地識(shí)別,且平均識(shí)別準(zhǔn)確率在90%以上。②在該模型的基礎(chǔ)上比較分析了不同池化方式對(duì)模型準(zhǔn)確率產(chǎn)生的影響,分別利用最大值池化和均值池化進(jìn)行試驗(yàn)對(duì)比,結(jié)果表明采用均值池化的準(zhǔn)確率要高于最大值池化的準(zhǔn)確率。③試驗(yàn)選擇了AdaGrad、RMSProp、Adam共3種優(yōu)化算法進(jìn)行對(duì)比試驗(yàn),分析試驗(yàn)結(jié)果得出,試驗(yàn)?zāi)P筒捎肁dam優(yōu)化算法時(shí)其訓(xùn)練集準(zhǔn)確率為93.12%,高于AdaGrad算法(84.44%)和RMSProp算法(91.25%),并且對(duì)該模型進(jìn)行了十折交叉驗(yàn)證,結(jié)果表明該模型魯棒性較好。
參考文獻(xiàn)
[1]國(guó)家統(tǒng)計(jì)局.中國(guó)統(tǒng)計(jì)年鑒2018[M].北京:中國(guó)統(tǒng)計(jì)出版社,2018.
[2]周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2017,40(6):1229-1251.
[3]陳先昌.基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法與應(yīng)用研究[D].杭州:浙江工商大學(xué),2014.
[4]常亮,鄧小明,周明全,等.圖像理解中的卷積神經(jīng)網(wǎng)絡(luò)[J].自動(dòng)化學(xué)報(bào),2016,42(9):1300-1312.
[5]姜珊.基于卷積神經(jīng)網(wǎng)絡(luò)的水稻生長(zhǎng)階段優(yōu)劣長(zhǎng)勢(shì)判別的研究[D].大慶:黑龍江八一農(nóng)墾大學(xué),2018.
[6]龍滿(mǎn)生,歐陽(yáng)春娟,劉歡,等.基于卷積神經(jīng)網(wǎng)絡(luò)與遷移學(xué)習(xí)的油茶病害圖像識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2018,34(18):194-201.
[7]張建華,孔繁濤,吳建寨,等.基于改進(jìn)VGG卷積神經(jīng)網(wǎng)絡(luò)的棉花病害識(shí)別模型[J].中國(guó)農(nóng)業(yè)大學(xué)學(xué)報(bào),2018,23(11):161-171.
[8]LECUN Y,BOTTOU L,BENGIO Y,et al.Gradientbased learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[9]KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[J].Advances in neural information processing systems,2012,25(2):1097-1105.
[10]SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for largescale image recognition[R].2014:1409-1556.
[11]LONG J,SHELHAMER E,DARRELL T.Fully Convolutional networks for semantic segmentation[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2014,39(4):640-651.
[12]楊東坡.基于深度學(xué)習(xí)的商品圖像分類(lèi)[D].大連:大連交通大學(xué),2015.
[13]池燕玲.基于深度學(xué)習(xí)的人臉識(shí)別方法的研究[D].福州:福建師范大學(xué),2015.
[14]JARRETT K,KAVUKCUOGLU K,RANZATO M,et al.What is the best multistage architecture for object recognition? In(ICCV09)[C]//2009 IEEE 12th Znternational Conference on Computer Vision.Kyoto,Japan:IEEE,2009.
[15]盧官明,朱海銳,郝強(qiáng),等.基于深度殘差網(wǎng)絡(luò)的人臉表情識(shí)別[J].數(shù)據(jù)采集與處理,2019,34(1):50-57.