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