李 波,彭文學(xué),周 蕊,王克曉,虞 豹,黃 祥
(1.重慶市農(nóng)業(yè)科學(xué)院,重慶 401329;2.重慶市九龍坡區(qū)農(nóng)業(yè)農(nóng)村委員會,重慶 400050)
油菜是我國主要的油料作物之一,特別是在西南地區(qū)油菜種植面積較大。油菜菌核病是油菜生長中的主要病害之一,常年株發(fā)病率可達10%~30%,嚴重的達70%以上,病株一般減產(chǎn)50%以上。油菜菌核病常會使病株含油量減少,極大地影響油菜的產(chǎn)量和品質(zhì)[1]。田間病害的識別對于種植者來說難度較大,因此,開展利用機器視覺和深度學(xué)習(xí)技術(shù)對油菜菌核病病害識別的研究,對實現(xiàn)油菜病害自動識別和精準施藥有著極其重要的意義。
近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的圖像識別方法開始應(yīng)用于農(nóng)業(yè)領(lǐng)域,國內(nèi)外研究人員利用深度學(xué)習(xí)的技術(shù)優(yōu)勢,對多種農(nóng)作物的病害開展了深入研究。柴阿麗等提取番茄葉片顏色、紋理及形狀參數(shù)構(gòu)建特征提取與判別模型,對其早疫病、晚疫病、葉霜病和棒孢葉斑病進行自動識別[2];劉曜端利用設(shè)置容差取極大值區(qū)域的方法對苧麻病葉圖像進行特征區(qū)域提取,通過卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)病斑的灰度圖像特征,并結(jié)合支持向量機實現(xiàn)分類識別[3];孫俊等針對AlexNet 模型訓(xùn)練收斂時間長、參數(shù)量巨大的問題,采用批歸一化和全局均值池化對其進行改進,并在Plantvillage 數(shù)據(jù)集上訓(xùn)練,改進后模型的準確率得到提升并有效減少了模型參數(shù)[4];P.Revathi 等利用機器視覺技術(shù)對棉花病害圖像進行了識別,利用數(shù)字圖像技術(shù)進行棉花病害圖像分割處理,并提出采用粒子群算法進行特征波長的選擇,建立四種模型分類方法,從而對比得出對棉花病害圖像最佳的分類模型[5];蘇婷婷等采用茶葉葉部病害圖像作為數(shù)據(jù)集,采用卷積運算完成圖像特征提取,遷移Inception-3 模型進行微調(diào),其識別準確率達到了95.3%[6];LIANG W-J 等設(shè)計了基于卷積神經(jīng)網(wǎng)絡(luò)的水稻稻瘟病識別模型,評價結(jié)果表明,與傳統(tǒng)手工提取的局部二值模式直方圖和小波變換等特征相比,CNN 提取的高階特征對水稻稻瘟病更具有識別性和有效性[7]。本研究采用基于卷積神經(jīng)網(wǎng)絡(luò)對油菜菌核病病害葉片進行識別,旨在降低模型復(fù)雜度,提高圖像識別率。
自然光照條件下,在油菜種植基地使用手機分別拍攝健康和受菌核病感染的油菜葉片圖像(見圖1)。拍攝時,光路盡量與葉片平面垂直,光照保持均勻,病害癥狀盡可能在整個畫面中占較大比例。油菜葉片圖像的采集主要在苗期進行,共采集2 000 余幅圖像,其中包含30%的油菜菌核病病害葉片圖像和70%的油菜健康葉片圖像。選擇油菜菌核病葉片圖像627 張作為數(shù)據(jù)集。將圖片存儲到電腦中,標注采集的病害圖片,做好標簽數(shù)據(jù)記錄,構(gòu)建通用的帶標簽的油菜菌核病病害數(shù)據(jù)庫。

