李就好,林樂堅,田 凱,Al Aasmi Alaa
(華南農(nóng)業(yè)大學(xué)水利與土木工程學(xué)院,廣州 510642)
農(nóng)作物病害不僅影響作物品質(zhì),還影響其質(zhì)量與經(jīng)濟效益,是限制農(nóng)業(yè)生產(chǎn)發(fā)展的主要因素之一[1-2]。面對復(fù)雜多變的氣候與環(huán)境,苦瓜的病害更容易爆發(fā),如果不能得到及時治理,病原體依靠氣流,風(fēng)雨傳播,導(dǎo)致其他植株乃至整片菜地感染,嚴(yán)重時可對農(nóng)業(yè)生產(chǎn)者造成極大的經(jīng)濟損失[3]。根據(jù)中國農(nóng)業(yè)技術(shù)推廣服務(wù)中心對2019年中國農(nóng)作物重大病蟲害發(fā)生趨勢發(fā)出的預(yù)報,中國農(nóng)作物病蟲害總體呈現(xiàn)頻發(fā)、重發(fā)態(tài)勢,病蟲害發(fā)生將重于2018年,中國累計病蟲害發(fā)生面積約為3億hm2[4]。因此,如何快速準(zhǔn)確地進(jìn)行苦瓜病害的自動檢測,是保證了苦瓜豐收的重要基礎(chǔ),也是對其他作物的保護(hù)。
圖像識別分析中,目標(biāo)檢測任務(wù)是定位人們關(guān)注的目標(biāo)的位置及大小,學(xué)者對此也做了大量的研究和應(yīng)用。孫鈺等[5]結(jié)合 K-means算法和更快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster Region with Convolutional Neural Network Features,Faster R-CNN)對誘捕器內(nèi)紅脂大小蠹進(jìn)行目標(biāo)檢測,取得了93.5%以上的精確率;譚紅臣等[6]提出一種基于單次多框檢測器(Single Shot Multi-Box Detector, SSD)的特征增強算法(Feature Enhancement Single Shot Multi-Box Detector, FE-SSD),在PASCAL VOC2007數(shù)據(jù)集上的檢測精度達(dá) 78%;魏宏彬等[7]提出一種改進(jìn)型 YOLOV3算法,可對黃瓜、番茄、蘑菇等蔬菜進(jìn)行目標(biāo)檢測,平均精度達(dá) 93.2%;李丹等[8]基于掩碼區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Mask Region with Convolutional Neural Network Features,Mask R-CNN)算法提出對豬只及其爬跨行為的識別算法,在測試集上的準(zhǔn)確率為94.5%。在農(nóng)業(yè)上,閆建偉等[9]改進(jìn)Faster R-CNN算法中的感興趣區(qū)域池化方法,對11類刺梨果實進(jìn)行檢測,識別精度可達(dá)83.74%以上,為果實自動化采摘做出了貢獻(xiàn)。張樂等[10]提出了基于 Faster R-CNN的油菜雜草識別方法。目標(biāo)檢測廣泛應(yīng)用導(dǎo)航[11]、人臉識別[12]、行人檢測[13]、道路障礙檢物檢測[14]、果實檢測、雜草檢測等諸多領(lǐng)域,卻極少應(yīng)用于農(nóng)作物病害檢測。
基于圖像處理的病害識別研究一直是重要的課題。近年來,大多數(shù)研究人員把目光聚集在卷積神經(jīng)網(wǎng)絡(luò)上,楊晉丹等[15]利用卷積神經(jīng)網(wǎng)絡(luò)對草莓白粉病設(shè)計了一種病害識別模型,正確識別率達(dá)到98.61%,但并未在自然環(huán)境下進(jìn)行測試,且識別病害種類單一;馬浚誠等[16]利用了機器學(xué)習(xí)將黃瓜病害分割出來,再導(dǎo)入基于LeNet5[17]中訓(xùn)練,分類精確度最高可達(dá)98.4%。但在計算機視覺任務(wù)中,分割與分類具有很大的相似性,且分割難度更大,先分割再分類可能存在由于分割錯誤導(dǎo)致分類錯誤的風(fēng)險;Kamilaris等[18]總結(jié)了40篇關(guān)于深度學(xué)習(xí)在農(nóng)業(yè)上的應(yīng)用,總結(jié)了許多實用的方法,如圖像數(shù)據(jù)獲取、圖像預(yù)處理、數(shù)據(jù)增強、分類方法等,為后來的研究人員提供了寶貴的經(jīng)驗。上述文獻(xiàn)均利用卷積神經(jīng)網(wǎng)絡(luò)出色的學(xué)習(xí)能力和應(yīng)對環(huán)境的靈活性與適應(yīng)性,但多數(shù)應(yīng)用是對一張圖進(jìn)行分類,而不是對病變部分進(jìn)行定位和識別,實際上應(yīng)用于自然狀態(tài)下農(nóng)作物病害的目標(biāo)檢測研究甚少。
本研究基于Faster R-CNN對自然環(huán)境下苦瓜葉部病害識別的研究,致力于對葉部病斑區(qū)域的自動檢測,包括對苦瓜白粉病、灰斑病、蔓枯病和斑點病的定位與識別。為了節(jié)約計算成本與時間,利用預(yù)訓(xùn)練的ImageNet[19]深度網(wǎng)絡(luò)模型進(jìn)行遷移學(xué)習(xí),并針對小病斑識別能力低的情況相應(yīng)優(yōu)化了區(qū)域建議框的尺寸與數(shù)量,并在ResNet-50的基礎(chǔ)下結(jié)合特征金字塔網(wǎng)絡(luò)結(jié)構(gòu),結(jié)果顯示模型性能得到有效提高。通過對苦瓜葉部病害數(shù)據(jù)集的訓(xùn)練,最終得到一個融合特征金字塔網(wǎng)絡(luò)的Faster R-CNN苦瓜葉部病害識別模型,該模型擁有快速有效地識別自然環(huán)境下的苦瓜葉部病害的優(yōu)勢。
為了識別苦瓜葉部病害,需要采集相關(guān)圖像,以建立圖像數(shù)據(jù)集。本研究的苦瓜葉部病害圖像數(shù)據(jù)采集于廣東省廣州市南沙區(qū)東升農(nóng)場,采集時間段為2019年6月,在自然光下(時間段為9:00-12:00、14:00-17:00)對田間苦瓜葉片進(jìn)行多個方位拍攝。在自然光下更有利于拍攝作物病害的主要特征,如病害的紋理、顏色、形狀等,也更能貼切實際,適應(yīng)農(nóng)作物病害檢測。圖像采集設(shè)備為微型單鏡頭數(shù)碼相機,型號為 SONY DSC-HX400,圖像分辨率為5 184×3 888。采集的圖像樣本如圖1所示。
在訓(xùn)練深度學(xué)習(xí)模型時,訓(xùn)練數(shù)據(jù)越多、越全面,其識別能力越強,因此本研究采用多種數(shù)據(jù)增強方法[20]實現(xiàn)更復(fù)雜的數(shù)據(jù)描述,對田間采集的1 204張苦瓜葉部圖像隨機進(jìn)行逆時針90°、180°、270°旋轉(zhuǎn)[21],以及水平鏡像翻轉(zhuǎn)和垂直鏡像翻轉(zhuǎn)[22]處理,最后得到10 627張擴展圖像數(shù)據(jù)集,根據(jù)病斑情況對圖像進(jìn)行了分類,其分類情況如表 1所示,此方法使有限的圖像數(shù)據(jù)模型獲得具有魯棒性的模型,并增加模型的泛化能力。
表1 圖像數(shù)據(jù)集種類和數(shù)量Table 1 Category and quantity of image data sets
對擴展后的圖像數(shù)據(jù)集進(jìn)行標(biāo)注,以便訓(xùn)練檢測模型。本研究采用 Labelme圖像標(biāo)注工具對數(shù)據(jù)集中的目標(biāo)進(jìn)行標(biāo)注,標(biāo)注時對每一個病斑或健康葉片采用一個矩形框標(biāo)注,以確保矩形框的內(nèi)容盡可能單一,且每張圖像至少包含一個對像。
在總樣本中隨機選取90%(9 564張)圖像作為訓(xùn)練集,在訓(xùn)練集中隨機選取15%(1 435張)作為驗證集,對模型的參數(shù)進(jìn)行修正,在總樣本中隨機選取10%(1 063張)作為測試集,用于評估最終模型的泛化能力。訓(xùn)練集中健康的苦瓜葉片樣本數(shù)為3 067,苦瓜白粉病樣本數(shù)為3 001,苦瓜灰斑病樣本數(shù)為3 201,苦瓜蔓枯病樣本數(shù)為3 217,苦瓜斑點病樣本數(shù)為6 875。
建立目標(biāo)檢測模型的目的是將目標(biāo)物體進(jìn)行定位和識別。Faster R-CNN[23]則是目標(biāo)檢測領(lǐng)域中最流行的模型之一,被廣泛應(yīng)用于人體姿勢識別和目標(biāo)追蹤等方面,在相同的數(shù)據(jù)集上準(zhǔn)確率要高于其他檢測算法諸如YOLO、SSD等。原始的Faster R-CNN的網(wǎng)絡(luò)結(jié)構(gòu)包括特征提取網(wǎng)絡(luò)(Feature Extraction Network)、區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN)和區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region with Convolutional Neural Network Features,R-CNN)[24]3個部分(圖2)。
圖2 Faster R-CNN結(jié)構(gòu)框架圖Fig.2 Framework diagram of Faster R-CNN
Faster R-CNN 的特征提取網(wǎng)絡(luò)能夠自動提取圖像目標(biāo)特征,并將所得特征共享后續(xù)的RPN和R-CNN。目前,ResNet[25]、ZF-Net[26]、VGG-16[27]等卷積神經(jīng)網(wǎng)絡(luò)都具有很強的特征提取能力,因此,本研究選取ResNet-50卷積神經(jīng)網(wǎng)絡(luò)作為Faster R-CNN的特征提取網(wǎng)絡(luò),同時選取了ZF-Net、VGG-16兩個卷積神經(jīng)網(wǎng)絡(luò)作為本研究的對比試驗,以便對比分析不同特征提取網(wǎng)絡(luò)模型的性能。
Faster R-CNN 的區(qū)域建議網(wǎng)絡(luò)是一個全卷積神經(jīng)網(wǎng)絡(luò)。通過 RPN可輸出一系列目標(biāo)物體的分?jǐn)?shù)和對應(yīng)的區(qū)域建議框,用于判斷該區(qū)內(nèi)的目標(biāo)屬于前景或背景(圖3)。
圖3 區(qū)域建議網(wǎng)絡(luò)結(jié)構(gòu)框架圖Fig.3 Framework diagram of region proposal network
RPN總體的損失函數(shù)[23]如式(1)所示
式中L為RPN的損失;Lcls為分類層損失;Lreg為回歸層損失。
由此可見,RPN整體的損失可以分為分類層損失和回歸層損失,分類層損失函數(shù)與回歸層損失函數(shù)[28]如式(2)和式(3)所示
式中Ncls為分類樣本數(shù);Nreg為回歸樣本數(shù);pi為目標(biāo)的預(yù)測概率;為區(qū)域建議的判別值;ti為預(yù)測邊界框的坐標(biāo)向量;為真實邊界框的坐標(biāo)向量;i為第i個區(qū)域建議框;λ為權(quán)重參數(shù),令λ=10;smoothL1為平滑損失函數(shù)。
R-CNN連接在特征提取網(wǎng)絡(luò)之后,用于提取圖像的感興趣區(qū)域,進(jìn)而對目標(biāo)物體的坐標(biāo)信息進(jìn)行回歸修正,最終準(zhǔn)確實現(xiàn)苦瓜葉部病害的目標(biāo)識別。
已有Zhang等[13]在多尺度目標(biāo)檢測中,F(xiàn)aster R-CNN對小物體的檢測精度相對于較大目標(biāo)下降 10%左右。主要原因是小物體所在圖像的尺寸較小,經(jīng)過原始 Faster R-CNN生成高度集中的特征提取圖中,小物體的特征被高度卷積變成低分辨率的特征圖,甚至使得特征消失,這會給Faster R-CNN后續(xù)的分類器帶來極大的困難;其次,小物體的檢測還受背景的干擾,背景的顏色、形狀、紋理等與目標(biāo)的顏色、形狀、紋理等相似時對檢測也存在一定的阻礙,因此,有必要對Faster R-CNN的特征提取方式進(jìn)行改進(jìn),生成更多對小物體的多維度特征表達(dá),以便于分類器對其進(jìn)行定位與識別,提高識別精度。
在深度學(xué)習(xí)中,圖像在經(jīng)過多次的卷積與池化操作之后,小物體的特征會變得模糊且不易提取,甚至?xí)l(fā)生變形和丟失。Lin 等[29]在 2017年提出的特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)主要解決的是物體自動檢測中的多尺度問題,通過對原有網(wǎng)絡(luò)中不同層次的特征圖分別進(jìn)行預(yù)測與疊加連接(圖4)。實際上,每一層所提取的特征圖都擁有不同深度和不同強度的特征,通過融合不同深度的特征圖,并在新的特征圖上進(jìn)行物體檢測,這樣保證了小物體的特征不輕易被忽視掉從而提高了小目標(biāo)的檢測精度。同時,特征金字塔網(wǎng)絡(luò)只進(jìn)行了不同層次特征圖的連接,沒有修改原有網(wǎng)絡(luò)的參數(shù),在實際應(yīng)用中幾乎不增加額外的時間和計算量。
圖4 特征金字塔網(wǎng)絡(luò)簡圖Fig.4 Sketch of Feature pyramid networks
為了進(jìn)一步提高 Faster R-CNN對小病斑的檢測精度,本研究在ResNet-50的基礎(chǔ)上,融合了FPN(圖5),將各子網(wǎng)絡(luò)提取的特征圖自高層(P6)往底層(P2)疊加,在疊加后的特征圖再分別進(jìn)行一次區(qū)域建議框提取操作,然后輸入最后的R-CNN,進(jìn)而對目標(biāo)物體的坐標(biāo)信息進(jìn)行回歸修正,實現(xiàn)對圖像中的葉部病害的自動檢測。
圖5 融合特征金字塔網(wǎng)絡(luò)后的Faster R-CNN簡圖Fig.5 Diagram of Faster R-CNN combined with feature pyramid network
本次試驗操作平臺為臺式計算機,運行環(huán)境為Ubuntu 18.04,處理器為Intel Core i7-3750,主頻3.7GHz,8G運行內(nèi)存,1T機械硬盤,顯卡為NVIDIA GeForce GTX 1080Ti,運行顯存為11G,使用GPU加速計算,在Python編程語言下搭建Caffe深度學(xué)習(xí)框架。
試驗按表 2初始化模型參數(shù),特征提取網(wǎng)絡(luò)權(quán)重值利用了預(yù)訓(xùn)練好的ImageNet 分類模型的參數(shù),此方法可以大大的減少模型計算成本和計算時間,同時,采用近似聯(lián)合的訓(xùn)練方式,相比于交替訓(xùn)練在時間上減少大約25%~50%[23],且精確率相近。
表2 Faster R-CNN訓(xùn)練參數(shù)值設(shè)置Table 2 Setting of training parameter value for Faster R-CNN
本試驗采用不同的圖像特征提取網(wǎng)絡(luò)(ZF-Net、VGG-16、ResNet-50)對苦瓜葉部病害進(jìn)行目標(biāo)檢測。模型訓(xùn)練完成后使用平均精度(Average Precision,AP)作為本次試驗各個目標(biāo)檢測的評價指標(biāo),并將平均精度均值(Mean Average Precision,MAP)作為整個模型性能的評價指標(biāo),對比結(jié)果如表 3所示。結(jié)果表明,相較于其余2種特征提取網(wǎng)絡(luò),以ResNet-50為特征提取網(wǎng)絡(luò)的Faster R-CNN深度學(xué)習(xí)網(wǎng)絡(luò)表現(xiàn)出良好的性能,平均準(zhǔn)確率均值達(dá)到了78.85%,比ZF-Net和VGG-16分別多出11.11%和4.01%,然而在小病斑上的平均精度較低,最低僅有56.21(以ResNet-50為例)。其主要原因,一是在保證梯度傳遞穩(wěn)定下,深層神經(jīng)網(wǎng)絡(luò)模型的效果比淺層的神經(jīng)網(wǎng)絡(luò)好很多;二是灰斑病,斑點病的目標(biāo)尺度較小,而區(qū)域建議框尺度較大,冗余信息較多導(dǎo)致區(qū)域建議框的損失較大導(dǎo)致無法被檢測。
為了提升小病斑的目標(biāo)檢測,對原始 Faster R-CNN 的區(qū)域建議網(wǎng)絡(luò)進(jìn)行修改,增加 16×16、32×32、64×64三個邊框尺度,模型性能結(jié)果如表 3所示。通過對比可以發(fā)現(xiàn),在增加區(qū)域建議的尺度后,雖然健康葉片、蔓枯病的檢測精度有所下降,但并不影響整體檢測性能,而灰斑病,斑點病的平均精度相比于修改前上升了不少,以 ResNet-50為例,分別提高了10.54%和 3.55%,在平均精度均值上提高了 2.95%。因此,在增加區(qū)域建議框之后可以有效提高對小目標(biāo)的檢測,但提高的精度有限。
表3 不同特征提取網(wǎng)絡(luò)的模型結(jié)果對比Table 3 Comparison of model results of different feature extraction networks
殘差神經(jīng)網(wǎng)絡(luò) ResNet-50的識別性能比 ZF-Net和VGG-16更優(yōu)秀,故以ResNet-50為基礎(chǔ)融入了特征金字塔網(wǎng)絡(luò),利用特征金字塔網(wǎng)絡(luò)提取多層次特征生產(chǎn)區(qū)域建議框,由表 3可見,灰斑病、斑點病的平均精度再次有所提升,分別提高了16.56%和5.92%,整體的平均精度均值提高了4.59%。相比原始的Faster R-CNN模型(以ResNet-50為特征提取網(wǎng)絡(luò)),灰斑病、斑點病的平均精度分別提高了27.1%和9.47%,整體的平均精度均值提高了7.54%。在檢測時間上,隨著模型復(fù)雜性的增加,平均檢測時間會有所增加,在融入特征金字塔網(wǎng)絡(luò)的 Faster R-CNN對每幅圖像的檢測時間為0.322 s,雖然慢于之前的模型,但是也保持了實時性。
改進(jìn)的Faster R-CNN深度學(xué)習(xí)網(wǎng)絡(luò)能夠較好地進(jìn)行自動檢測研究目標(biāo),其識別結(jié)果如圖6所示。其中,有極少病斑由于模糊不清、或是過小而不能被模型檢測到,對小目標(biāo)的檢測仍有優(yōu)化的可能性。在光線較暗或明亮情況下,該識別模型對研究目標(biāo)也能夠檢測到,適合在復(fù)雜的田間環(huán)境中對苦瓜葉部病害進(jìn)行有效地檢測,能夠滿足苦瓜葉部病害自動化識別定位噴藥的要求。
圖6 融合特征金字塔網(wǎng)絡(luò)后的Faster R-CNN模型識別結(jié)果Fig.6 Faster R-CNN model recognition results combined with of feature pyramid networks
本研究以苦瓜健康葉片與葉片病害部位為研究對象,并且結(jié)合苦瓜葉部病害尺寸小的特點,對原始Faster R-CNN的區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN)進(jìn)行修改,增加了訓(xùn)練時區(qū)域建議框的尺寸,同時在ResNet-50的基礎(chǔ)上融入了特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks, FPN),使之更適合自然環(huán)境下的苦瓜葉部病害的自動檢測。
1)與ZF-Net、VGG-16對比可知,以ResNet-50為基礎(chǔ)的特征提取網(wǎng)絡(luò)的Faster R-CNN模型性能最佳。
2)在ResNet-50的基礎(chǔ)上結(jié)合特征金字塔網(wǎng)絡(luò)后,對小病斑的檢測精度提升最大,相比于原始的 Faster R-CNN模型,灰斑病的平均精度提升了27.1%,斑點病提升9.47%,每幅圖像的平均檢測時間僅為0.322 s,保持了實時性。
3)模型在實際應(yīng)用中表現(xiàn)優(yōu)良,能夠適應(yīng)復(fù)雜的自然環(huán)境,對于后續(xù)的瓜果類病害目標(biāo)定位及按需噴灑農(nóng)藥奠定了研究基礎(chǔ),減少化學(xué)農(nóng)藥的使用,具有保護(hù)農(nóng)田生態(tài)的重要意義。