牛學德 高丙朋 南新元 石躍飛
摘要: 針對傳統的圖像識別方法存在人工提取特征困難、識別耗時長和準確率低等問題,本研究以感染病害的番茄葉片和健康番茄葉片共10類圖像為研究對象,提出了1種遷移學習和DenseNet卷積神經網絡相結合的模型,實現了對番茄葉部病害的準確分類。首先將所有的圖像數據進行預處理修改尺寸,對部分數量不均衡樣本作隨機變換;然后將DenseNet網絡從ImageNet數據集上學習獲得的先驗知識應用到番茄病害圖片數據集上,進而構建出基于遷移學習的深度卷積網絡,經過微調訓練得到番茄葉部病害識別模型。結果表明,該模型與AlexNet網絡、VGG網絡+遷移學習和MobileNet網絡+遷移學習3種深度卷積模型相比,識別精度更高,測試準確率達到97.76%,實現了對10種番茄葉部圖像的有效分類,為番茄等農作物病害的識別技術以及智慧農業(yè)的發(fā)展提供了新的思路與方法。
關鍵詞: 圖像識別;番茄;病害;遷移學習;DenseNet卷積神經網絡
中圖分類號: TP391.4 文獻標識碼: A 文章編號: 1000-4440(2022)01-0129-06
Abstract: Aiming at the problems of traditional image recognition methods such as difficulty in manually extracting features, long recognition time and low accuracy, ten types of images of healthy tomato leaves and tomato leaves infected with diseases were taken as the research objects, and a model combining transfer learning and DenseNet convolutional neural network was proposed to realize the accurate classification of tomato leaf diseases. Firstly, all image data were preprocessed to modify the size, and some unbalanced samples were randomly transformed. Then, the prior knowledge learned by DenseNet network from ImageNet dataset was applied to tomato disease image dataset, and a deep convolutional network based on transfer learning was constructed. Moreover, the tomato leaf disease identification model was obtained by fine-tuning training. The results showed that the recognition accuracy of this model was higher than that of AlexNet network, VGG network+transfer learning and MobileNet network+transfer learning, and the test accuracy was 97.76%. In short, the model constructed in this study can realize the effective classification of ten types of tomato leaf disease images, and can provide new ideas and methods for the identification technology of tomato and other crop diseases and the development of intelligent agriculture.
Key words: image recognition;tomato;disease;transfer learning;DenseNet convolutional neural network
番茄原產自南美洲,在中國南方和北方地區(qū)栽培廣泛,是重要的經濟作物之一[1]。番茄的大多數病害都由葉部開始發(fā)病,接著蔓延到整個植株,所以能夠及時準確地識別出葉部的病害種類格外重要。以往通常都是菜農憑借自身經驗對病害進行識別,或者請相關的技術人員和農業(yè)專家進行檢查指導[2]。這類人工方法存在著許多缺陷,工作量大,識別效率低,同時易受視覺疲勞的影響,降低識別的準確率。
隨著計算機的發(fā)展,尤其是大數據共享和計算機硬件設備性能的提升,將智能識別技術應用到農業(yè)生產中是未來智慧農業(yè)的發(fā)展趨勢[3-4]。許良鳳等[5]提出了一種對圖像多個單一特征進行自適應融合的多分類器方法來實現對玉米病害的準確識別。黃雙萍等[6]提出利用Inception模塊多尺度卷積核對不同特征進行提取并融合的方法來實現水稻穗瘟病的精準檢測。李文勇等[7]提出了一種基于不同顏色空間特征和紋理特征的多姿態(tài)害蟲分類方法。Iqbal等[8]提出了一種基于圖像處理和機器學習的馬鈴薯葉部病害自動識別和分類系統對患病和健康葉片進行分類。Mondal等[9]采用皮爾遜相關系數技術來根據特定類型的葉子圖像設置關鍵特征對黃秋葵葉和苦瓜葉進行識別。張建華等[10]提出了一種將粗糙集和BP神經網絡相結合的方法對4種棉花病害進行識別分類,識別準確率達到92.72%。以上病蟲害的分類識別方法中,都需要人為選擇圖像中病害的特征來構建分類器,費時費力,分類準確率不高,并且特征的自學習能力較差,不具有普適性。
在番茄的生長發(fā)育過程中,葉霉病病葉、二斑葉螨病病葉、輪斑病病葉、花葉病病葉以及健康的番茄葉片之間的外觀特征極為相似,容易讓人分辨不清,導致番茄病害識別結果錯誤。卷積神經網絡作為一種深度學習的模型,它能夠經過多次卷積計算,對一些肉眼難以提取的特征進行學習和表達,高質量完成各種計算機視覺任務[11]。但它十分依賴龐大的已標記數據庫,現實情況下大規(guī)模數據庫的構建非常困難,而遷移學習能夠解決訓練數據不足這一難題,將已學到的模型參數應用到新模型上來加快模型的訓練,具有資源充分利用的特點[12]。本研究就是在DenseNet網絡的基礎上,利用該模型特征復用的優(yōu)點對番茄葉部病害細微特征進行有效利用,結合遷移學習和微調的思想,抑制本研究中使用小樣本數據易產生過擬合的問題,進而構建番茄葉部病害癥狀和健康葉片的分類模型,通過對番茄葉部病害癥狀特征的訓練以及自學習,對番茄葉部病害進行檢測。
1 材料與方法
1.1 數據集描述
本研究所采用的番茄病害葉片圖像數據集來自Plant Village工程,此數據集包含9類病害葉片圖像和1類健康葉片圖像,對部分數量不均衡樣本進行增強和擴充后共計18 796張RGB病害圖像樣本。
1.2 試驗平臺
本研究的試驗環(huán)境為Windows 64位系統,內存為2×8 GB,固態(tài)硬盤500 G,機械硬盤2 TB,搭載AMD Ryzen5 3600處理器,顯卡為NVIDIA GeForce 2 070 s(8 G),軟件環(huán)境包括CUDA 10.2,Anaconda 4.8.4,使用Python語言編程,使用Pytorch框架進行模型的搭建及訓練。
1.3 參數設置
試驗采用多個批次(batch)進行訓練,設置Batch size為32; Epochs為50;采用的優(yōu)化器為Adam優(yōu)化器,初始學習率Learning rate設置為0.000 1,自動下降參數step size為10,gamma為0.5;損失函數采用SoftMax交叉熵損失函數,函數定義為:
L=-nk=1Ci=1tkilgyki(1)
式中,n為單張圖片的像素;tki為像素點k屬于類別i的概率;yki為分類網絡將像素點k預測為類別i的概率。
1.4 數據預處理
圖片的原始尺寸是256×256像素,考慮到圖像的尺寸應與網絡的輸入尺寸相符,將圖像的尺寸統一修改為227×227像素,同時還采用了Python腳本語言對部分不均衡樣本進行了隨機翻轉、隨機角度旋轉等數據增強操作。
1.5 DenseNet模型
DenseNet模型[13]擺脫了以往的通過加深網絡層數或者拓寬網絡結構來改善網絡性能的固定思維,對網絡的特征提取進行了改進,設計了特征復用結構,增添了旁路設置,不僅極大程度上對網絡的參數量進行了縮減,而且對于梯度消失起到了一定的緩解作用,對特征的極致利用達到了更好的效果[14]。
1.5.1 密集連接模塊 密集連接網絡是在殘差網絡基礎上演變而來的,殘差網絡的連接方式是每層與其前面的一或兩層通過相加的方法進行短路連接,即增加了來自上一層的輸入:
xl=Hl(xl-1)+xl-1(2)
與其不同的是,DenseNet采用密集連接機制,互相連接所有的層,每一層都會和前面的所有層在通道維度上進行連接,實現特征重用,即:
xl=Hl[(x0,x1,…,xl-1)](3)
其中,xl為第l層輸入,它接受前面所有層的所有卷積特征x0~xl-1;(x0,x1,…,xl-1)為輸入層至l-1層的輸出特征圖進行拼接的操作;Hl(*)是非線性轉化函數,該函數是一個包含BN層、ReLU層以及卷積層的組合操作。
標準卷積模塊和密集連接模塊的結構分別如圖1a和圖1b所示。
其中,圖1a是一個標準的卷積模塊,1個層的網絡擁有L個連接。圖1b是密集連接模塊,通過前饋的方式來將層與層緊密相連,1個L層的網絡有L(L-1)/2個連接,使得前期層的特征能夠被后面的其他層重復利用[15]。
1.5.2 Transition模塊 Transition模塊的作用是壓縮模型,2個相同尺寸的特征圖的密集塊之間,在2×2的池化層之前引入一個1×1的卷積層來對尺寸大小進行降維處理[16]。DenseNet網絡中壓縮因子設置為0.5,則傳遞到下一個密集塊的通道數就會減少一半,參數量更少,能夠提高網絡模型的收斂速度,網絡的結構如圖2所示。
1.6 遷移學習
遷移學習是指網絡先在源領域中進行學習,再將學習到的先驗知識應用到目標領域[17](圖3)。遷移學習由于其具有獨特的小樣本學習優(yōu)勢在諸多領域備受關注,該方法能夠減少訓練深度學習模型所需要的數據樣本量,降低對硬件計算能力的要求,在圖像分類領域的應用十分廣泛,同時能夠對圖像數據進行快速有效的分類,對解決小數據集訓練容易出現的過擬合問題有很大的幫助[18]。
本研究所采用的是模型微調的遷移學習方式,充分利用了DenseNet預訓練模型在ImageNet大型公開數據集上學習獲得的先驗知識,結合遷移學習策略將其應用到番茄葉部病害圖像識別問題上,基于DenseNet網絡的遷移學習具體流程如圖4所示。
DenseNet網絡是通過包含1.0×106多張圖像的大型數據庫ImageNet訓練而成的,擁有著大量已經訓練好的權重與參數,具備較強的深層特征提取和學習能力,尤其是卷積層對圖像的曲線、邊緣、輪廓等部位的特征提取[19]。為了避免繁重的從頭訓練任務,減小網絡訓練的時間,提高網絡模型的訓練效率,將訓練好的DenseNet網絡作為本研究的預訓練模型,再結合遷移學習微調的方法,將其參數應用到本研究模型中,通過預訓練模型的知識優(yōu)化卷積層來解決番茄病害識別問題。
2 結果與分析
2.1 基于改進DenseNet網絡模型的番茄葉片病害分類
為確定最佳分類準確性的試驗訓練集,設定最小訓練集為圖像樣本數據量的10%,按10%的比例增量依次增加至90%[20],每個訓練集被訓練50個Epoch。圖5分別顯示了9次試驗下不同比例的分類準確率。
由圖5可知,在模型的訓練階段使用更多的訓練數據可以提高分類的準確率,設置Epoch為50,其中每一個Epoch都被定義為訓練集中每個樣本的一個完整的訓練周期,選擇限制在50個Epoch是基于經驗觀察,即學習過程能夠很好地收斂。訓練數據占比由10%遞增到90%,測試準確率由90.00%提高到97.76%,呈現出逐步上升趨勢;同時損失率由0.9%下降到0.3%,呈現出下降趨勢,當訓練集與測試集比例為9∶1時網絡達到最優(yōu)的準確率。
為了驗證本研究模型的性能,同時使用AlexNet網絡模型、Vgg16網絡+遷移學習模型、MobileNet網絡+遷移學習模型對番茄病害圖像進行識別,測試準確率如圖6所示。
由圖6可知,相比較AlextNet網絡模型而言,結合使用遷移學習的模型訓練一開始就有較高的準確率,并且收斂速度很快,在前5個Epoch就能達到一個小范圍內的穩(wěn)定狀態(tài),原因是它們已經有了在大型ImageNet數據集上訓練好的參數,不需要重復更新參數。而AlextNet是從零開始訓練,剛開始時準確率較低,隨著迭代次數增加準確率逐漸上升,在Epoch達到25時曲線呈現收斂狀態(tài),準確率達到91.80%;MobileNet+遷移學習的輕量級模型訓練過程快,參數量較少,特征提取能力較差,準確率為91.20%;Vgg16作為一種通用型的分類模型,Vgg16+遷移學習模型在細粒度分類任務上表現稍差,準確率為93.10%;由于Densenet自身網絡結構具有特征復用的優(yōu)勢,再結合遷移學習微調策略,相比較其他2種遷移方法而言能夠在番茄葉部病害識別上獲得更好的效果,準確率達到97.76%。
根據本研究模型的分類結果計算出混淆矩陣進行誤差分析,如圖7所示。
其中混淆矩陣的橫坐標代表預測類別,縱坐標代表真實標簽,編號為001的類別1(細菌性斑點病)實際為170個測試樣本,正確分類了165個樣本,其他5個樣本分別被錯誤分類為早疫病、斑枯病、輪斑病,類別1的分類準確率為97.10%,同理可知,類別2~類別10的分類準確率分別為98.44%、97.48%、97.84%、97.34%、94.86%、99.43%、97.81%、98.32%、98.98%,其中細菌性斑點病和斑枯病病癥特征比較相似,容易造成誤分類,總體而言,本研究模型的識別率較高,能夠滿足現實生產中番茄葉部病害檢測的要求。
2.2 與其他模型分類結果的對比
當前,在圖像處理方向上對番茄葉部病蟲害檢測識別進行的研究方法多種多樣,為了進一步對試驗結果做出客觀評價,特將本研究算法與其他已有的同類型研究的結果進行了對比(表1)。
其中本研究所使用的數據集與文獻[21]、文獻[22]、文獻[23]、文獻[24]中所用模型使用的數據集相同,文獻[21]中所用的模型在提升網絡性能的同時縮短了訓練時間,但是模型占用內存較大;文獻[22]中所用的模型具有較高的魯棒性,卻仍然存在過擬合;文獻[23]中所用的模型采用圖像分割使模型具有較高的準確率,但是模型參數過多,訓練周期長;文獻[24]將所用模型應用到安卓平臺,然而識別精度較低。本研究模型的識別準確率較以上文獻所用的模型分別高出2.14個百分點、8.78個百分點、0.54個百分點、5.06個百分點;文獻[25]和文獻[26]中采用的AI Challenger 挑戰(zhàn)賽數據集是在Plant Village數據集的基礎上衍生而來的,根據不同的病害程度來劃分種類。其中文獻[25]中所用的模型具有較高的可移植性,對番茄病害分類的準確率有待提升;文獻[26]中所用的模型具有較高的穩(wěn)定性,但是分類種類較少,準確率較低。經過對比,本研究模型的識別準確率相對文獻[25]和文獻[26]中所用模型分別提高4.63個百分點和9.56個百分點。因此,本研究提出的番茄病害識別模型具有較高的識別準確率,該模型具有DenseNet網絡的復用特征,使每層信息流達到最大,對重要特征進行多次利用、充分學習;同時還具備遷移學習抑制小樣本數據過擬合、減少訓練時間成本的優(yōu)勢,通過對比分析充分證明了本研究模型的有效性。
3 結語
本研究提出將卷積神經網絡與遷移學習相結合的深度模型應用于番茄葉部病害識別上,將已經訓練成熟的DenseNet模型參數進行遷移和微調,提取出每張圖片的特征在SoftMax分類器中完成分類任務。結果表明,本研究提出的模型較AlexNet網絡以及其他2種網絡+遷移學習模型具有更好的分類性能,準確率更高且收斂速度更快,能夠對10種類別的番茄葉部病害準確分類,基本可以達到農業(yè)生產應用的要求。
參考文獻:
[1] 周 蓉,趙統敏,趙麗萍,等.高光澤番茄育種及果實表面光澤度[J].江蘇農業(yè)學報,2018,34(6):1437-1440.
[2] 王翔宇,溫皓杰,李鑫星,等.農業(yè)主要病害檢測與預警技術研究進展分析[J].農業(yè)機械學報,2016,47(9):266-277.
[3] 孫 紅,李 松,李民贊,等.農業(yè)信息成像感知與深度學習應用研究進展[J].農業(yè)機械學報,2020,51(5):1-17.
[4] YANE D.Design of intelligent agriculture management information system based on IoT [C].Shenzhen:IEEE, 2011.
[5] 許良鳳,徐小兵,胡 敏,等.基于多分類器融合的玉米葉部病害識別[J].農業(yè)工程學報,2015,31(14):194-201,315.
[6] 黃雙萍,孫 超,齊 龍,等.基于深度卷積神經網絡的水稻穗瘟病檢測方法[J].農業(yè)工程學報,2017,33(20):169-176.
[7] 李文勇,李 明,陳梅香,等.基于機器視覺的作物多姿態(tài)害蟲特征提取與分類方法[J].農業(yè)工程學報,2014, 30(14):154-162.
[8] IQBAL M A, TALUKDER K H. Detection of potato disease using image segmentation and machine learning[C]. Chennai:IEEE, 2020.
[9] MONDAL D, KOLE D K, ROY K. Gradation of yellow mosaic virus disease of okra and bitter gourd based on entropy based binning and Naive Bayes classifier after identification of leaves[J]. Computers and Electronics in Agriculture, 2017,142:485-493.
[10]張建華,祁力鈞,冀榮華,等.基于粗糙集和BP神經網絡的棉花病害識別[J].農業(yè)工程學報,2012,28(7):161-167.
[11]賈少鵬,高紅菊,杭 瀟.基于深度學習的農作物病蟲害圖像識別技術研究進展[J].農業(yè)機械學報,2019,50(S1): 313-317.
[12]王文朋,毛文濤,何建樑,等.基于深度遷移學習的煙霧識別方法[J].計算機應用,2017,37(11):3176-3181,3193.
[13]HUANG G,LIU Z,MAATEN V D,et al.Densely connected convolutional networks[C]. Honolulu:IEEE, 2017: 2261-2269.
[14]DONG H,ZHANG L,ZOU B.Densely connected convolutional neural network based polarimetric SAR image classification[C].Yokohama:IEEE,2019.
[15]齊永鋒,侯璐璐,段友放.基于DenseNet-BC網絡的皮膚鏡下皮膚損傷分割[J].計算機工程與科學,2020, 42(6):1060-1067.
[16]張永鵬,張春梅,白 靜.基于DenseNet-Attention模型的高光譜圖像分類[J].圖學學報,2020,41(6):897-904.
[17]PAN S J,YANG Q. A survey on transfer learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2010,22(10):1345-1359.
[18]TIWARI D, ASHISH M, GANGWAR N,et al. Potato leaf diseases detection using deep learning[C]. Madurai:IEEE, 2020.
[19]張建華,孔繁濤,吳建寨,等.基于改進VGG卷積神經網絡的棉花病害識別模型[J].中國農業(yè)大學學報,2018, 23(11):161-171.
[20]OPPENHEIM D, SHANI G, ERLICH O, et al. Using deep learning for image-based potato tuber disease detection[J]. Hytopathology,2019, 109(6):1083-1087.
[21]王艷玲,張宏立,劉慶飛,等.基于遷移學習的番茄葉片病害圖像分類[J].中國農業(yè)大學學報,2019,24(6):124-130.
[22]柴 帥,李壯舉.基于遷移學習的番茄病蟲害檢測[J].計算機工程與設計,2019,40(6):1701-1705.
[23]DURMUS H, GUNES E O, KLRCL M. Disease detection on the leaves of the tomato plants by using deep learning[C]. Fairfax:IEEE, 2017: 1-5.
[24]郭小清,范濤杰,舒 欣.基于改進Multi-Scale AlexNet的番茄葉部病害圖像識別[J].農業(yè)工程學報,2019, 35(13):162-169.
[25]劉鵬鵬.基于深度學習的番茄葉面型病蟲害識別研究[D].南昌:南昌大學,2020.
[26]胡志偉,楊 華,黃濟民,等.基于注意力殘差機制的細粒度番茄病害識別[J].華南農業(yè)大學學報,2019,40(6):124-132.
(責任編輯:陳海霞)
1487500783320