張善文,黃文準,尤著宏
(西京學院 信息工程學院, 陜西 西安 710123)
基于物聯網和深度卷積神經網絡的冬棗病害識別方法
張善文,黃文準,尤著宏*
(西京學院 信息工程學院, 陜西 西安 710123)
針對傳統的作物病害識別方法中人為提取的分類特征,對復雜作物病害圖像的形狀、光照和背景比較敏感等問題,提出一種基于物聯網和深度卷積神經網絡(DCNN)的冬棗病害識別方法。DCNN由1個輸入層、4個卷積層、3個下采樣層、1個全連接層和1個輸出層組成。利用該方法能夠提取冬棗病害圖像的有效特征,并識別病害類型,避免了傳統作物病害識別方法中繁瑣的特征提取過程。在4種冬棗病害果實數據庫上進行了冬棗病害識別實驗,識別率達到92%以上。試驗結果表明,該方法適合利用物聯網采集的大規模視頻病害圖像進行冬棗病害識別。
冬棗病害識別;冬棗病害圖像;深度卷積神經網絡(DCNN);特征提取
冬棗是我國近年來興起的第二代水果,甘甜味美,營養豐富,被譽為“百果之王”和“活維生素片”。近年來冬棗病害嚴重影響了冬產量和質量,常見的主要病害包括銹病、炭疽病和爛果病等10多種。目前冬棗病害的診斷基本上憑借植保專家和果農往年的經驗,通過人工觀察果樹發病癥狀,再與已有的病害癥狀圖片和文字解釋做比較進行病害診斷。由于不同大棚的冬棗的自然生長環境差異較大,以及冬棗病害癥狀的復雜多樣性,所以人工觀察方法經常出現偏差。隨著計算機、圖像處理和物聯網技術的發展,出現了很多基于計算機的作物自動識別方法[1-3],其識別原理基本相同:首先對采集的病害圖像進行預處理,然后提取分類特征,再選擇分類器進行病害識別。這些方法在很大程度上關于提取什么特征以及提取多少特征等問題具有盲目性?,F在能夠利用果園大棚內的視頻攝像設備實時采集病害葉片和果實圖像,然后通過互聯網傳送到遠程計算機,再利用計算機自動識別病害類型[4-6]。然而,由于作物病害圖像的復雜多樣性,特別是物聯網視頻設備采集到的病害圖像是海量、高度冗余、含噪(圖1)的,使得很多傳統的作物病害識別方法不能有效地從這些圖像中提取出較好的特征。深度學習是一個新的機器學習研究領域,通過更“深”層次的訓練,可以很好地模擬人腦運作,解決復雜的圖像和語音識別等實際問題。深度學習能夠自主學習病害圖像的特征,減少人工干預,提高圖像識別效率[7-9]。本文在深度學習模型及其應用研究的基礎上,提出一種基于深度卷積神經網絡(DCNN)的冬棗病害識別方法。該方法能夠從病害圖像中自動學習良好的病害識別特征,從而克服了人工選取特征的盲目性。通過試驗,該方法在冬棗病害識別中取得了較好的識別效果。
DCNN已成為語音分析和圖像識別等眾多科學領域的研究熱點。由于該網絡可以直接輸入原始圖像,避免了傳統圖像識別算法中復雜的圖像預處理、特征提取和選擇等過程,因而得到了廣泛的實際應用[9-10]。權值共享網絡結構使之更類似于生物神經網絡,降低了網絡的復雜度,減少了權值的數量。該網絡提取的特征對圖像的平移、比例縮放、旋轉等形變具有高度不變性。圖2為DCNN的一般結構,由1個輸入層、3個卷積層、2個下采樣層、1個全連接層和1個分類層組成。由圖2看出,DCNN是一個多層神經網絡,每層由多個二維特征平面組成,每個平面由多個相互獨立的神經元組成,卷積層與下采樣依次連接,最后由全連接層輸出特征到分類層。
DCNN的兩個重要操作是卷積和下采樣,DCNN通過卷積能夠得到更有效的特征;下采樣即降采樣操作。在圖2中,第一個卷積層對圖像的鄰域進行卷積得到圖像的局部鄰域特征,即對圖像的每個小區域都進行卷積運算,后面卷積層的神經元對前一層的局部感受也進行卷積運算提取特征,而下采樣層對上一層得到的特征的相鄰像素之間進行取平均或最大值的操作,得到新的特征映射圖。多次重復上述步驟,并把最后得到的特征值連接成一個向量輸入到最后的分類層,得到識別結果。其中,卷積核被看作訓練參數,卷積層被看作對輸入圖像進行“抽象”的操作,經過幾次卷積后,能夠提取出圖像的“特征值”。卷積操作具有平移不變性,能夠支持神經元學習到魯棒性較高的特征;下采樣層是在一個小區域內,使用池化方法將小鄰域內的所有特征點整合得到一個新的特征,即對圖像進行二次采樣,通過減小中間過程產生的特征圖的維數,從而減小參數規模,降低計算復雜度,也可以防止過擬合。下采樣層的空間尺寸不應太大,太大會丟失較多結構信息。也有人不建議設置下采樣層,而是在卷積層增大步幅來降低圖像尺寸;全連接層是一維向量構成的網絡層,是對輸入數據的特征表達。卷積層的每幅特征圖表示圖像的一種特征,層數越高,特征越抽象,設置全連接層的目的是將底層各特征圖的特征結合到一起,然后采用分類器進行分類。圖2的全連接層中設計的神經元個數是2 048,每個神經元都與上一層全部的神經元相連接。

