李鑫然,李書琴,劉 斌
(西北農(nóng)林科技大學信息工程學院,陜西楊凌 712100)
蘋果具有較高的營養(yǎng)價值,是世界四大水果之一[1]。蘋果生產(chǎn)對我國經(jīng)濟的發(fā)展和滿足廣大人民的需求發(fā)揮著重要作用。然而蘋果在生長過程中,因受到環(huán)境、真菌等影響會產(chǎn)生許多病害,這些病害大多發(fā)生在蘋果葉片部位,嚴重影響了蘋果的產(chǎn)量與質(zhì)量,從而造成巨大的經(jīng)濟損失[2]。因此,及時有效地檢測蘋果葉片病害對于確保蘋果產(chǎn)業(yè)健康發(fā)展至關(guān)重要。目前蘋果葉片病害檢測主要依靠果農(nóng)經(jīng)驗和病害知識進行分析和判斷,然而蘋果病害病斑癥狀復雜,且特征不夠明顯,人工識別的方法耗時耗力且效率較低[3]。計算機視覺的發(fā)展給農(nóng)作物病害檢測帶來了新的方向,近年來,涌現(xiàn)出眾多基于機器學習[4-7]和深度學習[8-11]的葉片 病害檢 測方法。ZHANG 等[12]采用改進的mean-shift 圖像分割算法分割病斑,以病斑的顏色特征和差值方圖作為蘋果病害的分類特征,并利用支持向量機(Support Vector Machine,SVM)進行模型訓練,該方法對3 種常見蘋果葉片病害的識別精度達96%以上。但該方法僅適用于簡單背景的蘋果葉片病害圖像,在實際復雜背景應(yīng)用中存在一定局限性。SHI 等[13]利用蘋果葉片同類病害及其病斑圖像的形狀、顏色和紋理之間的差異性,提出了一種基于二維子空間學習維數(shù)約簡(2DSLDR)的蘋果葉片病害識別方法,識別精度高達90%以上。但該方法同樣僅適用于背景簡單的蘋果葉片病害圖像。ZHANG 等[14]采用遺傳算法(GA)和基于相關(guān)性的特征選擇算法(GFS)對蘋果葉片的多重組合特征進行篩選,再通過支持向量機對多種蘋果葉片病害進行識別,精度可達90%,但該方法所需樣本需在非自然光下采集。BARANWAL 等[15]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的蘋果葉片病害檢測模型,其檢測精度高達98.54%,但該方法對于葉子姿態(tài)要求嚴格,必須均以向上方式整齊放置。
針對現(xiàn)有蘋果葉片病害檢測方法對蘋果葉片環(huán)境要求嚴格、無法在實際條件下進行實時檢測的問題,本文結(jié)合蘋果葉片病害圖像背景復雜、病斑較小的特點,提出一種以Faster R_CNN 模型[16]為基礎(chǔ)的蘋果葉片病害檢測模型。使用特征金字塔網(wǎng)絡(luò)[17]將僅由特征提取網(wǎng)絡(luò)最后一層生成的深層特征圖,改為由多層網(wǎng)絡(luò)融合生成具有豐富語義信息和細節(jié)信息的特征圖,以充分利用不同卷積層的優(yōu)勢。在精確感興趣區(qū)域池化[18]的基礎(chǔ)上,通過雙線性插值和二重積分的方式進行池化,從而避免Faster R_CNN 模型中感興趣區(qū)域池化中的2 次量化操作造成精度損失。
Faster R_CNN 的特征提取網(wǎng)絡(luò)僅使用具有最豐富語義信息的深層特征[19]。深層特征對于大目標的檢測很有效,但對于小目標的檢測效果不佳[20]。在對蘋果葉片病害圖像進行采集的過程中發(fā)現(xiàn),實際條件下的病害圖像中的病斑面積小,所包含的像素少,因此使用深層特征難以提取到豐富的語義信息。而對特征提取網(wǎng)絡(luò)而言,淺層特征包含更多的細節(jié)信息,能夠幫助目標準確定位,因此適用于小目標。因此,為提高模型對蘋果葉片病害的檢測精度,在Faster R_CNN 的特征提取網(wǎng)絡(luò)中引入特征金字塔網(wǎng)絡(luò)模塊,融合具有細節(jié)信息的淺層特征和具有豐富語義信息的深層特征,以達到提升模型檢測效果的目的。
特征金字塔網(wǎng)絡(luò)采用了自頂向下與橫向連接結(jié)構(gòu),充分利用不同卷積層,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。首先將深層特征通過2 倍上采樣使其與淺層特征大小統(tǒng)一,隨后將其與1×1 卷積之后的淺層特征橫向連接,使用1×1 卷積層的目的是為了減少特征圖個數(shù);最后在卷積特征進行橫向連接之后,通過1 個3×3 的卷積層來減少上采樣所帶來的混疊效應(yīng)。圖中{P2,P3,P4,P5,P6}為最終的特征金字塔,其中P6由P5進行2 倍下采樣得到,其錨點尺度為512×512。
圖1 特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of feature pyramid networks
融合后特征圖即可被后續(xù)候選區(qū)域網(wǎng)絡(luò)和Faster R_CNN 檢測網(wǎng)絡(luò)使用,候選區(qū)域網(wǎng)絡(luò)根據(jù)每一層金字塔對應(yīng)的錨點尺度{32×32,64×64,128×128,256×256,512×512},分別應(yīng)用3 種比例{1∶2,1∶1,2∶1},共產(chǎn)生15 種類型的錨點對蘋果病害葉片圖像中的病斑進行位置預測,得到目標候選框位置。在Faster R_CNN 檢測網(wǎng)絡(luò)進行池化操作之前,根據(jù)特征圖尺度的不同來選擇不同層級的金字塔層。映射公式如式(1)所示:
其中:w和h分別對應(yīng)候選框的寬和高;224 為預訓練數(shù)據(jù)集圖像大?。籯0為4;k對應(yīng)為特征金字塔網(wǎng)絡(luò)中的Pk層。
Faster R_CNN 在感興趣區(qū)域池化過程中存在2 次量化(即浮點數(shù)取整)操作,如圖2 所示。將候選區(qū)域網(wǎng)絡(luò)得到的感興趣區(qū)域坐標(分別為候選框左上角和右下角2 個點的4 個坐標值)映射到特征圖上。由于卷積神經(jīng)網(wǎng)絡(luò)的池化操作,特征圖的尺寸縮小為原圖的32 倍,在此過程中進行取整以消除計算產(chǎn)生的小數(shù);然后將每一個映射到特征圖上的感興趣區(qū)域均分成7×7 個區(qū)域,即進行7×7 的池化操作,此過程中還需進行量化操作,以此消除計算產(chǎn)生的小數(shù)。2 次量化操作給感興趣區(qū)域造成了像素偏差,這對于一般尺度的目標影響很小,但對于病斑尺度較小的蘋果葉片病害將造成嚴重的誤差。
圖2 兩次量化取整過程Fig.2 The process of twice quantization rounding
為消除感興趣區(qū)域池化中2 次量化操作對病斑較小的蘋果葉片病害造成的像素偏差,本文采用精確感興趣區(qū)域池化。首先對輸入的感興趣區(qū)域進行雙線性插值處理,將其離散的特征圖映射到一個連續(xù)空間中,映射公式如式(2)所示:
其中:wi,j為離散特征圖;f是經(jīng)過插值后連續(xù)的特征圖;IC(x,y,i,j)為插值系數(shù),如式(3)所示:
通過使用二重積分進行求均值完成池化操作,如式(4)所示:
PrROI Pooling 通過雙線性插值和二重積分徹底避免了感興趣區(qū)域池化中的量化操作,從而有效降低量化操作對蘋果葉片病害檢測帶來的精度損失。
蘋果葉片病害檢測模型如圖3 所示。
圖3 蘋果葉片病害檢測模型Fig.3 The detection model of apple leaf disease
檢測步驟如下:
1)提取蘋果葉片病害特征。通過特征金字塔網(wǎng)絡(luò)對含有蘋果葉片病害任意尺寸的圖像進行特征提取,將所得到的特征圖作為候選區(qū)域網(wǎng)絡(luò)和Faster R_CNN 目標檢測網(wǎng)絡(luò)的輸入。
2)生成蘋果葉片病害候選框信息。候選區(qū)域網(wǎng)絡(luò)以特征圖上每個像素點為中心,生成15 種不同尺寸錨點,再通過Softmax 分類器判斷錨點屬于前景還是背景,并通過錨點回歸得到高質(zhì)量的候選框,以預先找到蘋果葉片病害可能出現(xiàn)的位置。
3)確定蘋果葉片病害的位置和種類。Faster R_CNN檢測網(wǎng)絡(luò)融合特征圖與候選框信息,通過精確感興趣區(qū)域池化對融合信息進行長度固定的特征張量提取,并對提取的特征張量進行分類和位置回歸,以確定最終的蘋果葉片病害檢測框精確位置和病害種類。
本研究以5 種蘋果葉片病害為研究對象,分別為斑點落葉病、褐斑病、花葉病、灰斑病和銹病。數(shù)據(jù)集由Plant Village 中蘋果葉片的數(shù)據(jù)集和采集的圖像數(shù)據(jù)集組成。圖像采集工作于2018 年9 月在西北農(nóng)林科技大學白水蘋果試驗站、洛川蘋果試驗站和慶城蘋果試驗站中完成,采集設(shè)備為數(shù)碼相機(Canon EOS 40D)。圖像采集在晴天、陰天等不同自然光線下進行,模擬蘋果葉片生長可能的環(huán)境條件。本文采集的大部分圖像背景復雜,與實際應(yīng)用情況相同,如圖4 所示。
圖4 5 種蘋果葉片病害圖像Fig.4 The images of five apple leaf diseases
為避免圖像冗余,使用人工對靜態(tài)圖像進行篩選,從3 156 張采集圖像中篩選出2 029 張圖片。由于采集的原始圖像數(shù)量有限,因此無法滿足網(wǎng)絡(luò)訓練的要求。為減少模型過擬合,加強模型的穩(wěn)定性,對篩選后的圖像進行旋轉(zhuǎn)(旋轉(zhuǎn)角度分別是90o、180o和270o)、明亮度和對比度的變化,以擴充至原始數(shù)量的10 倍。數(shù)據(jù)集構(gòu)成如表1 所示。
表1 數(shù)據(jù)集Table 1 Dataset
由于Faster R_CNN 模型能自動從不同大小的圖像中提取特征,因此樣本圖像可以直接用于本文試驗方法的訓練與測試,不需要進行縮放等預處理操作。采用LabelImg 工具對數(shù)據(jù)集圖像中5 類蘋果葉片病害進行手工標注,以獲得每張圖像的標簽矩陣。
實驗環(huán)境配置如表2 所示。本研究模型使用預訓練的參數(shù)進行初始化,學習率的初始值為0.001,Epoch 為1 000,動量為0.9,迭代次數(shù)為90 000,每迭代一個Epoch 保存一次模型,最終選取精度最高的模型。模型的超參數(shù)學習率優(yōu)化采用熱身(Warm up)策略,即一開始使用較小的學習率,慢慢增大學習率[21-23]。該策略可以有效提高模型的檢測精度,使模型收斂速度加快。
表2 實驗環(huán)境配置Table 2 The configuration of experimental environment
將數(shù)據(jù)集按6∶2∶2 的比例劃分為訓練集、驗證集和測試集。使用12 030 張訓練集樣本對本研究提出模型進行訓練。模型訓練精度損失曲線如圖5 所示。由圖5 可知,隨著迭代次數(shù)的不斷增加,網(wǎng)絡(luò)模型的精度損失逐漸降低,當?shù)?0 000 次后,模型開始收斂到穩(wěn)定值,表明本研究提出的模型達到預期訓練效果。
圖5 訓練損失曲線Fig.5 Loss curves of training
為驗證本研究所提出的模型,采用浮點運算次數(shù)(Floating Point of Operations,F(xiàn)LOPs)[24]、平均處理時間與平均精度(Average Precision,AP)作為評價指標。平均處理時間能有效地評價模型識別速度,可作為模型實時性的評價標準,如式(5)所示:
平均精度與精確率(Pre)和召回率(Rec)有關(guān)。精確率和召回率的計算公式如式(6)和式(7)所示:
其中:Tp為被正確劃分為正樣本的數(shù)量;Fp為被錯誤劃分為正樣本的數(shù)量;FN為被錯誤劃分為負樣的數(shù)量。
根據(jù)上述公式繪制精確率-召回率曲線,曲線的橫軸召回率反映了模型對正樣本的覆蓋能力,縱軸精確率反映了模型的預測樣本的精確度。平均精度是對精確率-召回率曲線進行積分,積分公式如式(8)所示。平均精度體現(xiàn)模型檢測效果,其值越大,效果越好,反之越差。
此外,本文采用FLOPs,即浮點運算次數(shù),來衡量模型的復雜度。
為驗證本研究提出模型的有效性,選取YOLOv3[25]和Mask R_CNN[26]2 種模型,在其他條件和參數(shù)設(shè)置均保持一致的前提下,采用平均精度、平均精度均值(mean Average Precision,mAP)、平均處理時間、參數(shù)量和FLOPs 作為評價指標進行對比實驗。參數(shù)量和FLOPs 反應(yīng)了模型的空間復雜度和計算復雜度。
由表3 可知,從檢測精度來看,本模型對5 種病害的檢測精度均達到最高,其mAP 為82.48%,與YOLOv3和Mask R_CNN 相比,mAP 分別提升了14.12、5.06 個百分點。YOLOv3 模型的檢測精度最低,這是因為YOLOv3 模型沒有候選區(qū)域網(wǎng)絡(luò),其檢測流程為直接通過生成與特征圖大小相同的預測圖進行回歸分類,以得到目標檢測位置。雖然YOLOv3 模型同樣采用特征金字塔結(jié)構(gòu),但對于本實驗中蘋果葉片病害背景復雜、病斑較小的特點,不具有良好的適用性。Mask R_CNN模型在候選區(qū)域網(wǎng)絡(luò)采用ROI Align 代替ROI Pooling,避免了量化操作,但其仍存在區(qū)域劃分數(shù)量難以自適應(yīng)的問題,因此該模型的候選框位置仍存在極大的像素偏差。Mask R_CNN 模型對于斑點落葉病、褐斑病和灰斑病檢測精度較低,本研究提出的蘋果葉片病害檢測模型與其相比,在這3 類病害檢測中精度分別提升了7.19、6.86 和5.79 個百分點。
表3 不同模型的檢測性能對比Table 3 Comparison of detection performance of different models
從表3 中其他其余指標可知,YOLOv3 的平均處理時間最短,所提模型次之,Mask R_CNN 的平均處理時間最長。雖然YOLOv3 的平均處理時間最短,但無法保證預測的準確性,尤其是在對1 張圖像中含有多種病害的圖像檢測時,存在著大量漏檢情況。與此同時,YOLOv3 模型的參數(shù)量與FLOPs 最高,說明模型的空間復雜度和運算復雜度很高。所提模型在保證預測準確性的前提下,將平均處理時間控制在可接受的范圍內(nèi),確保了檢測的實時性。此外,所提模型的參數(shù)量和FLOPs 均為最低,在3 種模型中性能最優(yōu)。因此,綜合檢測精度、模型空間復雜度、時間復雜度和實時性等多方面考慮,所提模型可以更好地對5 種蘋果葉片病害進行檢測。
在目標檢測領(lǐng)域,將Faster R_CNN 中的VGG16 替換成殘差網(wǎng)絡(luò)(Residual Network,ResNet)可以提高模型性能[27]。為確定蘋果葉片病害檢測模型中ResNet的最佳層數(shù),選取ResNet18、ResNet50 和ResNet101 3 種結(jié)構(gòu),在其他條件和參數(shù)設(shè)置均保持一致的前提下,將5 種蘋果葉片病害的平均精度均值作為評價指標進行對比實驗,實驗結(jié)果如表4 所示。
表4 特征提取網(wǎng)絡(luò)比較Table 4 Comparison of feature extraction network
由表4 可知,ResNet101 的平均精度均值在3 種模型中最佳,其mAP 達到77.39%;ResNet50 次之,mAP 為76.47%;ResNet18 最差,mAP 為72.54%。值得注意的是,從ResNet18 到ResNet50,mAP 提升幅度最大,達到了3.93 個百分點;但從ResNet50 到ResNet101,在所需空間增加82.08 MB,網(wǎng)絡(luò)參數(shù)增加20.87×106的情況 下,mAP 提升幅 度較小,僅 為0.92 個百分點。這是因為雖然ResNet101 在銹病和花葉病的檢測精度提高,但對其他病害的檢測精度均無明顯變化。考慮后期該模型將移植于移動端,本研究選擇ResNet50 作為Faster R_CNN 蘋果葉片病害檢測模型的特征提取網(wǎng)絡(luò)。
為增強實驗結(jié)果的準確性,驗證本研究提出的改進點對于模型檢測性能的影響,將FPN 和PrROI Pooling 與Faster R_CNN 模型分別組合進行對比實驗,4 組模型如下:
1)模型1:Faster R_CNN。
2)模型2:Faster R_CNN+FPN。
3)模型3:Faster R_CNN+PrROI Pooling。
4)模型4:Faster R_CNN+FPN+PrROI Pooling。
由表5 可知,與模型1 相比,引入FPN 的模型2在除花葉病之外的4 種病害檢測精度均有顯提升,其中斑點落葉病、灰斑病和褐斑病檢測精度提升明顯,分別提升了9.25、9.19 和6.19 個百分點。這是因為這4 種病害葉片病斑較小,通過結(jié)合淺層特征與深層特征可以有效提高模型對其的檢測精度。模型2對于花葉病的檢測精度低于模型1,這是因為蘋果花葉病在葉片上往往呈現(xiàn)出大片病斑區(qū)域,只使用深層特征更有利于該病害的檢測。從檢測時間角度分析,模型2 的平均處理時間比模型1 減少了59 ms,這是因為加入FPN 模塊使原本的特征維度由1 024 維降至256 維。加入PrROI Pooling 的模型3 在5 種病害檢測精度上均有提升,這說明模型1 中ROI Pooling的2 次量化操作,使得候選區(qū)域網(wǎng)絡(luò)回歸生成的候選框位置與真實位置存在極大的像素偏差,從而造成模型檢測精度的下降。而實驗結(jié)果也充分證明PrROI Pooling 可彌補該精度損失。但由于PrROI Pooling 通過雙線性插值和二重積分以得到候選框的位置,比2 次量化操作更為復雜,因此模型3 的平均處理時間高于模型1。
表5 FPN 和PrPOI Pooling 模型對檢測精度的影響Table 5 The impact of FPN and PrPOI Pooling model on detection precision
對于同時加入FPN 和PrROI Pooling 的模型4,mAP 達到了82.48%,相比于模型1、模型2 和模型3分別提升了6.01、0.96 和2.88 個百分點。這說明本文所提模型4,結(jié)合了FPN 和PrROI Pooling 的優(yōu)勢,在縮短平均處理時間的同時,大幅提升了對5 種蘋果葉片病害的檢測精度。
本文提出一種基于Faster R_CNN 的蘋果葉片病害檢測模型,利用特征金字塔網(wǎng)絡(luò)提升模型的特征提取能力,使用PrROI Pooling 避免ROI Pooling 2 次量化操作對病斑較小的蘋果葉片病害造成嚴重檢測偏差。實驗結(jié)果表明,本文模型對5 種蘋果葉片病害檢測的平均精度均值達82.48%,在蘋果葉片病害檢測方面具有實用性。但在實際應(yīng)用中,僅能對5 種病害進行檢測遠遠不夠,下一步將采集更多種類蘋果葉片病害圖像,擴大模型可檢測病害種類的范圍。