圖1 受菌核病感染的油菜葉片
卷積神經(jīng)網(wǎng)絡(luò)以其局部權(quán)值共享的特殊結(jié)構(gòu)在圖像處理方面有著獨特的優(yōu)勢,其布局更符合真實的生物神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),權(quán)值共享降低了網(wǎng)絡(luò)的復(fù)雜度,特別是可以將多維輸入向量圖像直接輸入的特點,可有效降低特征提取及分類過程中數(shù)據(jù)處理的冗余過程。
1)局域感受野。局部感受野是指卷積層中的每一層輸出特征圖上的像素點在原始圖像或者上層特征圖中映射區(qū)域的大小。通過局域感受野,不同濾波器可以提取圖像的初始特征。
2)權(quán)值共享。每個卷積核檢測輸入特征圖中所有位置上的特定特征,且同一個輸入特征圖中的權(quán)重參數(shù)都是共享的,權(quán)值共享在很大程度上減少了網(wǎng)絡(luò)的參數(shù)總量,降低了計算量,這種方式不僅增強了網(wǎng)絡(luò)表達能力,而且提高了參數(shù)的訓(xùn)練速度。即用一個卷積核和輸入圖像的不同區(qū)域進行卷積,檢測到的是相同的圖像特征,而只有通過不同的卷積核才能獲取不同的圖像特征。
卷積神經(jīng)網(wǎng)絡(luò)由輸入層、卷積層、池化層、全連接層和輸出層構(gòu)成,其基本結(jié)構(gòu)如圖2所示[8]。卷積層的本質(zhì)是圖像特征提取,由于一層卷積可提取到的特征是局部特征,因而如果要提取更加全面的圖像特征,則需要采用多層卷積方式。池化層是將卷積層的圖像特征進行降維處理,從而降低網(wǎng)絡(luò)復(fù)雜度和提取圖像特征信息,減少參數(shù)和計算量,防止過擬合,提高模型泛化能力。池化操作一般采用最大池化、平均池化和重疊池化等方法。全連接層的作用主要是對特征圖像計算每種類別的概率,從而實現(xiàn)圖像分類識別,線性排列結(jié)構(gòu)使得卷積神經(jīng)網(wǎng)絡(luò)能夠直接從輸入的圖像中提取隱藏在深層的抽象特征,有利于分類器對圖像進行更加精準的分類。

圖2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本文的油菜病害識別方法充分利用了深度學(xué)習(xí)的特征表示能力,使用深度學(xué)習(xí)網(wǎng)絡(luò)中油菜病害葉片圖像在不同場景下的特征表示,然后通過應(yīng)用遷移學(xué)習(xí)方法,再次學(xué)習(xí)油菜病害圖像的特征,最后對特征進行分類識別。卷積神經(jīng)網(wǎng)絡(luò)模型的可視化可以更直觀地理解分類模型,通過模型卷積層輸出特征的可視化,有效了解模型的每一層都學(xué)習(xí)到了圖像的哪些特征。根據(jù)可視化特征圖(見圖3),進一步調(diào)整模型參數(shù),以便更好地提升模型準確率。

圖3 第1層和第4層卷積后病害葉片可視化特征圖
本文設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對輸入卷積層的圖像數(shù)據(jù)進行歸一化處理,主要包括4個卷積層、3個池化層和1個全連接層,輸出層的激活函數(shù)使用softmax,卷積層的激活函數(shù)使用非線性激活函數(shù)Relu。輸入油菜病害葉片圖像,輸出屬于識別病害的概率值,選擇網(wǎng)絡(luò)結(jié)構(gòu)中的全連接層作為要提取的病斑特征層。池化層主要是降維,減少參數(shù)加速運算,防止過擬合,加入Dropout層可有效防止過擬合情況發(fā)生。
在訓(xùn)練過程中,為了獲取更高的準確率,采取fine-tune 方法微調(diào)和優(yōu)化網(wǎng)絡(luò)模型參數(shù),使用隨機梯度下降的方式更新網(wǎng)絡(luò)參數(shù),Batch Size 設(shè)置為50,優(yōu)化器lr 設(shè)置為0.000 3。為了降低過擬合,在全連接層dropout設(shè)置為0.5。
選擇田間獲取的油菜病害葉片樣本數(shù)627 張,其中訓(xùn)練樣本數(shù)501 張,測試樣本數(shù)126 張。本文選取Keras 作為深度學(xué)習(xí)框架,采用Python 語言進行編程。模型訓(xùn)練采用批量訓(xùn)練的方法,每個批次訓(xùn)練的樣本數(shù)為30 個,測試集樣本數(shù)為20 個,共迭代100 次,卷積核步長為2。從圖4 中可以看出,在訓(xùn)練到80 次左右的時候達到準確率的最高點,準確率約在97%。

圖4 油菜病害葉片圖像樣本識別準確率
本文針對油菜病害葉片圖像識別率較低的問題進行研究,提出將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到油菜菌核病病害識別中,建立了基于卷積神經(jīng)網(wǎng)絡(luò)的油菜病害識別模型。采用Keras 對數(shù)據(jù)集進行訓(xùn)練,通過設(shè)置不同的網(wǎng)絡(luò)模型參數(shù)對油菜菌核病葉片圖像進行識別研究。
通過對模型的預(yù)測性能進行實驗測試,發(fā)現(xiàn)當(dāng)?shù)螖?shù)到80次后,其函數(shù)圖像變化曲線趨于穩(wěn)定,未出現(xiàn)較大波動,且未發(fā)生過擬合現(xiàn)象,說明該模型具有較好的魯棒性和泛化能力。實驗結(jié)果表明,該模型識別性能較強,實用性較好,能夠識別油菜菌核病病害葉片,也為后續(xù)的植物病害研究提供理論依據(jù)和參考價值。