圖1 冬棗病害圖像示例Fig.1 Winter jujube disease images

圖2 基于DCNN的冬棗病害識別模型結構示意圖Fig.2 Net architecture of DCNN for winter jujube disease recognition
DCNN一般采用Softmax作為輸出層的分類器進行病害類型識別,輸出不同預測結果的概率分布,通過調整參數,使得正確標簽對應的概率最大[11]。假設圖像訓練集中有C類病害的N幅病害圖像,經過卷積、下采樣以及全連接操作后,得到的第i幅圖像的特征向量和對應的類別標簽記為(x(i),r(i))(i=1,2,…,N),其中ri∈{1,2,…,C}。則在輸出層的Softmax分類器的輸出為:

(1)
式中,wi為全連接層中2 048個神經元與Softmax分類器的i個輸出神經元相連接的權重。
利用Softmax分類器的DCNN的損失函數為
(2)
式中,t為由模型的激勵函數f(x)=max(0,x)輸出的一個C×1矩陣,tlable為訓練樣本標簽,是一個C×1的二值矩陣。
DCNN模型訓練的優劣主要由損失函數確定,訓練與測試的損失值越低,則模型訓練得越好。在Softmax輸出層前加入dropout層[12],利用dropout方法隨機斷開下采樣層的網絡節點,所以實際的訓練參數就會減少,由此可以有效抑制模型的過擬合,提高算法的泛化能力。采用dropout方法的DCNN與傳統的神經網絡訓練類似,利用隨機梯度下降法求解模型參數。DCNN通過前向傳播計算DCNN的實際輸出值,然后計算實際輸出值與理想輸出值的差,構造誤差損失函數:
(3)

模型訓練目的就是最小化損失函數值。模型中的損失函數,在訓練階段用于評估網絡輸出結果與實際值的差異。然后用損失函數的值更新每個神經元之間的權重值。DCNN中的激勵函數,根據一系列的輸入值,神經元之間連接的權值以及激勵規則,刺激神經元。
將DCNN應用于冬棗病害識別問題中,其識別過程流程圖如圖3所示。
主要步驟描述如下。
步驟1:對每一幅輸入的彩色冬棗病害圖像進行歸一化和ZCA (zero-phase component analysis)白化等預處理。ZCA白化是在保證數據各維度的方差相等的同時去除它們之間的相關性,降低輸入數據的冗余,且盡量保持原數據不變。
步驟2:將預處理后的彩色圖像任意劃分為訓練集和測試集。將訓練集中的每幅彩色圖像的三個顏色通道分別送到一個單獨的DCNN進行訓練,訓練后分別得到對應的特征表示,使用全連接將訓練的特征維數降低,且保留輸入圖像的大部分信息。在DCNN中需要利用有標簽數據微調訓練整個網絡的參數。

