梁萬(wàn)杰+曹宏鑫
摘要:針對(duì)水稻蟲害識(shí)別問(wèn)題,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)模型的水稻二化螟蟲害識(shí)別方法。圖像預(yù)處理后,選擇包含水稻二化螟成蟲、幼蟲、卵或蛹的圖片1 658張作為正樣本,不含水稻二化螟的農(nóng)作物圖片1 652張作為負(fù)樣本構(gòu)建了模型訓(xùn)練測(cè)試數(shù)據(jù)集。設(shè)計(jì)一個(gè)10層的卷積神經(jīng)網(wǎng)絡(luò)模型,采用Torch 7在Ubuntu 14.04系統(tǒng)上實(shí)現(xiàn)模型系統(tǒng)的開發(fā)和運(yùn)行。Holdout交叉驗(yàn)證結(jié)果顯示,模型命中率、精度分別為86.21%、89.14%,誤測(cè)率8.67%,AUC(area under the receiver operating characteristic curve)值0.95。試驗(yàn)結(jié)果表明,模型可有效地提取圖像的特征,對(duì)水稻二化螟害蟲識(shí)別具有很好的抗干擾性和魯棒性。
關(guān)鍵詞:深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);水稻蟲害識(shí)別;二化螟
中圖分類號(hào): TP391.4 文獻(xiàn)標(biāo)志碼: A 文章編號(hào):1002-1302(2017)20-0241-03
隨著農(nóng)業(yè)信息化技術(shù)的飛速發(fā)展,農(nóng)作物圖像及其處理和模式識(shí)別技術(shù)逐步在農(nóng)作物病蟲害診斷、農(nóng)作物營(yíng)養(yǎng)元素缺失識(shí)別診斷、農(nóng)作物草害識(shí)別、監(jiān)測(cè)農(nóng)作物生長(zhǎng)等農(nóng)業(yè)領(lǐng)域得到了廣泛應(yīng)用研究,并取得了較好的應(yīng)用成果[1-4]。隨著物聯(lián)網(wǎng)、圖像采集等技術(shù)的發(fā)展,農(nóng)業(yè)相關(guān)的視頻、圖像數(shù)據(jù)迅速進(jìn)入大數(shù)據(jù)時(shí)代。植物病蟲災(zāi)害是中國(guó)三大自然災(zāi)害之一,對(duì)其識(shí)別、監(jiān)測(cè)、預(yù)警、防控具有重要的信息支撐作用[5]。農(nóng)作物病蟲害自動(dòng)化識(shí)別可以為防治贏得時(shí)間,最大限度地減少經(jīng)濟(jì)損失,同時(shí)可以為精確施藥提供信息支持,從而減少農(nóng)業(yè)殘留,提高農(nóng)產(chǎn)品品質(zhì)[6-7]。因此,基于大數(shù)據(jù)的深度學(xué)習(xí)算法在農(nóng)作物病蟲害識(shí)別方面的研究具有重要的理論和實(shí)際意義。
近年來(lái),深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的新興研究領(lǐng)域越來(lái)越受到人們的關(guān)注,通過(guò)深度學(xué)習(xí)構(gòu)建的深度網(wǎng)絡(luò)在無(wú)監(jiān)督特征提取方面表現(xiàn)出優(yōu)異性能[8-9]。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)模型是深度學(xué)習(xí)中一種有效的自主學(xué)習(xí)特征的方法,可以從原始圖像中重構(gòu)圖像的高層語(yǔ)義特征,利用權(quán)值共享提高訓(xùn)練性能。目前,該模型已成功應(yīng)用于手寫字符識(shí)別[10]、人臉識(shí)別[11]、MNIST 識(shí)別[12]等領(lǐng)域。同時(shí)在農(nóng)業(yè)上也有較好的應(yīng)用,并受到很多農(nóng)業(yè)研究者的關(guān)注。王琨等把卷積神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于茶葉嫩芽的識(shí)別,取得了較好的識(shí)別效果,提高了茶產(chǎn)業(yè)的規(guī)?;?、產(chǎn)業(yè)化水平[13]。張帥等提出一個(gè)8層卷積神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)系統(tǒng)用于植物葉片識(shí)別,對(duì)單一葉片取得90%以上的識(shí)別率,并對(duì)復(fù)雜背景的葉片取得較好的識(shí)別效果[14]。劉云等采用卷積神經(jīng)網(wǎng)絡(luò)對(duì)蘋果缺陷進(jìn)行檢測(cè),取得了5個(gè)/s的檢測(cè)速度、高達(dá)97.3%的正確率[15]。
本研究針對(duì)水稻蟲害識(shí)別,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別方法并對(duì)圖像預(yù)處理方法、訓(xùn)練和測(cè)試樣本集、卷積神經(jīng)網(wǎng)絡(luò)模型架構(gòu)進(jìn)行了詳細(xì)的設(shè)計(jì)和論述。采用Torch7實(shí)現(xiàn)模型算法、模型訓(xùn)練、模型測(cè)試及模型性能結(jié)果統(tǒng)計(jì)分析和輸出。最后對(duì)水稻蟲害識(shí)別方法進(jìn)行綜合討論和評(píng)價(jià),提出未來(lái)發(fā)展方向。
1 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)最早出現(xiàn)于 20 世紀(jì) 80 年代[16-17],并在數(shù)字手寫體識(shí)別[18]方面取得顯著進(jìn)展,但因計(jì)算復(fù)雜,運(yùn)算量大,在硬件條件下影響了其推廣應(yīng)用。Hinton等認(rèn)為,多層神經(jīng)網(wǎng)絡(luò)具有優(yōu)異的學(xué)習(xí)能力,學(xué)習(xí)到的特征能對(duì)數(shù)據(jù)進(jìn)行更本質(zhì)的表示,有利于模式分類,深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練上的難度,可通過(guò)逐層初始化來(lái)有效克服[19]。2012 年,Krizhevsky等將卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行多層擴(kuò)展[20],建立深層卷積神經(jīng)網(wǎng)絡(luò),并在 ImageNet 視覺(jué)競(jìng)賽中取得成功。卷積神經(jīng)網(wǎng)絡(luò)的關(guān)鍵是網(wǎng)絡(luò)結(jié)構(gòu)(卷積層、下采樣層、全連接層等) 和反向傳播算法等。其中卷積和反向傳播算法如下:
卷積以上一層的特征圖(feature map) 為輸入與可學(xué)習(xí)的卷積核進(jìn)行卷積,然后通過(guò)激活函數(shù)(activation function)運(yùn)算得到輸出特征圖。每個(gè)輸出特征圖可以卷積多個(gè)特征圖的值[21]:
式中:ylj是卷積后輸出值;f(·)是激活函數(shù),常用sigmoid 、 tanh、ReLU等函數(shù); zlj是卷積層l的第j個(gè)通道的凈激活(netactivation);xl-1i是l-1層輸出特征圖;Mj是輸入特征圖子集;klij是l層卷積核矩陣;“*” 是卷積符號(hào);blj是偏移量。
反向傳播算法是神經(jīng)網(wǎng)絡(luò)有監(jiān)督學(xué)習(xí)中的一種常用方法,其目標(biāo)是根據(jù)訓(xùn)練樣本期望輸出值與真實(shí)值之間的誤差,反向調(diào)整網(wǎng)絡(luò)各層的參數(shù)。反向傳播算法主要基于梯度下降方法,網(wǎng)絡(luò)參數(shù)首先被初始化為隨機(jī)值,然后通過(guò)梯度下降法向訓(xùn)練誤差減小的方向調(diào)整。其中誤差損失函數(shù)定義為[21]:
式中:tn是第n個(gè)樣本的類別標(biāo)簽真值;yn是第n個(gè)樣本通過(guò)前向傳播網(wǎng)絡(luò)預(yù)測(cè)輸出的類別標(biāo)簽。
2 材料與方法
2.1 數(shù)據(jù)預(yù)處理
本研究以水稻二化螟為研究對(duì)象。首先收集含有二化螟成蟲、幼蟲、卵或蛹的圖片,然后把圖片分割成64×64大小的圖片,從中挑選出含有二化螟不同生長(zhǎng)階段圖像的圖片作為水稻蟲害識(shí)別訓(xùn)練和測(cè)試正樣本。收集水稻、小麥、玉米等主要農(nóng)作物的圖像資料,分割成64×64大小的圖片,作為水稻蟲害識(shí)別訓(xùn)練和測(cè)試負(fù)樣本。處理后的部分圖像見(jiàn)圖1。從圖1可以看出,正樣本圖像只含有二化螟的部分部位,圖像分辨率、害蟲占圖像的比例等不同,圖像背景復(fù)雜,這些都對(duì)蟲害的識(shí)別具有很大的干擾。
2.2 卷積神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì)
本研究設(shè)計(jì)的水稻蟲害識(shí)別卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)見(jiàn)圖2。模型共有10層,包括1個(gè)輸入層、3個(gè)卷積層、3個(gè)下采樣層、2個(gè)全連接層、1個(gè)輸出層。輸入為3通道、大小64×64的圖像;C1和C2卷積層的卷積核大小為5×5,C5卷積層采用4×4大小的卷積核;激活函數(shù)采用修正線性單元(rectified linear unit,ReLU)函數(shù),該函數(shù)具有單側(cè)抑制、較寬闊的興奮邊界及稀疏激活性的特點(diǎn),更加符合神經(jīng)元信號(hào)激勵(lì)原理。每層特征圖個(gè)數(shù)和大小詳見(jiàn)圖2。輸出值為1和2,其中“1”代表正樣本(有蟲害)、“2”代表負(fù)樣本(無(wú)蟲害)。endprint
2.3 數(shù)據(jù)集
數(shù)據(jù)集是構(gòu)建識(shí)別模型的基礎(chǔ),同時(shí)也是測(cè)試構(gòu)建的識(shí)別模型的基礎(chǔ)數(shù)據(jù)集,本研究在圖像預(yù)處理的基礎(chǔ)上,構(gòu)建了一個(gè)用于模型訓(xùn)練和測(cè)試的數(shù)據(jù)集。數(shù)據(jù)集包含3 310個(gè) 64×64的彩色圖片,其中包含水稻二化螟成蟲、幼蟲、卵或蛹的圖片1 658張(正樣本),不含水稻二化螟的農(nóng)作物圖片 1 652 張(負(fù)樣本)。整理分類后,把正樣本圖片轉(zhuǎn)換為3×64×64的矩陣,并標(biāo)記為“1”;把負(fù)樣本圖片轉(zhuǎn)換成矩陣后,標(biāo)記為“2”。最后把所有數(shù)據(jù)保存到數(shù)據(jù)文件中用于模型的訓(xùn)練和測(cè)試。
3 結(jié)果與分析
3.1 識(shí)別模型實(shí)現(xiàn)
深度學(xué)習(xí)能夠廣泛應(yīng)用于眾多研究領(lǐng)域,離不開許多優(yōu)秀的開源深度學(xué)習(xí)仿真工具。目前,常用的深度學(xué)習(xí)仿真工具有Caffe、Torch、Theano等。Torch 是一個(gè)支持機(jī)器學(xué)習(xí)算法的科學(xué)計(jì)算框架。它是采用 Lua 腳本語(yǔ)言和 C 語(yǔ)言編寫。Torch為設(shè)計(jì)和訓(xùn)練機(jī)器學(xué)習(xí)模型提供了一個(gè)靈活的環(huán)境,可支持Linux、Andriod、Mac OS X、iOS、Windows等平臺(tái)。最新版本Torch 7使CNN的訓(xùn)練速度得到大幅度提升。綜合對(duì)比后,本研究選擇Torch 7在Ubuntu 14.04系統(tǒng)上實(shí)現(xiàn)模型系統(tǒng)的開發(fā)和運(yùn)行?;赥orch主要實(shí)現(xiàn)了原始圖片的預(yù)處理、數(shù)據(jù)集生產(chǎn)、模型訓(xùn)練和測(cè)試、性能參數(shù)統(tǒng)計(jì)等功能。
3.2 試驗(yàn)結(jié)果
為了驗(yàn)證模型的穩(wěn)定性和性能,本研究采用Holdout交叉驗(yàn)證[22]方法對(duì)識(shí)別模型進(jìn)行交叉驗(yàn)證。每次從數(shù)據(jù)集隨機(jī)抽取1 000個(gè)樣本作為測(cè)試樣本,剩下的樣本作為訓(xùn)練集,重復(fù)運(yùn)行20次,并統(tǒng)計(jì)模型的命中率、誤測(cè)率、精度和AUC值,最后求4個(gè)性能評(píng)價(jià)指標(biāo)的平均值。模型交叉驗(yàn)證的結(jié)果見(jiàn)表1,從表1可以看出,模型的命中率和精度分別為8621%和89.14%,誤測(cè)率8.67%,表明模型達(dá)到較高的識(shí)別能力同時(shí)能保證較低的誤測(cè)率。AUC值的意義是其值越接近1表明模型的識(shí)別性能越好。本研究提出的識(shí)別模型AUC值達(dá)到0.95,表明模型具有較好的識(shí)別性能。模型的ROC曲線左邊越靠近y坐標(biāo)軸,上面越靠近y=1直線,模型的性能越好。模型各層輸出特征圖見(jiàn)圖3,從圖3可以看出,模型提取的水稻二化螟成蟲的特征較為明顯,說(shuō)明模型通過(guò)局部感受野和權(quán)值共享,能夠有效地提取圖像的特征,具備一定的平移不變性[23]。模型的ROC曲線見(jiàn)圖4,從圖4模型的ROC曲線可以看出,模型具有較好的識(shí)別性能。表明本研究提出的識(shí)別模型具有10個(gè)層次,結(jié)構(gòu)較為復(fù)雜,可以有效學(xué)習(xí)數(shù)據(jù)集中隱含的特征信息,從而達(dá)到較好的識(shí)別效果。
4 結(jié)論
從圖像預(yù)處理和數(shù)據(jù)集的構(gòu)建過(guò)程可知,用于模型訓(xùn)練和測(cè)試的數(shù)據(jù)集有如下特點(diǎn):(1)圖片光線、拍攝角度、取景遠(yuǎn)近各不相同;(2)僅對(duì)原始圖片進(jìn)行簡(jiǎn)單的分割,并沒(méi)有做進(jìn)一步的處理;(3)選擇的負(fù)樣本干擾性較大。這些特點(diǎn)對(duì)模型的訓(xùn)練和測(cè)試具有較大的挑戰(zhàn)性。
本研究提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的水稻二化螟害蟲識(shí)別方法,并詳細(xì)闡述了數(shù)據(jù)預(yù)處理、數(shù)據(jù)集構(gòu)建、識(shí)別模型結(jié)構(gòu)設(shè)計(jì)以及模型開發(fā)實(shí)現(xiàn)技術(shù)等。通過(guò)交叉驗(yàn)證和模型性能評(píng)價(jià)指標(biāo)分析,可知此識(shí)別模型可有效地提取圖像的特征,也可有效學(xué)習(xí)數(shù)據(jù)集中隱含的特征信息,從而達(dá)到較好的識(shí)別效果,模型具有很好的抗干擾性和魯棒性。
為了達(dá)到推廣應(yīng)用的效果,今后還需要開展以下方面的研究:(1)豐富正樣本集,并進(jìn)一步研究圖像預(yù)處理方法,減少噪音干擾,提高模型訓(xùn)練效果,達(dá)到提高模型識(shí)別水平;(2)研究模型對(duì)害蟲不同生育階段的識(shí)別能力,從而提高模型的應(yīng)用能力和水平。
參考文獻(xiàn):
[1]管澤鑫,姚 青,楊保軍,等. 數(shù)字圖像處理技術(shù)在農(nóng)作物病蟲草識(shí)別中的應(yīng)用[J]. 中國(guó)農(nóng)業(yè)科學(xué),2009,42(7):2349-2358.
[2]楊 倩,高曉陽(yáng),武季玲,等. 基于顏色和紋理特征的大麥主要病害識(shí)別研究[J]. 中國(guó)農(nóng)業(yè)大學(xué)學(xué)報(bào),2013,18(5):129-135.
[3]田有文,陳 旭,鄭鵬輝.基于嵌入式的農(nóng)作物葉部病害分級(jí)系統(tǒng)[J]. 沈陽(yáng)農(nóng)業(yè)大學(xué)學(xué)報(bào),2014,45(6):756-760.
[4]吳露露,馬 旭,齊 龍,等. 改進(jìn)Hough變換的農(nóng)作物病斑目標(biāo)檢測(cè)方法[J]. 農(nóng)業(yè)工程學(xué)報(bào),2014,30(10):152-159.
[5]曹樂(lè)平. 基于機(jī)器視覺(jué)的植物病蟲害實(shí)時(shí)識(shí)別方法[J]. 中國(guó)農(nóng)學(xué)通報(bào),2015,31(20):244-249.
[6]趙春江,陳天恩,陳立平,等. 遷飛性害蟲精準(zhǔn)施藥決策分析方法研究[J]. 農(nóng)業(yè)工程學(xué)報(bào),2008,24(增刊2):149-154.
[7]張 震,高 雄,陳鐵英,等. 農(nóng)業(yè)自動(dòng)化噴霧機(jī)械標(biāo)靶害蟲自動(dòng)識(shí)別系統(tǒng)的研究[J]. 農(nóng)機(jī)化研究,2016,38(8):126-130.
[8]胡正平,陳俊嶺,王 蒙,等. 卷積神經(jīng)網(wǎng)絡(luò)分類模型在模式識(shí)別中的新進(jìn)展[J]. 燕山大學(xué)學(xué)報(bào),2015,39(4):283-291.
[9]周飛燕,金林鵬,董 軍. 卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J]. 計(jì)算機(jī)學(xué)報(bào),2017,40(6):1229-1251.
[10]高 學(xué),王有旺. 基于CNN和隨機(jī)彈性形變的相似手寫漢字識(shí)別[J]. 華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,44(1):72-76,83.
[11]汪濟(jì)民,陸建峰. 基于卷積神經(jīng)網(wǎng)絡(luò)的人臉性別識(shí)別[J]. 現(xiàn)代電子技術(shù),2015,38(7):81-84.
[12]余 萍,趙繼生. 基于線性疊加特征和CNNs的圖像分類方法[J]. 微電子學(xué)與計(jì)算機(jī),2015(10):36-40.
[13]王 琨,劉大茂. 基于深度學(xué)習(xí)的茶葉狀態(tài)智能識(shí)別方法[J]. 重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,29(12):120-126.endprint
[14]張 帥,淮永建. 基于分層卷積深度學(xué)習(xí)系統(tǒng)的植物葉片識(shí)別研究[J]. 北京林業(yè)大學(xué)學(xué)報(bào),2016,38(9):108-115.
[15]劉 云,楊建濱,王傳旭. 基于卷積神經(jīng)網(wǎng)絡(luò)的蘋果缺陷檢測(cè)算法[J]. 電子測(cè)量技術(shù),2017,40(3):108-112.
[16]Rumelhart D E,Hinton G E,Williams R J. Learning representations by back-propagating errors[J]. Nature,1986,323(6088):533-536.
[17]Lecun Y,Boser B,Denker J S,et al. Backpropagation applied to handwritten zip code recognition[J]. Neural Computation,1989,1(4):541-551.
[18]Lauer F,Suen C Y,Bloch G. A trainable feature extractor for handwritten digit recognition[J]. Pattern Recognition,2007,40(6):1816-1824.
[19]Hinton G E,Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science,2006,313(5786):504-507.
[20]Krizhevsky A,Sutskever I,Hinton G E. ImageNet classification with deep convolutional neural networks[C]//International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.
[21]Lecun Y,Bengio Y,Hinton G. Deep learning[J]. Nature,2015,521(7553):436-444.
[22]Devroye L,Wagner T J. Distribution-free performance bounds for potential function rules[J]. IEEE Transaction in Information Theory,1979,25(5):601-604.
[23]易超人,鄧燕妮. 多通道卷積神經(jīng)網(wǎng)絡(luò)圖像識(shí)別方法[J]. 河南科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2017,38(3):41-44.endprint