劉志勇,張麗秀,鐘婷婷,王幸福,胡聲洲,?
(贛南師范大學(xué) a.數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院;b.外國(guó)語(yǔ)學(xué)院,江西 贛州 341000)
在農(nóng)業(yè)領(lǐng)域,怎樣實(shí)現(xiàn)農(nóng)作物的智能化、自動(dòng)化生產(chǎn),一直是農(nóng)業(yè)的一個(gè)研究熱點(diǎn)[1].
在番茄的生產(chǎn)過(guò)程中,常伴有病蟲(chóng)害的發(fā)生.怎樣快速的識(shí)別番茄病蟲(chóng)害,并對(duì)癥下藥,將直接影響番茄的質(zhì)量與產(chǎn)量.番茄的病蟲(chóng)害種類繁多,而且有一些病害的初期癥狀,人眼根據(jù)番茄葉面的癥狀,很難準(zhǔn)確區(qū)分.近年來(lái),隨著計(jì)算機(jī)視覺(jué)技術(shù)的快速發(fā)展,基于計(jì)算機(jī)視覺(jué)的番茄病蟲(chóng)害的自動(dòng)化識(shí)別的研究也比較多.
傳統(tǒng)的計(jì)算機(jī)視覺(jué)方法是通過(guò)提取、篩選顏色、紋理、形狀等特征,再選擇合適的病斑特征以及分類器來(lái)實(shí)現(xiàn)檢測(cè).文獻(xiàn)[2]提出了一種結(jié)合HOG、LBP特征的結(jié)合的番茄病蟲(chóng)害檢測(cè)模型;文獻(xiàn)[3]提出了一種基于神經(jīng)網(wǎng)絡(luò)的番茄葉部病害識(shí)別方法等.目前,由于不存在通用的分割和特征抽取算法,且特征的提取很多時(shí)候依賴專業(yè)人員的經(jīng)驗(yàn),現(xiàn)有傳統(tǒng)的計(jì)算機(jī)視覺(jué)方法往往可擴(kuò)展性差.與傳統(tǒng)的計(jì)算機(jī)視覺(jué)方法相比,基于卷積神經(jīng)網(wǎng)絡(luò)的圖片識(shí)別摒棄了復(fù)雜的圖像預(yù)處理和特征提取操作,具有直接抽取分類特征的優(yōu)點(diǎn),往往不需要特意設(shè)計(jì)分類器,簡(jiǎn)化了識(shí)別流程.同時(shí),其抽取特征的方法常適合各種場(chǎng)合下的分類,泛化性較強(qiáng).近年來(lái),基于卷積神經(jīng)網(wǎng)絡(luò)的圖片識(shí)別的應(yīng)用也比較多[4].
本文探討了基于leNet-5的番茄病蟲(chóng)害識(shí)別問(wèn)題,針對(duì)傳統(tǒng)的leNet-5對(duì)番茄病蟲(chóng)害識(shí)別效果較差,對(duì)其進(jìn)行了改進(jìn).采用2018年AI challenger農(nóng)作物病蟲(chóng)害檢測(cè)中的番茄病蟲(chóng)害數(shù)據(jù)集,通過(guò)數(shù)據(jù)增強(qiáng)的方式對(duì)其進(jìn)行擴(kuò)充.實(shí)驗(yàn)表明,本文提出的改進(jìn)leNet-5的綜合模型,識(shí)別精度能達(dá)到95.3%,在識(shí)別精度與模型建立的效率上都有所提高.
卷積神經(jīng)網(wǎng)絡(luò)(簡(jiǎn)稱CNN),與神經(jīng)網(wǎng)絡(luò)相似,其靈感來(lái)自于人腦中視覺(jué)皮層獲取外部信息的方式.其通過(guò)網(wǎng)絡(luò)各層中神經(jīng)元節(jié)點(diǎn)感知圖像的不同區(qū)域信號(hào)并獲取其特征信息,然后通過(guò)組合網(wǎng)絡(luò)各層特征信息,得到圖像中不同層次的信息,計(jì)算機(jī)通過(guò)不斷地學(xué)習(xí)訓(xùn)練之后,就可能擁有類似于大腦的圖像識(shí)別能力.近年來(lái),隨著計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展,CNN在圖片識(shí)別領(lǐng)域開(kāi)始大展拳腳,其幾乎成了深度學(xué)習(xí)的代名詞.
CNN主要由卷積層、池化層、全連接層3個(gè)部分組成.其訓(xùn)練包括信息的前向傳播、誤差梯度的反向傳播2個(gè)過(guò)程.CNN中信息的前向傳播過(guò)程,是對(duì)圖片特征的提取、圖片抽象表達(dá)的過(guò)程,是卷積層、池化層、全連接層等綜合作用的結(jié)果.
卷積層主要用于提取圖片特征,其通過(guò)卷積運(yùn)算對(duì)上一層節(jié)點(diǎn)進(jìn)行線性組合,然后對(duì)組合結(jié)果進(jìn)行非線性變換得到輸出,并將該輸出作為下一層的輸入,不斷重復(fù)該過(guò)程,從而得到圖片的更抽象的表達(dá).如公式(1)所示,為卷積層操作表達(dá)式.其中X、W、b、f(·)、A分別表示該層的輸入、所使用卷積核、偏置、激活函數(shù)及輸出.
A=f(W·X+b)
(1)
池化層是利用特定規(guī)則進(jìn)行池化,來(lái)降低特征平面維度.常用的池化層有最大池化層、平均池化層等.如(2)所示,為池化操作表達(dá)式.其中d(·)、S分別表示該層所采用的池化函數(shù)及其池化結(jié)果.
S=d(A)
(2)
(3)
(4)
其中ai表示預(yù)測(cè)值,yi真實(shí)值,nL為類別的個(gè)數(shù),i為訓(xùn)練樣本真實(shí)類別序號(hào).
(5)
(6)
leNet-5適用于手寫(xiě)字體識(shí)別,在使用leNet-5識(shí)別番茄病蟲(chóng)害葉部圖片時(shí),損失值較高,識(shí)別率很低,模型訓(xùn)練效率較低.主要存在以下問(wèn)題:
為了使整個(gè)leNet-5網(wǎng)絡(luò)的番茄病蟲(chóng)害識(shí)別性能有更大提升、達(dá)到較高的準(zhǔn)確率,對(duì)其進(jìn)行優(yōu)化改進(jìn).
針對(duì)leNet-5在番茄病蟲(chóng)害識(shí)別上的問(wèn)題,做如下改進(jìn):
表1中給出了改進(jìn)leNet-5網(wǎng)絡(luò)結(jié)構(gòu)中各層的具體參數(shù)的描述,包括各層所使用的結(jié)構(gòu),卷積核/池化尺寸、步長(zhǎng)大小S、特征圖數(shù)目及輸出尺寸等.其中卷積模塊組Inception_v3,包含4個(gè)分支,分別記為v1_branch_0、v1_branch_1、v1_branch_2、v1_branch_3.Inception_v3中取步長(zhǎng)S=1.v1_branch_0由8個(gè)1*1卷積核組成,記為8@1*1;v1_branch_1由兩個(gè)卷積核4@1*1、12@3*3級(jí)聯(lián)而成;v1_branch_2由卷積核4@1*1、6@5*5進(jìn)行級(jí)聯(lián);v1_branch_3由一個(gè)5*5 MaxPool層和4@1*1卷積核級(jí)聯(lián)而成.經(jīng)Inception_v3處理之后,得到8+12+16+4=30個(gè)13*13的特征圖,記為30@13*13.第4層為卷積模塊組Inception_v4,與Inception_v3相似.經(jīng)Inception_v4處理之后得到64@7*7的特征輸出.
表1 網(wǎng)絡(luò)參數(shù)
本文實(shí)驗(yàn)數(shù)據(jù)集采用2018年AI challenger農(nóng)作物病蟲(chóng)害檢測(cè)中的番茄病蟲(chóng)害數(shù)據(jù)集.共有3種番茄病蟲(chóng)害,每種病蟲(chóng)害分為一般及嚴(yán)重2類.表2是原始數(shù)據(jù)的統(tǒng)計(jì)表.
表2 原始數(shù)據(jù)的統(tǒng)計(jì)表
由于獲得新的番茄病蟲(chóng)害圖片,需要大量的成本.本文中通過(guò)數(shù)據(jù)增強(qiáng)的方式,如表3所示,來(lái)增加番茄病蟲(chóng)害數(shù)據(jù)集,增加網(wǎng)絡(luò)的訓(xùn)練量,從而提高模型的泛化能力;通過(guò)增加噪聲數(shù)據(jù),也能有效增強(qiáng)模型的魯棒性.實(shí)驗(yàn)中通過(guò)隨機(jī)劃分?jǐn)?shù)據(jù)集的方式,以0.8∶0.2的比例將數(shù)據(jù)集劃分成訓(xùn)練集與測(cè)試集.分別通過(guò)前述的數(shù)據(jù)增強(qiáng)方式,使數(shù)據(jù)集達(dá)到142 800張.
表3 數(shù)據(jù)增強(qiáng)方式及其參數(shù)
在win10系統(tǒng)下,使用python語(yǔ)言進(jìn)行網(wǎng)絡(luò)模型的程序設(shè)計(jì),利用pycharm等python代碼編寫(xiě)平臺(tái),進(jìn)行程序的編寫(xiě),通過(guò)使用tensorflow及相關(guān)的卷積神經(jīng)網(wǎng)絡(luò)庫(kù)實(shí)現(xiàn)了改進(jìn)的leNet-5模型.并利用matlab等工具對(duì)實(shí)驗(yàn)后得到的數(shù)據(jù)進(jìn)行了分析與比較.
對(duì)經(jīng)典leNet-5在卷積核大小,分類器,損失函數(shù)上進(jìn)行改進(jìn),將網(wǎng)絡(luò)中部分卷積核的大小由5×5改為3×3、使用Softmax回歸作為分類器并聯(lián)合交叉熵?fù)p失函數(shù),并使用Mini-batch進(jìn)行梯度更新.在此基礎(chǔ)上,分別在經(jīng)典leNet-5中加入BN層、將激活函數(shù)改為PReLU、在網(wǎng)絡(luò)中加入Inception模塊形成3個(gè)改進(jìn)網(wǎng)絡(luò)模型,記為leNet-BN、leNet-PR、leNet-Inc.并最終將三者均加入leNet-5中形成本文中最后的改進(jìn)模型leNet-C.具體而言,leNet-BN為在leNet-5的C1、S2,C3、S4層之間加入BN層形成的網(wǎng)絡(luò)結(jié)構(gòu);leNet-PR為在leNet-BN模型中將原來(lái)的激活函數(shù)均改為PReLU之后的網(wǎng)絡(luò)模型;leNet-Inc為將C1、C3層改為表1中2個(gè)Inception模塊的網(wǎng)絡(luò)結(jié)構(gòu);leNet-C為如表1所述網(wǎng)絡(luò)結(jié)構(gòu).記經(jīng)典leNet-5網(wǎng)絡(luò)為leNet-O.
在保證其它條件不變下,分別使用leNet-O、leNet-BN、leNet-PR、leNet-Inc、leNet-C對(duì)本文中數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),并進(jìn)行比較.
在本文實(shí)驗(yàn)中,程序設(shè)計(jì)時(shí)控制好指數(shù)衰減學(xué)習(xí)率、目標(biāo)優(yōu)化函數(shù)以及參數(shù)更新方式保持相同,分別使用leNet-O、leNet-BN、leNet-PR、leNet-Inc、leNet-C對(duì)本文中數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),比較其對(duì)leNet-5網(wǎng)絡(luò)模型效果的影響.改進(jìn)實(shí)驗(yàn)中都采用Mini-batch梯度下降法,來(lái)更新梯度以及參數(shù)的學(xué)習(xí).如圖1所示,為經(jīng)上述方法對(duì)leNet-5進(jìn)行改進(jìn),在經(jīng)過(guò)200次迭代之后,網(wǎng)絡(luò)模型對(duì)番茄病蟲(chóng)害識(shí)別的正確率.圖2為傳統(tǒng)leNet-5及改進(jìn)后網(wǎng)絡(luò)模型訓(xùn)練過(guò)程中迭代次數(shù)與損失值的比較圖.
圖1 識(shí)別的正確率比較 圖2 損失值對(duì)比
在本文識(shí)別番茄病蟲(chóng)害leNet-5改進(jìn)實(shí)驗(yàn)中,從2圖中可以看出,在傳統(tǒng)的leNet-5的基礎(chǔ)上加入BN層、將激活函數(shù)改為PReLU函數(shù)并在全連接層采用dropout策略、加入Inception模塊,在加快網(wǎng)絡(luò)訓(xùn)練速度、提升網(wǎng)絡(luò)識(shí)別率優(yōu)化網(wǎng)絡(luò)上有較好的效果.
表4所示為改進(jìn)后的網(wǎng)絡(luò)模型對(duì)于識(shí)別番茄病蟲(chóng)害的準(zhǔn)確率統(tǒng)計(jì)表.在綜合前者的改進(jìn)后,各優(yōu)化方法之間也展現(xiàn)了較好的協(xié)同作用效果,使得改進(jìn)后的網(wǎng)絡(luò)模型的整體識(shí)別率達(dá)到了95.3%.
表4 各網(wǎng)絡(luò)模型識(shí)別率統(tǒng)計(jì)表
本文在傳統(tǒng)的leNet-5基礎(chǔ)上進(jìn)行了包括加入BN層、采用PReLU激活函數(shù)并在全連接層采用Dropout策略、加入Inception結(jié)構(gòu)等多種改進(jìn)實(shí)驗(yàn),提出一種對(duì)傳統(tǒng)的leNet-5的改進(jìn)模型,采用2018年AI challenger農(nóng)作物病蟲(chóng)害檢測(cè)中的番茄病蟲(chóng)害數(shù)據(jù)集,通過(guò)數(shù)據(jù)增強(qiáng)的多種方式對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充,通過(guò)各種改進(jìn)方案對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練和測(cè)試,并對(duì)各方案及其綜合型的識(shí)別效果進(jìn)行比較,最后改進(jìn)的leNet-5綜合模型的識(shí)別率達(dá)到了95.3%.實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的leNet-5綜合模型在加快網(wǎng)絡(luò)訓(xùn)練速度、提升網(wǎng)絡(luò)識(shí)別率、獲得有效的圖片特征,在識(shí)別復(fù)雜的番茄病蟲(chóng)害圖片等方面取得了較好的效果.
但是本文所采用的數(shù)據(jù)集圖片大小是固定的,不具有普適性.本文中所使用的番茄病蟲(chóng)害的數(shù)據(jù)集還不夠全面,在實(shí)際應(yīng)用中,圖片的大小可能具有任意性,病蟲(chóng)害的種類繁多,下一步的研究目標(biāo)將放在圖片的任意性輸入,更多類別分類以及網(wǎng)絡(luò)的進(jìn)一步優(yōu)化上.