圖3 基于DCNN的冬棗病害識別流程圖Fig.3 Flowchart of winter jujube disease recognition based on DCNN
步驟3:利用訓練集圖像得到的特征向量再訓練分類器。
步驟4:將測試集圖像輸入到訓練好的DCNN,得到特征向量,再將其輸入到訓練好的分類器進行病害分類識別。
為了驗證本文提出的冬棗病害識別方法的有效性,在陜西省大荔縣冬棗大棚果園的物聯網監控視頻中采集冬棗常見的炭疽病、爛果病、縮果病、黑點病4種病害果實各100幅圖像,進行病害識別實驗。圖4為病害圖像示例。通過MATLAB R2013a及其深度學習工具箱(Deep Learn Toolbox-master)進行仿真實驗,實驗平臺為基于Windows 7操作系統的工作站(Intel(R) Xeon(R) E5-2650 v2 CPU and 32 GB 內存)。
由于目前沒有公開的冬棗病害圖像數據庫,而深度學習模型訓練需要大量的樣本,所以我們通過旋轉、顏色和亮度變化、尺寸縮放等,將一幅圖像擴充為50幅圖像,由此模擬基于物聯網監控視頻的多種自然環境條件,則共得到4種病害的圖像4×100×50=20 000幅。圖5為一幅圖像經過旋轉等變化得到的20幅圖像。

A, 炭疽病Anthracnose B, 爛果病Rotten fruit disease

C, 縮果病Shrink fruit disease D, 黑點病Black spot圖4 冬棗病害果實圖像及其分割的病斑圖像Fig.4 Winter jujube disease images and corresponding spot images
由于冬棗病害圖像復雜、多樣,需要將每幅圖像裁剪為大小148×148,對每幅病害圖像進行ZCA白化和歸一化預處理,降低圖像之間的相關性,然后利用K-均值聚類分割方法分割出病斑圖像,處理結果見圖6所示。圖4給出了4種病害果圖像對應分割的病斑圖像。
將4種病害的400幅原始圖像對應的病斑圖像組成數據庫1,將擴展后的20 000幅圖像對應的病斑圖像組成數據庫2。下面分別在兩個數據庫中進行病害識別實驗,驗證本文提出的方法的有效性。由于SVM分類器對大數據高維特征的分類性能較好,所以分類器選擇SVM代替Softmax分類器。
(1) 從數據庫1中的每種病斑圖像中任意選擇80幅共320幅作為訓練集,其余的共80幅作為測試集。由于該數據庫1中圖像不夠多,不足以滿足DCNN訓練需求,我們對圖像進行分代重復使用,即訓練圖像隨機打亂一次稱為一代,對于每一代圖像,按照每批80幅圖像從頭到尾進行讀取,載入內存進行訓練。一代圖像使用完畢后重新隨機打亂圖像,進入下一代訓練。
(2) 從數據庫2中的每種病斑圖像中任意選擇4 000幅共16 000幅作為訓練集,其余的共4 000幅作為測試集。
訓練集用于訓練DCNN模型以及SVM分類器,測試集用于測試所提出的方法的性能。圖2只是一個DCNN樣例,在實際應用中可以增加卷積層、下采樣層和全連接等提供模型性能。計算訓練集病斑圖像的均值,在訓練和測試模型時,將輸入圖像減去訓練集的均值,能夠降低數據間的相似性和相關性,提高訓練速度。為了得到一個適合用于病害識別的DCNN模型,首先在分割出的彩色病斑圖像上進行對比實驗,選擇彩色測試集病斑圖像上的分類精度高的方法作為最終病害識別模型。經過在訓練集和測試集上的多次實驗驗證,本試驗針對病斑圖像數據庫所設計的DCNN的結構為5個卷積層、4個下采樣層和2個全連接層。病害識別過程如圖3所示。利用DCNN逐層提取病斑圖像的高維分類特征,訓練DCNN和SVM的參數。在DCNN訓練過程中,卷積模板選擇為9×9×3,再以4個像素大小的步長對輸入圖像進行卷積,病斑圖像及其各個卷積層、下采樣層和全連接層的維數大小見圖2。訓練完成后,能夠實現從病斑圖像中提取到病害類型的映射,即根據病害果實的癥狀通過DCNN和SVM判斷出病害的類型。網絡構建中利用線性修正單元(ReLUs)作為各卷積層的網絡輸出函數,數,能夠加快網絡的計算速度。在池化層采用dropout方法隨機斷開網絡節點,防止算法的過擬合,在網絡微調中采用隨機梯度降法逐層計算DCNN的參數。采用自適應學習率的動量梯度下降法優化模型,為保證學習的穩定性將學習率設置為0.01,迭代1 000次后學習率減為0.001,訓練目標為0.001,權重衰減系數為0.001,最大訓練次數為500。為了表明本文所提出的方法的有效性,我們與3種果實病害識別方法進行比較:改進的和差直方圖(ISDH)[11]、基于顏色、紋理和形狀特征(CTS)[13]和基于圖像處理(IP)[14]。識別結果如表1所示。

