樊湘鵬,許 燕,周建平,李志磊,彭 炫,王小榮
基于遷移學習和改進CNN的葡萄葉部病害檢測系統(tǒng)
樊湘鵬1,2,3,許 燕1,2,3,周建平1,2,3※,李志磊1,2,4,彭 炫2,4,王小榮1,2,4
(1. 新疆大學機械工程學院,烏魯木齊 830047;2. 新疆維吾爾自治區(qū)農(nóng)牧機器人及智能裝備工程研究中心,烏魯木齊 830047;3. 械制造系統(tǒng)工程國家重點實驗分室,烏魯木齊 830047;4. 新疆大學工程訓練中心,烏魯木齊 830047)
為建立高效、準確的葡萄葉部病害檢測系統(tǒng),引入遷移學習機制,利用大型公開數(shù)據(jù)集對VGG16模型預訓練,保持模型前端13個層的參數(shù)和權重不變,對全連接層和分類層改進后利用新數(shù)據(jù)集微調訓練模型,包括對訓練優(yōu)化器、學習率和中心損失函數(shù)平衡參數(shù)的優(yōu)選試驗,最后將模型部署在Android手機端。試驗表明,在微調訓練階段選擇Adam優(yōu)化器、初始學習率設為0.001、中心損失函數(shù)平衡參數(shù)設為0.12時,改進的VGG16模型性能最優(yōu),對葡萄6類葉部圖像的分類平均準確率為98.02%,單幅圖像平均檢測耗時為0.327 s。與未改進的VGG16模型相比,平均準確率提高了2.82%,平均檢測耗時下降了66.8%,權重參數(shù)數(shù)量減少了83.4%。改進后的模型綜合性能優(yōu)于AlexNet、ResNet 50和Inception v3等模型。將模型跨平臺部署在Android手機端,自然環(huán)境下驗證的平均準確率為95.67%,平均檢測耗時為0.357 s。該研究建立的基于遷移學習和改進卷積神經(jīng)網(wǎng)絡的病害檢測系統(tǒng)可實現(xiàn)對葡萄葉部病害的快速、智能診斷,為葡萄病害的及時防控提供依據(jù)。
圖像識別;病害;葡萄葉;遷移學習;卷積神經(jīng)網(wǎng)絡;全局平均池化;手機識別系統(tǒng);智能診斷
新疆是中國最大的葡萄生產(chǎn)基地,葡萄年產(chǎn)量約占全國總產(chǎn)量的20%[1]。隨著新疆葡萄種植規(guī)模的不斷擴大,各類真菌和病菌導致的病害也變得復雜多樣。病害在葉片、枝蔓和果實等部位蔓延會嚴重損害葡萄的品質和產(chǎn)量??焖佟蚀_地判斷葡萄病害類型是植保精準施藥、控制病害蔓延的前提和基礎[2-4]。利用圖像處理和機器視覺技術自動識別作物病害類型能夠克服人工識別易誤判、依賴專家經(jīng)驗、耗費人力物力大等缺點[5-7],但傳統(tǒng)圖像處理技術需要手動提取目標特征,且最終達到的識別精度有限,在復雜的實際生產(chǎn)環(huán)境中往往難以進行應用[4]。
深度學習不同于傳統(tǒng)圖像處理技術,它可以依靠不同的功能對數(shù)據(jù)特征進行轉換,對數(shù)據(jù)特征進行分層表示,并且適應密集型圖像計算任務[8],尤其是卷積神經(jīng)網(wǎng)絡(Convolutianal Neural network,CNN)通過學習不同領域、不同場景、不同尺度的目標特征可以實現(xiàn)端到端的檢測[9-10]。卷積神經(jīng)網(wǎng)絡與農(nóng)業(yè)信息感知的結合為作物表型病害識別拓展了全新的研究視角[11],已成為農(nóng)業(yè)信息化技術領域中的研究熱點[12]。Mohanty等[13]建立了PlantVillage數(shù)據(jù)集,利用AlexNet和GoogleNet深度網(wǎng)絡識別38種病害類型,準確率高達99.35%。孫俊等[14-15]同樣以PlantVillage數(shù)據(jù)集訓練卷積神經(jīng)網(wǎng)絡模型,對病害識別分類的準確率均高于99%。Brahimi等[16]基于AlexNet模型,利用番茄9種病害1.5萬張圖像試驗得到較好的識別效果。樊湘鵬等[17]改進了CNN模型,利用自然條件下獲取的玉米葉部病害圖像訓練模型,平均精度達到了97%以上。Ferentinos等[18]利用來自實驗室和田間環(huán)境的87 848多張作物病害圖像訓練卷積神經(jīng)網(wǎng)絡模型,取得了99%以上的成功率,但模型復雜、訓練耗時長。鮑文霞等[19]針對小麥赤霉病的識別,利用深度語義分割網(wǎng)絡分割麥穗并構建了多路卷積神經(jīng)網(wǎng)絡,精度可達100%。在葡萄病害檢測方面,Kerkech等[20]建立CNN LeNet-5模型檢測葡萄樹藤蔓疾病,達到了92%的準確率。劉闐宇等[21]利用改進區(qū)域卷積神經(jīng)網(wǎng)絡模型對圖像中葡萄葉片進行判別,可以診斷6種葡萄病害的類型,平均精度為75.52%。在此基礎上,喬虹等[22]對攝像機視場中的葡萄葉片進行檢測,實現(xiàn)了自然條件下葡萄病害的連續(xù)在線監(jiān)測,但僅對姿態(tài)端正的正面葉片有效;何欣[23]設計SE模塊建立了多尺度ResNet模型,對葡萄葉部病害識別準確率最高達90.83%。Ji等[24]設計UnitedModel,在Plantvillage中選取了健康和3種病害葡萄葉片圖像1 619張,所用方法的準確率可達98.57%。
基于CNN的作物葉片病害檢測方法雖然取得了較高的識別率,但仍然存在以下幾個問題:1)深度卷積神經(jīng)網(wǎng)絡往往需要數(shù)萬張圖像,在實際中很難做到獲取大數(shù)量級的圖像,且人工標注過程耗費大量成本和精力;2)大多數(shù)學者采用圖像背景簡單公開數(shù)據(jù)集,難以反映作物生長的真實環(huán)境,數(shù)據(jù)集所訓練的模型在實際應用中精度大幅下降;3)不少學者設計了復雜結構的深度網(wǎng)絡模型,雖然精度較高,但是模型對計算機硬件依賴強,易用性不足?;谏鲜鰡栴},本文利用經(jīng)典CNN結構VGG16模型在大型數(shù)據(jù)集上進行預訓練并將參數(shù)遷移,對目標網(wǎng)絡結構改進和優(yōu)化,利用自然環(huán)境中采集的葡萄葉片病害圖像數(shù)據(jù)集微調訓練改進CNN模型,使模型獲得高準確率和強魯棒性。將訓練好的模型部署到手機端建立智能檢測系統(tǒng),實現(xiàn)對葡萄葉部病害的快速、智能診斷。
由于本文采用遷移學習方法對模型進行充分訓練,之后進行新數(shù)據(jù)集上的微調訓練,因此數(shù)據(jù)集分為網(wǎng)絡資源中獲取的預訓練數(shù)據(jù)集和自然狀態(tài)下采集的葡萄病害數(shù)據(jù)集兩部分。
1.1.1 預訓練數(shù)據(jù)集
預訓練數(shù)據(jù)集用于對卷積神經(jīng)網(wǎng)絡進行預訓練。為克服大量樣本難以在自然環(huán)境中獲取的問題,利用網(wǎng)絡資源獲取試驗所需大樣本數(shù)據(jù)和大型公開數(shù)據(jù)集,以充分訓練模型參數(shù)。與本文相關的3種大型公開數(shù)據(jù)集的性質如表 1所示。原始的VGG系列卷積神經(jīng)網(wǎng)絡是在ImageNet數(shù)據(jù)集上訓練得到的,但是ImageNet中的數(shù)據(jù)為生活場景中的粗粒度圖像,與目標領域的葡萄葉部病害圖像差距較大,難以保證遷移學習的效率[25]。在農(nóng)作物病害檢測領域的PlantVillage和AI Challenger數(shù)據(jù)集包含了多種作物的病害和健康葉片的數(shù)萬張圖像,具有的細粒度特征適合本研究類型,因此選用這2個數(shù)據(jù)集的組合圖像作為本研究的預訓練數(shù)據(jù)集,以獲得訓練充分的模型參數(shù)。
表1 3種大型公開數(shù)據(jù)集的性質
1.1.2 葡萄病害數(shù)據(jù)集的獲取
本研究以葡萄白粉?。≒owdery Mildew,PM)、霜霉?。―owny Mildew,DM)、黑霉?。˙lack Mould Bblight,BMB)、花葉病毒?。∕osaic Virus Disease,MVD)、褐斑?。˙rown Spot,BS)這5種常見葉部病害圖像和葡萄健康葉片(Healthy Leaf,HL)為研究對象。在新疆大學南校區(qū)多個葡萄種植片區(qū)利用華為Honor Play手機(相機型號COR AL10)在早中晚的不同時刻進行多角度采集,在采集過程中保證各個類別的樣本數(shù)量均衡,獲取的圖像數(shù)量分別為314(PM)、337(DM)、356(BMB)、330(MVD)、343(BS)和310(HL),總計1 990張。圖像格式為JPEG,顏色模式為RGB,像素大小為2 560×2 560(比例為1∶1)。
卷積神經(jīng)網(wǎng)絡需要進行有監(jiān)督的訓練學習,因此利用LabelMe標注工具,按照PASCAL VOC2007標準進行存儲。本文利用幾何變換、亮度調整、顏色變換以及添加噪聲等方式,將數(shù)據(jù)集擴大為原來的10倍以提高采集樣本的數(shù)量和多樣性,增強后的數(shù)據(jù)集大小為19 900。另外,本模型要求輸入固定維度的圖像,因此將所有圖像統(tǒng)一調整為224像素×224像素×3通道。
CNN通過模擬人腦結構,學習特征后可以將輸入圖像或數(shù)據(jù)的底層和抽象特征進行深層次的理解和表達[26],是深度學習的經(jīng)典網(wǎng)絡算法。當前應用比較成功的卷積結構有AlexNet、GoogLeNet、VGG、Inception和ResNet系列等[27]。CNN的結構對模型性能有著很大的影響,結構太淺容易導致學習特征不充分,無法表達圖像的深層次特征;結構太深會增加模型的冗余性,減緩訓練甚至導致訓練退化。經(jīng)過對比AlexNet、VGG系列、ResNet系列和Inception系列的多種經(jīng)典結構模型,選擇具有16個權重層的VGG16網(wǎng)絡作為本研究的基本結構并對其改進優(yōu)化。VGG16模型中包含了13個卷積層和3個全連接層,在卷積層之間有5個最大池化層,網(wǎng)絡的最后一層是Softmax分類器,輸出分類結果。
在農(nóng)業(yè)場景中很難獲得大規(guī)模的數(shù)據(jù)集,CNN模型在大型數(shù)據(jù)集上經(jīng)過充分訓練后可習得圖像分類識別能力。龍滿生等[28-29]的研究表明,應用深度特征網(wǎng)絡參數(shù)遷移并使用微調訓練模型的少數(shù)幾層可以高效獲得性能良好的模型。因此,本文采用遷移學習的策略,對VGG16卷積神經(jīng)網(wǎng)絡進行預訓練,改進優(yōu)化模型結構,再通過新數(shù)據(jù)集對遷移后的網(wǎng)絡參數(shù)進行微調,建立具有強泛化性和魯棒性的葡萄葉部病害檢測模型?;谶w移學習和改進CNN的葡萄葉部病害檢測流程如圖1所示,分為數(shù)據(jù)集的獲取與建立、模型預訓練、模型改進和模型的遷移學習微調訓練這4個連續(xù)過程。預訓練采用PlantVillage和AI Challenger的組合數(shù)據(jù)集得到訓練充分的模型參數(shù);為防止模型發(fā)生過擬合、降低模型參數(shù),對預訓練的VGG16結構改進,包括在卷積層后面添加批歸一化(Batch Normalization,BN)加速訓練、采用全局平均池化(Global Average Pooling,GAP)代替參數(shù)巨大的2個全連接層進行特征降維、利用6標簽的Softmax分類層代替原有的分類層并引入中間損失函數(shù)提高模型的細分類能力這3個方面。之后利用真實環(huán)境中獲取的葡萄葉部病害和健康葉片圖像對改進CNN模型微調訓練并測試,最后將最優(yōu)模型部署到Android手機端。
2.3.1 批歸一化處理
利用BN對卷積層后形成的每個樣本的特征圖進行歸一化處理能夠很好地解決模型在訓練過程中中間層數(shù)據(jù)分布發(fā)生改變的問題,加快收斂、提高精度、降低過擬合現(xiàn)象。歸一化過程中,首先求取特征圖的所有像素點總數(shù)的平均值和方差,然后利用歸一化方程對樣本歸一化操作。
式中為像素點總數(shù)的平均值,為像素點總數(shù)的方差值;x表示該圖像樣本中第個像素點的值;表示該樣本像素點的總數(shù)。`表示該樣本像素歸一化后的值;為保證分母大于0的微小常數(shù)值。
2.3.2 GAP代替全連接層
VGG16網(wǎng)絡雖然具備細粒度圖像分類能力,但全連接層存在大量的參數(shù),計算量過大,極大地限制了在移動端的使用。使用全局平均池化對整張?zhí)卣鲌D所有值求平均,可充分利用每張?zhí)卣鲌D的信息提取關鍵特征并減少計算量[14]。因此本文利用GAP代替VGG16中的前2個全連接層,在多個卷積層和池化層后進行一次個卷積核的卷積操作(為需要分類的類別數(shù)),然后對形成的特征圖進行全局平均池化操作,形成含有個元素的列向量,對特征矩陣進行降維,在保證分類效果的同時,可改善參數(shù)量過大、耗時過長及發(fā)生過擬合的問題。圖2為全局平均池化代替全連接層對特征降維的過程。
圖2中,來自CNN前端的特征圖矩陣C向下采樣到全局平均池化fm中,特征矩陣經(jīng)全局平均池化后相當于對整個輸入矩陣求取平均值,全局平均池化過程中的權重矩陣調整方式如公式(4)所示
其中2表示輸入特征圖大??;和分別代表輸出神經(jīng)元和輸入特征圖的數(shù)量,W 是調整后的權重矩陣,是全局平均池化之前的特征矩陣,調整后的權重矩陣相當于將中的每個矩陣簡化為由1×1×(GAP深度)組成的列向量,此時便實現(xiàn)了特征圖的降維過程。
2.3.3 Softmax結構和損失函數(shù)改進
在原始VGG16結構中,Softmax分類層有1 000個類別,由于本研究只有5種病害和1個健康類別,因此用6分類Softmax結構替換原有的分類層。在多分類問題中,常用Softmax Loss作為網(wǎng)絡的損失函數(shù),由于葡萄枝葉生長狀態(tài)多樣,同類病害的特征之間差別較大,不同病害的特征具有相似性,導致識別率下降。為保證模型增強對類內(nèi)特征的聚合性和類間特征差異的最大化,將中心損失函數(shù)Center Loss引入模型,與Softmax Loss構建混合損失函數(shù)(簡稱C-S Loss)來提高對多種葡萄病害的識別率,混合損失函數(shù)的表達式為
式中L為分類器中Softmax Loss函數(shù),L為中心損失函數(shù);參數(shù)表示損失函數(shù)的平衡參數(shù),由于L的值遠大于L的值,因此引入來平衡2個函數(shù)值;為訓練中的小批量數(shù)量,(x)表示特征向量,c表示第y類特征的中心。CNN的訓練過程是一個損失函數(shù)最優(yōu)化的過程,通過C函數(shù)(6)可知,在訓練過程中,C的值逐漸變小,即特征向量(x)逐漸接近第y類特征的中心,隨著迭代訓練的增加,每一類特征的分布情況將向其對應的特征中心聚集,從而實現(xiàn)類內(nèi)聚合性和類間分離性。
2.4.1 微調階段的訓練機制
學習率是模型中的重要參數(shù),太大可能會導致參數(shù)在最優(yōu)值兩側來回移動震蕩劇烈,太小則會大大降低學習效率和優(yōu)化速度。本文分別利用帶動量的隨機梯度下降算法(Stochastic Gradient Descent,SGD)和自適應學習率算法Adam優(yōu)化器訓練模型,凍結13個卷積層和池化層的參數(shù),只訓練全局平均池化層、剩余1個全連接層和Softmax分類層的參數(shù)。
2.4.2 環(huán)境配置和超參數(shù)設置
試驗運行環(huán)境操作系統(tǒng)為Windows 7(64位),內(nèi)存為16GB,搭載Intel(R) Xeon(R) CPU E5-2630 v4 @2.20GHz處理器,采用Anaconda 3.5.0,CUDA 8.0編程平臺,cuDNN 6.0,以Tensorflow作為開發(fā)環(huán)境,編程使用Python 3.5.6。試驗方法包括模型訓練、測試和不同方法之間的對比驗證。試驗選取所有圖像樣本的80%(15 920張)用于訓練,剩余20%(3 980張)作為測試集對模型效果進行驗證并輸出病害類別的識別情況。為了使模型訓練性能更優(yōu)異,本試驗中所設置的超參數(shù)根據(jù)前人的經(jīng)驗和本研究的對比試驗情況進行設置。本文2種訓練方式的學習率初始值分別設為0.01和0.001,最大迭代次數(shù)設為5 000,SGD算法中的動量因子設置為0.9,衰減系數(shù)設置為0.96,中心損失函數(shù)的平衡參數(shù)分別在0~0.2之間進行搜索優(yōu)選。
為了評價所提方法對葡萄病害檢測分類結果的好壞,對樣本進行測試后分別計算精度(Precision)和召回率(Recall),利用綜合評價指標1得分作為精度和召回率的評估值。同時,引入計算簡便的平均準確率和單張圖片檢測耗時作為評價指標,其中平均準確率=分類正確的數(shù)量/測試總數(shù)量,=測試總耗時/測試圖像數(shù)量,其他指標的計算方法如下所示
式中TP為預測為正的正樣本;FP為預測為正的負樣本;FN代表預測為負的正樣本。
在微調訓練階段選擇2種訓練機制,并分別將初始學習率設為0.01和0.001,比較不同訓練優(yōu)化機制和初始學習率對模型性能的影響,模型的性能對比情況如圖3所示。在圖3中,黑色曲線為采用SGD訓練算法并設置初始學習率為0.001的模型性能變化,藍色曲線為采用SGD訓練算法并設置初始學習率為0.01的模型性能變化,綠色曲線為采用Adam優(yōu)化器并設置初始學習率為0.01的模型性能變化,紅色曲線為采用Adam優(yōu)化器并設置初始學習率為0.001的模型性能變化。從中可以發(fā)現(xiàn),初始學習率和訓練方式對模型的性能影響較大。相同的訓練方式下,當采用學習率為0.001時模型的損失值曲線和平均準確率變化曲線比學習率為0.01時的模型曲線更平穩(wěn),模型的損失值更低、準確率更高;相同的學習率條件下,利用Adam優(yōu)化器訓練的模型損失值更小、平均準確率更高,比利用SGD算法得到的模型更穩(wěn)定。當采利用Adam優(yōu)化器并設置學習率為0.001時,模型在迭代次數(shù)為3 500左右時就已經(jīng)收斂,最終獲得的平均準確率在98%左右。在模型的微調訓練階段,初始學習率設為較小值時訓練得到的模型性能較優(yōu),其原因在于:在遷移學習方式下,網(wǎng)絡的前端各層均已獲得良好的訓練,模型的權重參數(shù)已接近最優(yōu)解;如果在微調訓練階段使用較大的學習率容易導致模型跳過最優(yōu)解,產(chǎn)生較大的震蕩,從而使損失值變大、準確率降低。由于SGD訓練算法是針對每個數(shù)據(jù)點調整權重,網(wǎng)絡的性能在訓練過程中存在較多上下波動的情況,因此使用Adam優(yōu)化器算法比SGD訓練算法具模型更快達到收斂,且性能更穩(wěn)定。因此,微調訓練階段選用Adam優(yōu)化器訓練參數(shù),并設置0.001作為模型微調訓練的初始學習率。
中心損失函數(shù)平衡參數(shù)用于調節(jié)中心損失函數(shù)的權重,的大小對模型性能有一定影響。為獲得最佳平衡參數(shù),將值設定在0~0.2之間,每隔0.02取值試驗。模型在不同平衡參數(shù)下的損失值和平均準確率變化情況如圖4所示。通過圖4可知,當值為0時,此時相當于未加入中心損失函數(shù),模型的準確率在95.80%左右,損失值在0.65附近,此時模型的類內(nèi)聚合性和類間分離性能較弱;隨著逐漸增加,損失值有所降低,準確率有所增加,損失值最低為0.046 7,模型準確率最高達98.02%,此時的值為0.12;當值繼續(xù)增加時,模型的損失值逐漸上升,準確率反而逐漸下降。由此說明,利用中心損失函數(shù)改進模型的Softmax Loss函數(shù)在一定平衡范圍內(nèi)可以增強模型的分類能力,當中心損失函數(shù)權重過大時反而會破壞模型原有的分類效果。通過本試驗的結果來看,中心損失函數(shù)的平衡參數(shù)為0.12時,模型的效果最優(yōu)。
為了更清楚表現(xiàn)模型的病害檢測與分類結果,統(tǒng)計了模型檢測過程中更多的數(shù)據(jù)細節(jié)信息,如表2所示。葡萄白粉病、霜霉病、黑霉病、花葉病、褐斑病和健康葉片的精度值Precision和召回率Recall值有所不同,這與每種葡萄葉片的特征類型有一定關系,但模型的總體識別分類性能較好。表2中的Precision值均在0.972 0~0.991 5之間,Precision的平均值為0.980 0;Recall值均在0.9713~0.988 7之間,平均為0.980 1,1值均在0.972 1~0.988 7之間,平均為0.980 1,最終模型的平均準確率為98.02%。表明所提方法在建立的數(shù)據(jù)集中表現(xiàn)良好,通過遷移學習將預訓練的參數(shù)轉移到新的模型并對模型進行微調后可以獲得性能優(yōu)秀的檢測模型。
為進一步驗證所建立模型檢測葡萄病害的效果,在相同試驗條件下對比了AlexNet、ResNet 50、Inception v3和未改進VGG 16 Net這5種CNN模型的檢測效果,試驗過程同樣采用遷移學習的方法,參數(shù)與本文所提的方法設置一致。試驗結果如表3所示,模型的結構和參數(shù)對模型的性能影響較大。
表2 模型檢測過程參數(shù)統(tǒng)計與結果分析
在5種CNN模型中,參數(shù)量最大、占用空間最多的是VGG16網(wǎng)絡,其耗時也最長,平均準確率為95.20%;AlexNet結構較為簡單,雖然平均測試耗時最少,但識別準確率較低,為91.33%;Inception v3卷積網(wǎng)絡結構可以取得平均測試耗時和準確率上的平衡,權重所占空間較小。本研究以VGG16為基礎框架建立的改進CNN模型平均準確率最高,為98.02%,平均檢測耗時為0.327 s,綜合性能指標有一定優(yōu)勢。在未改進VGG16 Net模型中,參數(shù)的數(shù)量有1.38×108多個,其中3個全連接層的權重參數(shù)數(shù)量多達1.23×108個,由于改進后的CNN采用全局平均池化層代替了參數(shù)量巨大的2個全連接層,模型權重參數(shù)的數(shù)量由原來的1.38×108減少到2.29×107,減少了83.4%,權重所占空間大大減少。與原VGG16 Net相比,本文改進的VGG16模型平均準確率提高了2.82%,平均測試耗時降低了66.8%,性能有明顯提升。
表3 卷積神經(jīng)網(wǎng)絡模型性質及檢測結果
為驗證所提方法在實際應用中的效果,利用開發(fā)的手機端識別系統(tǒng)開展現(xiàn)場試驗,系統(tǒng)工作流程和識別示例如圖5所示。用戶可以通過拍照或者獲取本地圖庫兩種方式獲取目標圖像,在拍照時需保證有完整的葉片在顯示界面中,獲取圖像將被自動裁剪為224像素×224像素,點擊識別按鈕后系統(tǒng)調用識別模型并輸出葡萄病害的類別和相應的可信度。在新疆大學南校區(qū)葡萄種植區(qū)開展自然環(huán)境中的葉部病害檢測試驗,選擇在現(xiàn)場拍攝圖像的方式獲取圖像。試驗使用內(nèi)置Android 9.0操作系統(tǒng)的智能手機,運行內(nèi)存為6 GB,驗證過程拍攝有效圖像300張,其中判斷正確的287張,檢測有誤的13張,平均準確率達95.67%,具體的試驗結果如表4所示。在手機識別系統(tǒng)測試的平均耗時為0.357 s。識別有誤的原因在于拍攝過程中存在抖動以及葉片上較多的雜質等干擾因素,因此實際測試結果準確率低于試驗室環(huán)境下的準確率。與Prasad等[30]的研究相比,該識別系統(tǒng)不需要手工設計特征并上傳至服務器;與劉洋等[31]基于MobileNet模型建立的診斷系統(tǒng)相比,在耗時上雖有增加,但平均準確率高出19%;本系統(tǒng)比余小東等[32]的病蟲害檢測系統(tǒng)的準確率高出5.17%??傮w而言,基于改進VGG16模型的手機端病害檢測系統(tǒng)開發(fā)過程簡單,經(jīng)過了大量數(shù)據(jù)的預訓練并且采用復雜背景圖像對模型微調訓練,可以保持較高的準確率和實時性,具有一定的優(yōu)勢。后續(xù)將對識別系統(tǒng)進行優(yōu)化,添加圖像去模糊和背景抑制算法,降低圖像噪聲對系統(tǒng)的干擾,進一步提高在自然環(huán)境中應用的性能。
表4 基于手機端葡萄葉部病害檢測系統(tǒng)的測試結果
本研究利用大型公開數(shù)據(jù)集對VGG16模型預訓練并遷移學習,改進VGG16 Net結構后利用自然條件下的新數(shù)據(jù)微調訓練模型,對葡萄健康葉片和5種病害葉片圖像檢測與分類,討論了訓練機制、學習率、中心損失函數(shù)等對模型性能的影響,并與其他模型進行對比,最后將最優(yōu)模型部署在Android手機端試驗,得到如下結論:
1)遷移學習和微調訓練方法,能夠在短時間內(nèi)得到性能優(yōu)越的模型。對VGG16結構改進和優(yōu)化訓練后,病害檢測平均準確率為98.02%,單幅圖像平均檢測耗時為0.327 s。與原VGG16 Net相比,平均準確率提高了2.82%,檢測耗時降低了66.8%,權重參數(shù)數(shù)量減少了83.4%。
2)不同的訓練機制和超參數(shù)對改進CNN微調訓練結果表明,采用Adam優(yōu)化器算法訓練模型比SGD算法訓練得到的模型更穩(wěn)定、準確率更高;在遷移學習方式下,網(wǎng)絡的前端各層參數(shù)均已獲得良好的訓練,初始學習率設為0.001時效果優(yōu)于初始學習率為0.01時得到模型;中心損失函數(shù)在一定范圍內(nèi)可提高模型的性能,本文中心損失函數(shù)平衡參數(shù)取0.12時模型效果更優(yōu)。
3)識別模型的對比試驗結果表明,全局平均池化層代替全連接層后模型參數(shù)數(shù)量和檢測耗時大大降低,適合部署在移動端建立葡萄病害檢測系統(tǒng)。手機檢測系統(tǒng)在自然環(huán)境中的試驗平均準確率高達95.67%,證明了本研究模型跨平臺調用的可行性。
本文所提方法建立了準確率高、泛化性強的葡萄葉部病害檢測模型并部署在手機端,開發(fā)成本低、檢測速度快、智能化水平高。在今后的研究中,將針對葡萄病害擴大其種類,并在圖像數(shù)據(jù)集中增加葡萄藤蔓、果實等非葉部的病害圖像,進一步優(yōu)化訓練模型,為將病害檢測系統(tǒng)在更大范圍的病害檢測提供支持。
[1]栗苗苗. 葡萄種植產(chǎn)業(yè)現(xiàn)狀與發(fā)展對策探討[J]. 農(nóng)業(yè)與技術,2020,40(11):110-111. Li Miaomiao. Discussion on current situation and development countermeasures of grape planting industry [J]. Agriculture and technology, 2020, 40(11): 110-111. (in Chinese with English abstract)
[2]Jensen H G, Jacobsen, L B, Pedersen S M, et al. Socioeconomic impact of widespread adoption of precision farming and controlled traffic systems in Denmark[J]. Precision Agriculture, 2012, 13(6): 661-677.
[3]Boulent J, Foucher S, Jérme Théau, et al. Convolutional neural networks for the automatic identification of plant diseases[J]. Frontiers in Plant Science, 2019, 10: 941.
[4]岑海燕,朱月明,孫大偉,等. 深度學習在植物表型研究中的應用現(xiàn)狀與展望[J]. 農(nóng)業(yè)工程學報,2020,36(9):1-16. Cen Haiyan, Zhu Yueming, Sun Dawei, et al. Current status and future perspective of the application of deep learning in plant phenotype research[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2020, 36(9): 1-16. (in Chinese with English abstract)
[5]張芳,王璐,付立思,等. 基于支持向量機的黃瓜葉部病害的識別研究[J]. 沈陽農(nóng)業(yè)大學學報,2014,45(4):457-462. Zhang Fang, Wang Lu, Fu Lisi, et al. Identification of cucumber leaf diseases based on support vector machine[J]. Journal of Shenyang Agricultural University, 2014, 45(4): 457-462. (in Chinese with English abstract)
[6]田杰,韓冬,胡秋霞,等. 基于PCA和高斯混合模型的小麥病害彩色圖像分割[J]. 農(nóng)業(yè)機械學報,2014,45(7):267-271. Tian Jie, Han Dong, Hu Qiuxia, et al. Segmentation of wheat rust lesion image using PCA and Gaussian mix model[J]. Transactions of the Chinese Society for Agricultural Machinery, 2014, 45(7): 267-271. (in Chinese with English abstract)
[7]Singh V, Misra A K. Detection of plant leaf diseases using image segmentation and soft computing techniques[J]. Information Processing in Agriculture, 2016, 4(1): 41-49.
[8]Hinton G E, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-1554.
[9]林景棟,吳欣怡,柴毅,等. 卷積神經(jīng)網(wǎng)絡結構優(yōu)化綜述[J]. 自動化學報,2020,46(1):24?37. Lin Jingdong, Wu Xinyi, Chai Yi, et al. Structure optimization of convolutional neural networks: A survey[J]. Acta Automatica Sinica, 2020, 46(1): 24-37. (in Chinese with English abstract)
[10]劉穎,劉紅燕,范九倫,等. 基于深度學習的小目標檢測研究與應用綜述[J],電子學報,2020,48(3):590-601. Liu Ying, Liu Hongyan, Fan Jiulun, et al. Research and application of small target detection based on deep learning[J]. Acta Electronica Sinica, 2020, 48(3): 590-601. (in Chinese with English abstract)
[11]孫紅,李松,李民贊,等. 農(nóng)業(yè)信息成像感知與深度學習應用研究進展[J]. 農(nóng)業(yè)機械學報,2020,51(5):1-17. Sun Hong, Li Song, Li Minzan, et al. Research progress of image sensing and deep learning in agriculture[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(5): 1-17. (in Chinese with English abstract)
[12]傅隆生,宋珍珍,Zhang Xin,等. 深度學習方法在農(nóng)業(yè)信息中的研究進展與應用現(xiàn)狀[J]. 中國農(nóng)業(yè)大學學報,2020,25(2):105-120. Fu Longsheng, Song Zhenzhen, Zhang Xin, et al. Applications and research progress of deep learning in agriculture[J]. Journal of China Agricultural University, 2020, 25(2): 105-120. (in Chinese with English abstract)
[13]Mohanty S P, Hughes D P, Salathé M. Using deep learning for image-based plant disease detection[J]. Frontiers in Plant Science, 2016, 7: 1-10.
[14]孫俊,譚文軍,毛罕平,等. 基于改進卷積神經(jīng)網(wǎng)絡的多種植物葉片病害識別[J]. 農(nóng)業(yè)工程學報,2017,33(19):209-215. Sun Jun, Tan Wenjun, Mao Hanping, et al. Recognition of multiple plant leaf diseases based on improved convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017, 33(19): 209-215. (in Chinese with English abstract)
[15]任守綱,賈馥瑋,顧興健,等. 反卷積引導的番茄葉部病害識別及病斑分割模型[J]. 農(nóng)業(yè)工程學報,2020,36(12):186-195. Ren Shougang, Jia Fuwei, Gu Xingjian, et al. Recognition and segmentation model of tomato leaf diseases based on deconvolution-guiding[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2020, 36(12): 186-195. (in Chinese with English abstract)
[16]Brahimi M, Boukhalfa K, Moussaoui A. Deep learning for tomato diseases: Classification and symptoms visualization[J]. Applied Artificial Intelligence, 2017, 31(4): 299-315.
[17]樊湘鵬,周建平,許燕,等. 基于改進卷積神經(jīng)網(wǎng)絡的復雜背景下玉米病害識別[J]. 農(nóng)業(yè)機械學報,2021,52(3):210-217. Fan Xiangpeng, Zhou Jianping, Xu Yan, et al. Corn disease recognition under complicated background based on improved convolutional neural network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(3): 210-217. (in Chinese with English abstract)
[18]Ferentinos, Konstantinos P. Deep learning models for plant disease detection and diagnosis[J]. Computers and Electronics in Agriculture, 2018, 145: 311-318.
[19]鮑文霞,孫慶,胡根生,等. 基于多路卷積神經(jīng)網(wǎng)絡的大田小麥赤霉病圖像識別[J]. 農(nóng)業(yè)工程學報,2020,36(11):174-181. Bao Wenxia, Sun Qing, Hu Gensheng, et al. Image recognition of field wheat scab based on multi-way convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2020, 36(11): 174-181. (in Chinese with English abstract)
[20]Kerkech M, Hafiane A, Canals R, et al. Deep learning approach with colorimetric spaces and vegetation indices for vine diseases detection in UAV images[J]. Computers and Electronics in Agriculture, 2018, 155(12): 237-243.
[21]劉闐宇,馮全,楊森. 基于卷積神經(jīng)網(wǎng)絡的葡萄葉片病害檢測方法[J]. 東北農(nóng)業(yè)大學學報,2018,49(3):73-83. Liu Tianyu, Feng Quan, Yang Sen. Detecting grape diseases based on Convolutional neural network[J]. Journal of Northeast Agricultural University, 2018, 49(3): 73-83. (in Chinese with English abstract)
[22]喬虹,馮全,張芮,等. 基于時序圖像跟蹤的葡萄葉片病害動態(tài)監(jiān)測[J]. 農(nóng)業(yè)工程學報,2018,34(17):167-175. Qiao Hong, Feng Quan, Zhang Rui, et al. Dynamic monitoring of grape leaf disease based on sequential images tracking[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(17): 167-175. (in Chinese with English abstract)
[23]何欣. 基于深度學習的葡萄葉片病害識別方法研究[D]. 楊凌:西北農(nóng)林科技大學,2020.
He Xin. Research on Grape Leaf Disease Identification Method Based on Deep Learning[D]. Yangling: Northwest A&F University, 2020:27-36. (in Chinese with English abstract)
[24]Ji M M, Zhang L, Wu Q F. Automatic grape leaf diseases identification via UnitedModel based on multiple convolutional neural networks[J]. Information Processing in Agriculture, 2020, 7(3): 418-426.
[25]趙立新,侯發(fā)東,呂正超,等. 基于遷移學習的棉花葉部病蟲害圖像識別[J]. 農(nóng)業(yè)工程學報,2020,36(7):184-191. Zhao Lixin, Hou Fadong, Lyu Zhengchao, et al. Image recognition of cotton leaf diseases and pests based on transfer learning[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2020, 36(7): 184-191. (in Chinese with English abstract)
[26]姜洪權,賀帥,高建民,等. 一種改進卷積神經(jīng)網(wǎng)絡模型的焊縫缺陷識別方法[J]. 機械工程學報,2020,56(8):235-242. Jiang Hongquan, He Shuai, Gao Jianmin, et al. An improved convolutional neural network for weld defect recognition[J]. Journal of Mechanical Engineering, 2020, 56(8): 235-242. (in Chinese with English abstract)
[27]Waheed A, Goyal M, Gupta D, et al. An optimized dense convolutional neural network model for disease recognition and classification in corn leaf[J]. Computers and Electronics in Agriculture, 2020, 175: 105456.
[28]龍滿生,歐陽春娟,劉歡,等. 基于卷積神經(jīng)網(wǎng)絡與遷移學習的油茶病害圖像識別[J]. 農(nóng)業(yè)工程學報,2018,34(18):194-201. Long Mansheng, Ouyang Chunjuan, Liu Huan, et al. Image recognition of Camellia oleifera diseases based on convolutional neural network and transfer learning[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(18): 194-201. (in Chinese with English abstract)
[29]Kaya A, Keceli A S, Catal C, et al. Analysis of transfer learning for deep neural network based plant classification models[J]. Computers and Electronics in Agriculture, 2019, 158: 20-29.
[30]Prasad S, Peddoju S K, Ghosh D. Multi-resolution mobile vision system for plant leaf disease diagnosis[J]. Signal, Image and Video Processing, 2016, 10(2): 379-388
[31]劉洋,馮全,王書志. 基于輕量級CNN的植物病害識別方法及移動端應用[J]. 農(nóng)業(yè)工程學報,2019,35(17):194-204. Liu Yang, Feng Quan, Wang Shuzhi. Plant disease identification method based on lightweight CNN and mobile application[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(17): 194-204. (in Chinese with English abstract)
[32]余小東,楊孟輯,張海清,等. 基于遷移學習的農(nóng)作物病蟲害檢測方法研究與應用[J]. 農(nóng)業(yè)機械學報,2020,51(10):252-258. Yu Xiaodong, Yang Mengji, Zhang Haiqing, et al. Research and application of crop diseases detection method based on transfer learning[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(10): 252-258. (in Chinese with English abstract)
Detection system for grape leaf diseases based on transfer learning and updated CNN
Fan Xiangpeng1,2,3, Xu Yan1,2,3, Zhou Jianping1,2,3※, Li Zhilei1,2,4, Peng Xuan2,4, Wang Xiaorong1,2,4
(1.,,830047,;2.,830047,;3.,830047,;4.,,830047,)
Leaf diseases have a severe threat to the quality and yield of grapes. However, there is often difficulty in the disease detection and low application rate of convolutional neural network (CNN) in a complicated field environment. In this study, an accurate and intelligent detection system was established to realize the strong robustness and real-time performance for grape leaf diseases using transfer learning and an updated CNN model. Firstly, 1990 images were captured for the healthy leaves and five types of infected leaves from field conditions. The combined datasets of PlantVillage and AI Challenger were used to pre-train the VGG16 network for the fully trained parameters. Secondly, the batch normalization, global average pooling layer, and Center Loss function were utilized to modify the structure of the pre-trained VGG16 network, where there was no change in the parameters of the thirteen front convolutional layers and pooling layers. The updated CNN was fine-tuned with the augmented images of grape leaves from field conditions. Stochastic gradient descent (SGD) and adaptive moment estimation (Adam) optimizers were adopted at the initial learning rates of 0.01 and 0.001 in the phase of fine-tuning for experimental comparison. Thirdly, different equilibrium parameters of Center Loss function were utilized in Softmax classification layer for optimal performance. The updated CNN model was also compared with the state-of-the-art models. Finally, the optimal CNN model was deployed in mobile phones to carry out in field condition. The experimental results showed that the updated model using Adam optimizer behaved with a higher accuracy and more stable performance than those using the SGD in the fine-tuning training phase. There were a higher accuracy, a lower loss value, and smaller vibration in the trained model with a small initial learning rate of 0.001 than those with a larger initial learning rate of 0.01, indicating that a smaller learning rate was more reasonable for fine-tuning training. In addition, the accuracy of the model was improved by the equilibrium parameter with a certain range in a Center Loss function. When the equilibrium parameter was set as 0.12, optimal performance of the updated CNN model was achieved at the initial learning rate of 0.001, where the average classification precision was 0.980 0, the recall was 0.980 1, the1 score was 0.980 1, the average accuracy was 98.02%, and the testing time per image was 0.327 s. The accuracy of updated CNN increased by 2.82%, while the detection time was reduced by 66.8%, and the number of parameters decreased by 83.4%, compared with the original VGG16 network. The comprehensive performance of the updated VGG16 model was also better than that of AlexNet, ResNet50, and Inception v3 models, indicating obvious advantages in the accuracy, weight space occupation, and testing time for the detection of grape leaf diseases. It infers that the Batch normalization layer can speed up the learning process, whereas, the Global average pooling layer without fully connected layers can greatly reduce the number of weight parameters of the model. Center Loss function improved the ability of fine classification. After deployed into smart phone platform, the detection system maintained an accuracy of 95.67% and detection time of 0.357 s per image for the portable and intelligent diagnostics of grape leaf diseases. The transfer learning provided the possibility of quickly acquiring high-performance model under the condition of small datasets. The finding can provide precise guide for the prevention and control of grape diseases in fields.
image recognition; diseases; grape leaf; transfer learning; convolutional neural network; global average pooling; mobile phone recognition system; intelligent diagnosis
樊湘鵬,許燕,周建平,等. 基于遷移學習和改進CNN的葡萄葉部病害檢測系統(tǒng)[J]. 農(nóng)業(yè)工程學報,2021,37(6):151-159.doi:10.11975/j.issn.1002-6819.2021.06.019 http://www.tcsae.org
Fan Xiangpeng, Xu Yan, Zhou Jianping, et al. Detection system for grape leaf diseases based on transfer learning and updated CNN[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2021, 37(6): 151-159. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2021.06.019 http://www.tcsae.org
2020-10-16
2021-03-02
國家自然科學基金項目(51765063);新疆維吾爾自治區(qū)天山雪松科技創(chuàng)新領軍人才計劃項目(2018xs01);新疆維吾爾自治區(qū)研究生科研創(chuàng)新項目(XJ2019G033)
樊湘鵬,研究方向為機電控制與機器人、農(nóng)業(yè)機械化與信息化。Email:15099324673@163.com
周建平,教授,博士生導師,研究方向為機電一體化、農(nóng)業(yè)機械化與信息化、特種加工技術。Email:linkzhou@163.com
10.11975/j.issn.1002-6819.2021.06.019
TP2;S24
A
1002-6819(2021)-06-0151-9