樊湘鵬,周建平,2,許 燕
(1 新疆大學 機械工程學院/新疆維吾爾自治區(qū)農(nóng)牧機器人及智能裝備工程研究中心,新疆 烏魯木齊 830047;2 機械制造系統(tǒng)工程國家重點實驗室新疆大學分室,新疆 烏魯木齊 830047)
玉米是中國重要的糧食作物,健康的玉米產(chǎn)業(yè)對于保障我國的糧食安全、農(nóng)民增收和國民經(jīng)濟的增長具有重要作用[1-2]。隨著氣候環(huán)境的變化,病蟲害脅迫對玉米等農(nóng)作物造成了不可逆轉的損失[3],由各類病菌引起的玉米葉部病害,大大限制了玉米葉部的光合作用和對營養(yǎng)成分的運輸,嚴重影響玉米的產(chǎn)量和品質(zhì)。只有對癥噴灑農(nóng)藥才能控制病害的蔓延并將損失降到最低。及時發(fā)現(xiàn)并準確地判斷病害類型,選用合適的農(nóng)藥進行精準施治對于病害防治具有十分重要的意義。傳統(tǒng)依靠植物病理學專家現(xiàn)場辨識病害類型的方法,費時費力、效率低下且容易出現(xiàn)主觀錯誤,尤其在大田環(huán)境中的檢測,大大增加了勞動成本。近年來,結合圖像處理技術的機器視覺自動識別作物葉片等器官部位病斑類型正在不斷克服人工識別易誤判、依賴專家經(jīng)驗、耗費人力物力等缺點[4-6]。這些研究的思路往往是根據(jù)圖像的顏色、紋理和空間結構進行分析[7-8],采用邊緣檢測、閾值處理、區(qū)域生長和決策樹分類以及聚類分割等方法[9-11],無論是利用Canny算子從圖像邊緣提取,還是利用HIS分量分解顏色空間,所設置的閾值并不能滿足自然條件下獲取的所有復雜背景圖像,且最終達到的識別精度有限,存在適應性差、抗干擾能力弱等問題,導致實際推廣應用嚴重受限[12]。
隨著深度學習技術在目標檢測和圖像處理領域的深入研究,卷積神經(jīng)網(wǎng)絡(Convolutional neural network, CNN)在圖像識別和分類中的應用日益廣泛[13-14]。在植物病蟲害識別研究中,CNN 被證明比傳統(tǒng)機器學習方法具有更好的性能[15-16]。Brahimi等[15]利用1.5萬張番茄病害圖像,基于AlexNet模型,對數(shù)據(jù)集中的9種病害進行分類識別,得到較好的識別效果。孫俊等[17]利用改進的CNN識別PlantVillage數(shù)據(jù)集中的病害圖像,降低了模型參量并提高了模型識別準確率。龍滿生等[18]將遷移學習應用在卷積網(wǎng)絡訓練過程中,構建了基于Tensor Flow的AlexNet模型,并對油茶的藻斑病、黃化病、煤污病和軟腐病進行分類,達到了96.53%的準確率。Kerkech等[19]建立的CNN LeNet-5模型對無人機獲取的葡萄樹RGB圖像檢測藤蔓病害,達到了92%的準確率。戴澤翰等[20]利用深度CNN對柑橘黃龍病開展多分類器的識別研究,達到了93.7%的識別準確率。李淼等[21]利用知識遷移和深度學習的方法識別實驗室條件下的黃瓜和水稻病害,微調(diào)后的模型準確率最高可達98.33%。楊森等[22]利用CNN結合特征聚類構建的特征降維方法,對馬鈴薯葉部病害進行識別,得到了魯棒性較高的病害識別模型。Too等[23]基于Keras框架構建了深度CNN模型識別玉米病害,對Plantvillage公共數(shù)據(jù)集中的病害圖像進行研究,在簡單背景圖像檢測中得到了99.75%的準確率。鮑文霞等[24]將深度語義分割方法用于小麥赤霉病害圖像的麥穗分割,構建了多路CNN,對單一赤霉病的識別準確率可達100%,但分割麥穗的過程增加了工作量。任守綱等[25]針對病害識別過程中特征提取存在盲目性的缺點構建了反卷積引導的VGGNet模型,對公開數(shù)據(jù)集中的番茄葉部病害圖像識別精度可達99.19%。宋余慶等[26]提出了多層次增強高效空間金字塔卷積深度學習模型,空洞卷積能夠提取圖像高層語義特征并融合多層特征信息進行分類,提高了CNN對61種作物病蟲害的分類準確率。
前人借助深度學習和CNN識別病害類型的方法研究大多是在實驗室或受控條件下進行,在田間獲取的圖像集樣本量較少,影響模型的泛化性;在利用大型公開的數(shù)據(jù)集作為研究對象時,數(shù)據(jù)集中的圖像背景過于簡單且數(shù)據(jù)代表性嚴重不足。在面對實際應用時,由于數(shù)據(jù)集的代表性不足使得模型在復雜的背景中提取病害區(qū)域特征能力下降,導致檢測作物病害時大大降低了識別精度和速度;為提高模型精度,多數(shù)研究者通常利用卷積層數(shù)較深的深度學習網(wǎng)絡結構來提取目標的特征,加大了計算量和對硬件平臺的依賴,導致識別過程中耗時較長,嚴重限制了在大田環(huán)境中實際應用的效果。本研究以玉米的9種常見病害圖像為研究對象,針對其光照變化大、葉片遮擋和背景復雜的特點,將區(qū)域CNN算法Faster R-CNN引入大田環(huán)境中具有復雜背景的玉米病害識別分類研究中,根據(jù)病害圖像的特點和實時性的需求,加入批標準化處理提高模型收斂速度,引入中間代價函數(shù)構建混合代價函數(shù)提高相似病斑的識別準確率等方式改進Faster R-CNN,采用多種不同特征提取網(wǎng)絡訓練優(yōu)化網(wǎng)絡,得到精度較高、魯棒性好的識別模型,以期為后期精準施藥和防控作業(yè)提供依據(jù)。
試驗所需數(shù)據(jù)集來源于數(shù)據(jù)集網(wǎng)站和田間采集2個部分。數(shù)據(jù)集網(wǎng)站包括中國科學數(shù)據(jù)網(wǎng)(http://www.csdata.org/)和Digipathos網(wǎng)站,在數(shù)據(jù)集網(wǎng)站精心挑選由真菌引起的9種常見玉米病害圖像150幅;另一部分在烏魯木齊西山農(nóng)場玉米地拍攝獲取,利用尼康D750作為采集設備,分別在晴天、陰天天氣條件下,在早、中、晚的不同時間段多角度拍攝含有不同病害的光學圖像,拍攝時的背景為田間復雜背景,并能反映玉米在田間生長的眾多復雜情況,以保證采集到的圖像有更大的代表性。最終采集到的圖像1 000幅,像素大小為3 600×2 700,其中晴天條件下光照均勻的樣本458張,光照不均勻的樣本263幅,陰天條件下的樣本279幅。通過田間采集和數(shù)據(jù)集網(wǎng)站最終獲得的9種病害圖像數(shù)量為1 150,所選9種病害的類別和相應的病原名稱[27]見表1。
對于復雜的田間背景圖像,CNN往往需要大量的訓練樣本才能有效提取圖像特征并分類。為了有效提升數(shù)據(jù)質(zhì)量、增加數(shù)據(jù)特征多樣性和數(shù)據(jù)庫的大小并降低由于復雜背景導致卷積網(wǎng)絡對計算機硬件的依賴性,對收集到的病害圖像集進行預處理操作,包括數(shù)據(jù)標注和數(shù)據(jù)增強與擴充2個步驟。CNN需要進行有監(jiān)督的訓練,圖像本身沒有標簽和語義,必須進行標注才能用于訓練,請專業(yè)技術人員比對確認后,按照PASCAL VOC2007標準[28],利用Labelme標注工具標注健康和病斑區(qū)域的病害類型,之后將其存儲。通過對樣本進行擴增可有效減少訓練階段的過擬合,從而提升網(wǎng)絡的泛化性能。本文采用多角度翻轉、亮度調(diào)整、飽和度調(diào)整和添加高斯噪聲等操作,將相應的數(shù)據(jù)集擴充到原來的8倍,變換后的圖像統(tǒng)一調(diào)整為512×512×3(高度×寬度×顏色通道),原圖和數(shù)據(jù)增強后得到的圖像效果如圖1所示。樣本預處理前后的數(shù)量和標簽標注情況見表1。
1.3.1 Faster R-CNN結構及特點 CNN可以通過訓練習得圖像的深層次特征并實現(xiàn)端到端的圖像檢測,F(xiàn)aster R-CNN算法是區(qū)域CNN的經(jīng)典模型之一。Ren等[28]于2015年提出的經(jīng)典two-stage目標檢測與分類算法Faster R-CNN,其特點在于利用共享卷積層將區(qū)域建議網(wǎng)絡(Region proposalnetwork,RPN)與Fast R-CNN組合成1個網(wǎng)絡,提高了候選框生成速度和檢測效率。Faster R-CNN的基本網(wǎng)絡結構包括共享卷積層單元、區(qū)域生成網(wǎng)絡(Region proposal network,RPN)、ROI pooling 單元和Softmax分類與回歸單元。Faster R-CNN在目標檢測過程中,F(xiàn)ast R-CNN和RPN共享卷積層單元的權值參數(shù)。輸入圖像在卷積層單元經(jīng)過卷積、激活與池化組合操作后提取特征圖,RPN的滑動窗口在Feature-map上產(chǎn)生目標候選框(Anchor boxes)并提取感興趣區(qū)域( Region of interest,ROI),F(xiàn)ast R-CNN中的ROI 池化層單元將候選區(qū)域分成m×n塊小區(qū)域并對每塊進行最大池化(Max pooling)操作生成特征向量,分類與回歸單元使用Softmax可以計算出特征圖中錨框的建議區(qū)域的類別概率,并輸出概率向量,據(jù)此來確定錨框是屬于前景或者背景,最后使用邊界框回歸來糾正錨框以獲得準確的建議判斷候選區(qū)的類別,同時獲得檢測框的最終準確位置。
表1 9種病害的圖像樣本情況Table 1 Profile of sample images for nine types of diseases
圖1 原圖像和數(shù)據(jù)增強后的圖像Fig. 1 Original image and data augmented images
1.3.2 Faster R-CNN算法的改進 對玉米葉部病害類別準確識別,既要考慮不同病害的粗粒度特征,又要考慮它們之間的細粒度特征,綜合提取多種有效特征是表征病害類型的關鍵。Faster R-CNN在用于目標檢測與分類過程中,雖然檢測達到了較高的準確率,但是直接將Faster R-CNN用于田間作物病害檢測細粒度圖像分類時效果不佳,原因在于:首先,F(xiàn)aster R-CNN速度不能滿足實時的要求;再者,在田間獲取生長特性各異的玉米病害圖像中,不同的病害之間具有病斑癥狀的相似性,而同類型的病害在不同階段特征差異相對較大,導致部分玉米病斑類型無法被準確識別,從而影響模型精度。本文從以上2個方面進行改進,為加快網(wǎng)絡收斂速度,提高模型泛化能力,在卷積層引入批標準化處理(Batch normalization,BN)、利用混合代價函數(shù)計算整體損失值提高精度等方法來改善模型的性能。
批標準化處理:為提高網(wǎng)絡收斂速度、避免梯度爆炸現(xiàn)象的發(fā)生,緩解過擬合現(xiàn)象,在卷積層單元每層輸入前加入批標準化處理操作,實現(xiàn)輸入數(shù)據(jù)均值為0、方差為1的標準正態(tài)分布,以加快網(wǎng)絡收斂速度,提高網(wǎng)絡泛化能力。對1個樣本的歸一化計算通過圖像中像素點總數(shù)計算均值μ和σ方差,如式(1)和(2)所示:
式中,xi為該圖像樣本中第i個像素點的值;n為該樣本像素點的總數(shù)。歸一化方程為式(3):
式中,x為該樣本第i個像素歸一化后的像素值;ε為大于0的微小常數(shù)值,以保證式中分母大于0。
構建混合代價函數(shù)(C-S函數(shù)):在玉米病害圖像中,由于生長特性各異,不同的病害之間具有病斑癥狀的相似性,尤其是炭疽病和大斑病、熱帶銹病和南方銹病之間病斑特征類間差異不大,在病害的不同階段,病害的類內(nèi)特征差異相對較大,這種現(xiàn)象導致一些不規(guī)則生長的玉米病害影像無法被準確識別,影響模型精度。為解決這一問題,實現(xiàn)特征類內(nèi)差距最小化、類間差距最大化分離,本文將中心代價函數(shù)(Center loss,LC)引入模型與Softmax loss函數(shù)(LS)聯(lián)合構建混合損失函數(shù)對網(wǎng)絡進行訓練,增大類間特征差異,加強類內(nèi)特征內(nèi)聚,使網(wǎng)絡具備提取高區(qū)分度病斑特征的能力。LC函數(shù)表達式如式(4)所示:
式中,N為訓練中的小批量數(shù)量,f(xi)為RPN生成的第yi類第i個感興趣區(qū)域的特征即全連接層之前的特征,cyi為第yi類特征的中心。對CNN進行訓練的過程是1個損失函數(shù)最優(yōu)化的過程,通過LC函數(shù)(4)可知,在訓練過程中,LC的值逐漸變小,即特征f(xi)逐漸接近第yi類特征的中心,隨著迭代訓練的增加,每一類特征的分布情況將向其對應的特征中心聚集,從而實現(xiàn)類內(nèi)特征的內(nèi)聚性和類間差異的最大化。此時,混合代價函數(shù)(簡稱C-S函數(shù))表達式為
由于LC遠大于LS,因此引入?yún)?shù)λ來平衡2個函數(shù)值,參數(shù)λ為LC的權重。較小的值會使得中心損失項對網(wǎng)絡幾乎沒有什么影響,而較大的值會導致網(wǎng)絡出現(xiàn)不收斂的情況。本文經(jīng)過多次反復試驗得到經(jīng)驗值為0.02,其中Softmax loss和 Center loss構建的混合代價函數(shù)在網(wǎng)絡中的訓練方式如圖2所示。
在網(wǎng)絡每次迭代過程中,公式(4)中的cyi更新依據(jù)為每個小批量里某一類別中所有個體的特征向量平均值,此時f(xi)的梯度及特征中心cyi的更新方式如式(6)~(8)所示:
式中,當δ(·)括號中條件成立時,此時δ(·)的值為1;反之,δ(·)的值為 0;式 (7)中參數(shù)p為更新迭代的次數(shù),α為控制學習率參數(shù),作用是防止小部分標記錯誤的樣本產(chǎn)生的波動,取值范圍為0~1。
圖2 混合代價函數(shù)訓練方式Fig. 2 Hybrid loss function training method
試驗平臺選擇Windows7(64位)操作系統(tǒng),其他軟件環(huán)境為Anaconda 3.5.0,Python 3.6,CUDA 8.0,cuDNN 6.0,Windows7(64位)搭載 Intel(R)Xeon(R) CPU E5-2 630 v4 @2.20 GHz處理器,使用開源深度學習框架Tensorflow作為開發(fā)環(huán)境,計算機內(nèi)存16 GB。
為提升模型性能,減少過擬合,以本文預訓練模型進行參數(shù)初始化設置,使用引入動量的隨機梯度下降法(Stochastic gradient descent,SGD)并結合Dropout策略優(yōu)化改善模型。學習率是SGD算法中的重要參數(shù),過大可能會導致參數(shù)在最優(yōu)值兩側波動,過小會大大拖慢優(yōu)化速度,為保證參數(shù)以合適的速度達到最優(yōu)值,利用指數(shù)衰減法設置學習率,即最初設置較大的學習率以較快的速度得到較優(yōu)的值,當?shù)螖?shù)增加時學習率逐漸變小,并在訓練的后期趨于穩(wěn)定達到收斂。學習率隨迭代次數(shù)衰減的公式為:
式中,r為優(yōu)化過程中的學習率;r0為初始設置的學習率,本文初始值設為0.01;I為迭代次數(shù);θ為迭代過程中的衰減速度;ρ為衰減系數(shù)。指數(shù)衰減法在TensorFlow中的實現(xiàn)命令為“tf.train.exponential_decay”。在本試驗中,ρ設置為0.96,迭代次數(shù)I最大值設為6 000,動量因子設置為0.9,Dropout設置為0.25,小批量大小設為256,直到迭代次數(shù)達到最大值后停止訓練。數(shù)據(jù)集中訓練集的比例為80%,剩余20%為測試集。訓練結束后,利用測試集對模型效果進行驗證,保留置信度大于0.85的病害識別目標,并且在測試集的圖像數(shù)據(jù)中輸出病害的識別與分類情況。
為了評價所提方法對病害進行識別分類測試試驗的結果,對樣本進行測試后分別計算精度(Precision)和召回率(Recall),利用綜合評價指標F1作為準確率和召回率的評估值。同時,引入計算簡便的平均準確率(Average accuracy,AA)和單張圖片檢測耗時(t)作為評價指標,其中AA=分類正確的數(shù)量/測試總數(shù)量×100%,t=測試總耗時/測試圖像數(shù)量。其他指標的計算方法如下所示:
式中,Precision為精度;Recall為召回率;TP為預測為正的正樣本;FP為預測為正的負樣本;FN為預測為負的正樣本。
Faster R-CNN的共享卷積層單元采用不同結構和參數(shù)的特征提取網(wǎng)絡,最終訓練得到的模型性能不同。本文在Faster R-CNN對病害進行識別分類試驗中,分別利用 AlexNet、VGG16、ResNet50 和ResNet101這4種預訓練的卷積網(wǎng)絡模型作為Faster R-CNN中卷積層單元的特征提取網(wǎng)絡進行對比試驗。表2描述了不同特征提取網(wǎng)絡構建的Faster R-CNN模型訓練后對測試集的識別準確率和耗時情況。由表2可知,AlexNet的單張圖像檢測耗時最短,為0.243 s,平均準確率為91.73%;VGG16的平均準確率最高(97.23%),單張圖像檢測耗時為0.278 s;ResNet50和ResNet101的平均準確率分別為88.97%和86.03%,單張圖像檢測耗時分別為0.437和0.572 s。基于檢測速度和準確率的綜合考量,本文后續(xù)試驗中均以VGG16作為特征提取網(wǎng)絡構建Faster R-CNN模型。
以大斑病和普通銹病為例,在圖3中展現(xiàn)了利用改進Faster R-CNN算法在測試集中的識別結果,可以發(fā)現(xiàn)所提方法能夠利用定位框對病斑進行準確定位,并輸出識別概率。在有玉米莖稈、土壤等背景干擾下也可以對病斑進行準確識別定位(圖3a),由圖3可見,改進Faster R-CNN對具有復雜背景包括不同光照條件下、含有玉米莖稈、土壤、葉片重疊等情況下的圖像識別可以做到較高的準確率(大部分病斑的識別概率高于0.9)。為了更清楚地展現(xiàn)基于改進Faster R-CNN方法的識別精度與分類結果,在測試集上模型分類結果基礎上繪制得到的混淆矩陣(圖4)。表3展示了所提方法分類效果的更多細節(jié),結合病害識別結果的混淆矩陣分析,所提方法在對炭疽葉斑病、熱帶銹病、南方銹病、普通銹病、小斑病、葉斑病、條紋病、褐斑病、大斑病這9種不同病害類型識別時,每種病害類型的精度和召回率有所不同,這與每種病害的特征類型有一定關系,但每種病害類型的識別精度均保持在0.965~0.978,平均精度為0.971 8;召回率均保持在0.954~0.983,平均召回率為 0.971 9,F(xiàn)1 為 0.959~0.979,模型的平均準確率為97.23%,這說明所提方法在建立的數(shù)據(jù)集中表現(xiàn)良好,可應用于實際田間環(huán)境中作物病害的檢測。
表2 共享卷積層不同特征提取網(wǎng)絡的在測試集上的性能Table 2 Performance of different feature extraction networks in shared convolutional layer on testing dataset
圖3 大斑病和普通銹病識別結果示例Fig. 3 Example of recognition results of northern leaf blight and common rust
圖4 測試集分類結果的混淆矩陣分析Fig. 4 Confusion matrix analysis of the classification results of testing dataset
表3 測試集混淆矩陣分析統(tǒng)計參數(shù)1)Table 3 Statistical parameters from the confusion matrix analysis of testing dataset
為研究在田間實際應用過程中不同天氣條件對識別率的影響,對晴天和陰天條件下的玉米病害圖像進行同等數(shù)量劃分,晴天和陰天病害圖像各600幅,其中在晴天條件中的光照均勻的圖像有400幅,光照不均勻的圖像有200幅。將以上圖像分別采用之前訓練好的模型,在2種天氣條件下進行識別,晴天和陰天的單張圖像檢測耗時分別為0.209和0.297 s,識別的平均準確率分別為98.6%和94.7%。由此可以看出,在對陰天環(huán)境獲取的圖像樣本進行測試識別時,識別時間更長且識別精度低,而對晴天條件下的樣本測試識別時,由于光線較充足,病斑特征更容易識別且耗時更短。因此,為提高模型在實際應用中的效果,應在訓練集中增加在陰天環(huán)境條件下的樣本數(shù)量。
為進一步驗證本文所提改進Faster R-CNN算法的性能,將其與未改進的標準型Faster R-CNN和主流目標檢測算法SSD相比較,同樣采用16層的VGG特征提取網(wǎng)絡,使用相同的數(shù)據(jù)集,訓練方式均為隨機梯度下降法(SGD),且3種方法的初始學習率均為0.01,dropout值為0.6,最大迭代次數(shù)為6 000,得到3種分類檢測算法的損失值隨迭代次數(shù)的變化曲線圖(圖5)和精度隨迭代次數(shù)的變化曲線圖(圖6),表4是3種方法得到的平均準確率和耗時情況。通過圖5、圖6和表4可知,3種方法損失值均隨著迭代次數(shù)的增加遞減,一開始的損失值下降最快,這是因為初始學習率設置較大的原因,隨著迭代次數(shù)的增加,學習率逐漸變小,曲線變化趨于平緩直到收斂。SSD算法在試驗過程中的損失值一開始高于Faster R-CNN方法的損失值,在迭代次數(shù)2 400左右損失低于Faster R-CNN,精度為0.929 3,單張圖像檢測耗時為0.296 s。改進后的Faster R-CNN在3者中的損失值最小,且最快達到收斂,所提算法最終達到的精度為0.971 8,單張圖像檢測耗時為0.278 s。SSD算法的性能優(yōu)于Faster R-CNN算法,但改進后的Faster R-CNN由于加入了批歸一化處理層、引入中間代價函數(shù)構建了混合損失函數(shù),因此速度和精確率有所提升。試驗結果表明,不論是檢測速度還是檢測精度,改進后的Faster R-CNN算法都優(yōu)于原有的Faster R-CNN算法和主流目標檢測算法SSD,綜合性能更優(yōu),可用于田間復雜背景下的玉米病害實時性檢測。
圖5 不同分類檢測算法的損失值隨迭代次數(shù)的變化曲線Fig. 5 The loss curves of different classification and detection algorithms varying with the iteration number
圖6 不同分類檢測算法的精度隨迭代次數(shù)的變化曲線Fig. 6 The precision curves of different classification and detection algorithms varying with the iteration number
表4 不同分類檢測算法檢測結果的比較Table 4 Comparison of the detection results for different classification and detection algorithms
在農(nóng)作物病害自動識別領域,深度學習方法比傳統(tǒng)機器視覺方法更具有優(yōu)勢,CNN模型無需手動提取圖像特征就可以實現(xiàn)端到端的輸入檢測和分類輸出。本研究為了實現(xiàn)田間實際環(huán)境中具有復雜背景的病害診斷,根據(jù)其病害圖像的特點,將區(qū)域CNN模型Faster R-CNN引入玉米病害的智能識別與分類過程中,在卷積層單元每層輸入前加入批標準化處理提高網(wǎng)絡收斂速度、加入中心代價函數(shù)構建混合代價函數(shù)提高網(wǎng)絡提取高區(qū)分度病斑特征的能力,建立了一種基于改進Faster R-CNN算法的田間玉米病害檢測方法。
本研究比較了在Faster R-CNN架構下的VGG16、AlexNet、ResNet50和 ResNet101這 4種特征提取網(wǎng)絡的綜合性能。在4種不同特征提取網(wǎng)絡下,利用SGD指數(shù)衰減法優(yōu)化模型訓練過程并進行測試,綜合對比分析其識別性能和檢測速度,不同的特征提取網(wǎng)絡具有不同的結構和參數(shù),其特征提取能力有所差異。AlexNet結構只有3個全連接層和5個卷積層且在第1層采用了11×11的大尺寸卷積核,當在底層設置大尺寸卷積核時僅對粗粒度特征響應敏感,而不趨向于響應細粒度特征;而VGG16中包含了13個卷積層和3個全連接層,其最大的特點是它采用了相對較小的卷積核尺寸(3×3)和最大池化尺寸(2×2),在保證感受野的同時能夠提取出輸入領域內(nèi)更多非常細小的特征,可以擬合更加復雜的特征,因此具有較高的精度;ResNet50和ResNet101屬于更深層次的共享卷積層網(wǎng)絡,隨著網(wǎng)絡結構的增加,其深度和參數(shù)也不斷增多,會占用更多的存儲資源和計算單元,神經(jīng)網(wǎng)絡在反向傳播過程中造成梯度衰減,導致權重調(diào)整失效、訓練退化,模型的實時性和識別性能降低,因此在本研究中,VGG16特征提取網(wǎng)絡更適合用于田間玉米病害檢測的研究。以VGG16特征提取網(wǎng)絡為基礎構建的Faster R-CNN模型,訓練后對具有復雜背景的9種病害圖像識別的平均精度為 0.971 8,平均召回率為0.971 9,F(xiàn)1為0.971 8,平均準確率達97.23%,單張圖像檢測耗時0.278 s。
改進的Faster R-CNN模型與原始的Faster RCNN模型相比,單張圖像檢測耗時減少了0.139 s,這是因為Faster R-CNN加入了批歸一化處理層后可以提高模型的數(shù)據(jù)處理速度,不論是在訓練過程還是測試過程中,都可以節(jié)省大量的時間。在Faster R-CNN模型中引入了中間損失函數(shù)構建混合損失函數(shù)后使得模型對類內(nèi)差距較大、類間差距較小的圖像數(shù)據(jù)集有更強的識別分類性能,與未改進的Faster R-CNN模型相比平均精度提高了0.088 6。將所提方法與主流目標檢測算法SSD相比,精度高出0.042 5,單張圖像檢測耗時降低0.018 s,改進后的Faster R-CNN模型采用區(qū)域建議網(wǎng)絡RPN代替原來的比較費時的Selective search算法,通過將真實的邊框位置相對于預設邊框的偏移來構建訓練病害圖像樣本,RPN生成的2 000多個框能夠快速準確地找到玉米病害圖像中的病斑感興趣區(qū)域,大大提高了目標檢測的精度和檢測速度,本試驗結果表明改進的Faster R-CNN模型比SSD更適于田間玉米病害這種粗粒度和細粒度特征兼具的目標檢測,且能夠滿足實時性檢測的需求。
通過對不同天氣條件下獲取的圖像進行識別測試,晴天的圖像識別準確率比陰天的高出3.9%,表明天氣條件對模型的識別效果影響較大。在田間實際環(huán)境中,天氣多變,因此為提高實際應用時模型的性能,應在訓練過程中保證不同天氣條件下的病害圖像數(shù)量具有均衡性和代表性,在這種條件下訓練出來的模型能夠應對不同天氣條件對病斑特征的影響,從而保證一定的泛化性和適用性。
本研究可為田間環(huán)境下的玉米病害智能監(jiān)測提供方法和思路,為玉米病害的及時精準防控奠定基礎。同時在本研究思路的基礎上,也可為后續(xù)針對連續(xù)幀視頻的大田范圍內(nèi)的病害巡視監(jiān)測提供依據(jù)。盡管本文所提方法有較好的性能,但本次試驗所用數(shù)據(jù)有限,數(shù)據(jù)集對CNN來說并不是一個特別大的數(shù)據(jù)量,因此在今后將擴大圖像數(shù)據(jù)集,建立更具代表性、樣本特征更豐富的玉米病害數(shù)據(jù)庫。