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