圖5 由一幅圖像經過旋轉和擾動以及顏色、亮度變化得到的20幅圖像Fig.5 Twenty images generated by rotation, color and brightness changes of a disease image

A, 原始圖像; B, 灰度圖像; C, ZCA白化; D, 白化彩色圖像; E, 分割的病斑; F, 分割的彩色病斑A, Original image; B, Gray image; C, ZCA whiten; D, Whiten color image; E, Segment lesion; F, Color lesion圖6 病害圖像的預處理Fig.6 Preprocessing of disease images
由表1看出,本文方法在數據庫2上的識別率很高,但在數據庫1上的識別率很低。原因是數據庫1不夠大,不能適合一個多層的DCNN模型。其他三種方法在數據庫1上識別率都高于在數據庫2上,其原因是利用傳統基于特征提取的病害識別方法提取的分類特征對圖像的旋轉、光照變化等比較敏感。而利用深度學習模型能夠學習到比較有用的、對圖像的旋轉和光照等具有不變性的特征。通過綜合比較,本文提出的冬棗病害分類模型在大型數據庫上有著明顯的優勢,能夠應用于基于物聯網的冬棗病害識別系統。
表1四種方法在兩個數據庫上的識別率和方差
Table1The recognition rates and variances on two databases by four methods %

方法MethodISDHCTSIP本文方法Ourmethod數據庫1Database184.53±2.6186.53±3.3583.16±2.4161.35±6.42數據庫2Database283.23±1.5682.23±2.8380.16±2.6292.35±2.17
基于物聯網的作物病害識別方法研究一直是計算機視角、復雜圖像處理和機器學習領域的一個重要的研究方向。由于作物病害圖像的復雜性,使得很多作物病害識別方法不能提取到較好的分類特征。本文將DCNN應用于冬棗病斑圖像識別中,能夠學習到較好的穩定的分類特征,避免了傳統的特征提取方法的不足,而且這些特征對圖像的旋轉、光照和縮放具有較好的不變性。在4種冬棗常見病害的數據庫上進行了實驗驗證,結果表明本文提出的方法在大型病害圖像數據庫上是有效可行的。同時可以看到,與經典的特征提取方法相比,本文提出的基于DCNN的病害識別方法中模型結構設置、參數選擇與調節等都比較復雜,而且利用不同的參數學習到的特征對圖像的表示不同。如何較快設置模型結構、選擇合適參數和采取較好的訓練方式等問題是我們下一步需要重點解決的問題。
[1] 楊國安.冬棗病蟲害綜合防治技術[J].北京農業,2015(19):46-47.
YANG G A. Winter jujube diseases and pests comprehensive prevention and control technology[J].BeijingAgriculture,2015(19):46-47. (in Chinese)
[2] 李新良,秦玉玲.棗樹主要病蟲害的防治措施[J].現代園藝,2016(13):147-148.
LI X L, QIN Y L. The main measures of prevention and control of diseases and pests of winter jujube[J].ModernGardening, 2016(13):147-148. (in Chinese)
[3] 王永,劉芹,張興甫.冬棗黑斑病的識別和防治研究[J]. 湖北植保,2016(4):46-50.
WANG Y, LIU Q, ZHANG X F. The identification and control of winter jujube black spot[J].HubeiPlantProtection,2016(4):46-50. (in Chinese)
[4] 陳光絨,李小琴.基于物聯網技術的農作物病蟲害自動測報系統[J].江蘇農業科學,2015, 43(4): 406-410.
CHEN G R, LI X Q. Automatic monitoring and forecasting system for crop diseases and pests based on Internet of things technology[J].JiangsuAgriculturalSciences,2015, 43(4): 406-410. (in Chinese with English abstract)
[5] 王翔宇,溫皓杰,李鑫星.農業主要病害檢測與預警技術研究進展分析[J].農業機械學報, 2016.09: 271-282.
WANG X Y, WEN H J, LI X X. Research progress on detection and early warning technology of major diseases in agriculture[J].TransactionsoftheChineseSocietyforAgriculturalMachinery, 2016.09: 271-282. (in Chinese with English abstract)
[6] 李建榮.大區農業中病蟲害災變臨界的物聯網監控[J].計算機仿真,2014,31(4):229-232.
LI J R. IOT monitoring of cataclysm crisis in regional agricultural plant diseases and insect pests[J].ComputerSimulation, 2014,31(4):229-232. (in Chinese with English abstract)
[7] SCHMIDHUBER J. Deep learning in neural networks: An overview[J].NeuralNetworks, 2015, 61:85-117.
[8] LI S, CHAN A B. 3D human pose estimation from monocular images with deep convolutional neural network [M]// CREMERS D, REID I, SAITO H, et al. Computer Vision—ACCV 2014. Springer, Cham, 2014:332-347.
[9] SLADOJEVIC S, ARSENOVIC M, ANDERLA A, et al. Deep neural networks based recognition of plant diseases by leaf image classification[J].ComputationalIntelligence&Neuroscience, 2016 (6):1-11.
[10] PIERRE B, PETER S. The dropout learning algorithm[J].ArtificialIntelligence, 2014, 210: 78-122.
[11] 吳軍, 肖克聰. 基于深度卷積神經網絡的人體動作識別[J]. 華中科技大學學報(自然科學版), 2016, 44(S1):190-194.
WU J, XIAO K C. Human activity recognition based deep convolutional neural networks[J].JournalofHuazhongUniversityofScienceandTechnology(NatureScienceEdition), 2016, 44(S1):190-194. (in Chinese with English abstract)
[12] DUBEY S R, JALAL A S. Fruit disease recognition using improved sum and difference histogram from images[J].InternationalJournalofAppliedPatternRecognition, 2014, 1(2):199-220.
[13] DUBEY S R, JALAL A S. Apple disease classification using color, texture and shape features from images[J].SignalImage&VideoProcessing, 2015, 10(5):819-826.
[14] SHERLIN V, NAYANA S, SWAPNALI Y. Learning-based fruit disease detection using image processing[J].InternationalJournalofInnovativeandEmergingResearchinEngineering, 2016, 3(2):96-100.
(責任編輯張 韻)
Recognitionmethodofwinterjujubediseasesbasedoninternetofthingsanddeepconvolutionalneuralnetwork
ZHANG Shanwen, HUANG Wenzhun, YOU Zhuhong*
(CollegeofInformationEngineering,XijingUniversity,Xi’an710123,China)
Focusing on the problem of traditional crop disease recognition methods that the artificially designed features are more susceptible to the crop disease image shapes, illumination and background, a recognition method of jujube disease was proposed based on the internet of things and deep convolutional neural network (DCNN). The network model was composed of input layer, 4 convolutional layers, 3 down-sampling layers, fully-connection layer and output layer. The proposed method can extract effective features of winter jujube disease image and recognize the diseases, avoiding the complicated feature extraction process of the traditional crop disease method. The proposed method was verified on the winter jujube fruit disease database, and the recognition rate was above 92%. The experimental results showed that the proposed method was suitable for winter jujube disease recognition on the large-scale disease database collected by internet of things.
winter jujube disease recognition; winter jujube disease image; deep convolutional neural network; feature extraction
張善文, 黃文準, 尤著宏. 基于物聯網和深度卷積神經網絡的冬棗病害識別方法[J]. 浙江農業學報, 2017,29(11): 1868-1874.
10.3969/j.issn.1004-1524.2017.11.13
2016-07-12
國家自然科學基金項目(61473237);陜西省自然科學基礎研究計劃(2016GY-141)
張善文(1965—),男,陜西西安人,博士,教授,研究方向為模式識別及其應用。E-mail: wjdw716@163.com
*通信作者,尤著宏,E-mail: youzhuhong@xijing.edu.com
TP391.41
A
1004-1524(2017)11-1868-07