蘇 鴻,溫國泉,謝 瑋,韋 冪,王筱東
(1.數字廣西集團有限公司,廣西 南寧 530028;2.廣西農業科學院農業科技信息研究所,廣西 南寧 530007;3.廣西財經學院,廣西 南寧 530003;4.廣西慧云信息技術有限公司,廣西 南寧 530007)
【研究意義】廣西作為柑橘(Citrus)的原產地之一,具有天然的生產地域優勢,柑、橘、橙和柚等柑橘品種種植面積均較大,其中2018年種植面積超過40萬hm2,產量近700萬t,在全國省(區)中排名第一[1],形成了產前產中產后的全產業鏈。廣西柑橘種植主要分布于桂北、桂中、桂南及桂西南的石灰巖旱坡地區,季節性干旱及病蟲害制約著其產業規模的發展,尤其是黃龍病、紅蜘蛛和潰瘍病等的為害,導致柑橘生產成本居高不下,果品質量下降,嚴重影響柑橘種植的經濟效益[2]。雖然植物提取物作為一種新型植物源殺菌劑可為柑橘病蟲害的高效、綠色、環保防治提供無公害新選擇[3],但柑橘病蟲害種類繁多,技術人員匱乏,難以全部準確診斷,無法滿足防治需求。而采用攝像設備對柑橘枝葉和果實進行監控,通過機器學習算法和神經網絡對圖像進行識別,實現病癥自動分類和預警,改變傳統病蟲害防治方式,可更好地滿足廣大果農對柑橘病蟲害診斷與防治的需求。因此,研究基于區域卷積神經網絡(R-CNN)模型的廣西柑橘病蟲害識別方法,對提高柑橘重要病癥分類和病理檢測效率具有重要意義。【前人研究進展】基于調制熒光檢測、高光譜成像技術的柑橘黃龍病傳統診斷方法過程復雜,需要儀器對生物樣本進行檢測才能得出結果[4-5],耗費大量人力和時間,且對不同分類樹葉的識別準確率浮動較大。卞云超等[6]基于MapReduce的新聚類算法對柑橘紅蜘蛛圖像進行了單一目標病害識別;而后雖開始興起用機器學習方法如支持向量機算法(SVM)和神經網絡等開展識別研究,但僅以較初級的卷積神經網絡(最高為8層)對潰瘍病進行比較分析,識別效果有限[7]。國內外圖像處理和機器學習算法在農作物識別方面已有不少研究報道[4,8],但多數是基于通過圖像物體特征向量抽取,采用反向傳播(BP)網絡、SVM分類和k均值聚類(k-mean)算法開展研究[9-11]。BP和k-mean算法的應用效果一般,而SVM屬于二分類算法,是對多維度特征向量數據從高維度映射到低維度空間進行分類,通過對超平面線性方程的參數進行樣本訓練而求得最優分割超平面[12]。隨著近年來神經網絡的興起,通過R-CNN來識別和分類物體獲得了更高的準確率和精度[13]。【本研究切入點】目前,針對基于R-CNN模型的柑橘病蟲害識別方法提高廣西柑橘重要病癥分類和病理檢測效率的研究鮮見報道。【擬解決的關鍵問題】采用多層神經網絡對廣西不同種類柑橘病蟲害特征進行識別,分析其準確率和空間復雜度,為提高廣西柑橘重要病癥分類和病理檢測效率提供參考依據。
對目標進行分類和識別的傳統做法是對圖片進行預處理,例如轉化成灰度值圖片及進行濾波等。本研究為了更好地識別圖片中植物的病癥,未對圖片進行過多預處理,仍然保留圖片原來的像素顏色3通道,統一將圖片縮放至1000像素×1000像素,采樣圖像縮小后樹葉和柑橘果實的像素值一般在300×300~800×800,病癥的像素值(長×寬的像素矩陣)也盡量保持在合理范圍內。
由于果園里監控攝像機拍攝的照片會不同程度受到背景噪音影響,因此本研究在對病蟲害進行分辨分類時,首先對照片中的物體進行有效識別,以驗證可視的病理特征是否在相應的物體上。如果不是目標物體(果實和葉片),則將鑒別結果摒棄,以減少錯誤識別率。而采用SVM方法每次只能對單個物體進行識別和分類,無法將待識別目標與背景有效區分開,其他的卷積網絡模型或分類神經網絡模型如VGG(視覺幾何組網絡)模型[14]在分類識別上的平均準確率也不高,因此參考Ross等[15]的方法選擇R-CNN模型進行柑橘病蟲害特征分類和識別。
1.2.1 R-CNN模型結構 神經網絡選用R-CNN模型結構,其中主干網絡采用殘差神經網絡(ResNet),在主干網絡輸出特征圖后經過區域預測網絡(RPN),再經過全鏈接層網絡(FCN)得到輸出的預測、物體框選及分類結果[16-17]。本研究側重于檢測照片中果實和枝葉的病理特征,已將背景和其他物體過濾掉,不需要太多的神經網絡深度層級,以減少空間復雜度,因此主干網選用了33層ResNet網絡結構。
在ResNet主干網絡里,選用特征金字塔網絡(FPN)方法,將所有卷積層按先后順序分割成5塊向金字塔層級上面輸出的特征圖,然后與升維采樣(Upsample)中向下的金字塔鏈接,輸出每個層級不同尺度上特征值以預測物體。ResNet有2種卷積層(Block塊),一種是恒等映射塊(Identity block),輸入和輸出數據的維度一致,主要用來保證數據不會因為梯度爆炸而失真,以增強梯度的反向傳播;另一種是基本的卷積塊(Conv block),主要用來調整特征圖的大小并增加深度。一個ResNet的Identity block包含3個卷積層,每個卷積層均使用3×3卷積核(Filter conv)掃描(圖1),輸出向量維度和輸入向量維度一致,每個卷積層跟隨批量歸一化(BN)和激活函數(Relu)處理及一個跳躍連接(Shortcut),通過殘差函數加上跳躍連接(Shortcut)路徑上的值來保證F(x)殘差函數能根據輸入輸出相同向量,以不斷調整Identity block里的權值學習和偏移量參數。

圖1 卷積層恒等映射塊的層級網絡Fig.1 Convolution layer identity mapping block

圖2 柑橘病蟲害識別的神經網絡結構Fig.2 Neural network structure for citrus disease and pest identification
本研究的R-CNN模型主干網共有33層ResNet結構卷積層(圖2)。其中,普通卷積層(Conv)采用3層,Identity block采用10個塊(每個Identity block 有3個相同輸出維度的卷積層)。在Identity block里的第1個Conv用來調整主干網初始輸入向量維度,其他Conv插在Identity block中的層級之間用于控制輸出向量維度。R-CNN模型網絡結構與普通的Fast R-CNN模型網絡結構一致,從主干輸出再以FCN全卷積網絡代替全鏈接層,以減少輸出的通道和參數,比一般的ResNet101和ResNet50網絡結構少了很多層級,極大減少了計算復雜度。然后采用通用的9種比例錨選擇框(Anchor boxes)對主干網輸出的特征圖進行RPN[18]。假設有k種(k為自定義數量,對應不同長寬的錨選擇框,一般選擇k值為9,即9種錨選擇框,數值越大可檢測的精度越高)錨選擇框對應每個輸出特征圖的像素,最后在主干網絡后面FCN對應RPN里輸出的每個像素點,則有需要回歸的邊框包圍盒(使用邊框包圍盒的目的是進行回歸預測分類計算)4k和2k個。
1.2.2 網絡訓練損失函數計算 通過對目標物體位置檢測,在RPN層后的FCN層使用歸一化指數函數(Softmax)(Pi)分類器篩選后,用交叉熵來表示分類的損失函數。物體位置檢測的損失函數可用L2算法來回歸并計算RPN的物體檢測候選框回歸損失函數。為防止梯度爆炸,同時設置較小的學習率(Learning rate)或使用Adam算法來控制學習率[19],采用log函數來防止過快的梯度爆炸。
以網絡輸出預測值和物體真實值(Ground truth)進行以上損失函數計算,通過大量樣本對網絡進行訓練,最后得到能精確預測目標分類的網絡模型。
1.3.1 主干網模型復雜度分析和預測平均準確率比較 主干網選用33層ResNet網絡結構,通過計算處理,分別與ResNet101、VGG-19及非主干網模型SVM等其他機器學習方法作比較,分析各模型的復雜度;進一步計算分析各模型對柑橘黃龍病、紅蜘蛛感染和潰瘍病識別的預測準確率。
1.3.2 柑橘病蟲害的R-CNN模型識別率比較 取分辨率在1280像素以上的柑橘果實和葉片樣本數據500張,分別采用R-CNN模型與線性SVM和VGG-19模型進行訓練和標簽,進行柑橘黃龍病、紅蜘蛛感染和潰瘍病的識別率比較,找出對廣西柑橘黃龍病、紅蜘蛛感染和潰瘍病行之有效的鑒別方法。
在以往的神經網絡分類中,較大的樣本分布差異會影響類別分類,因此本研究主要對柑橘黃龍病、紅蜘蛛感染和潰瘍病進行識別。本研究采用的ResNet類型網絡只有33層卷積,相比ResNet101少了2/3的卷積層計算量,預測的平均準確率僅比其低3.10 %(絕對值,下同),而比VGG-19模型的準確度高8.60 %(表1)。ResNet101的神經網絡層級雖然較多,但其耗費的計算量也隨之增大,在相同計算處理能力下耗時更長,對長期監控野外的設備是個不小的負擔;而33層的ResNet作為主干網絡,雖然識別準確率降低3.10 %,但卷積層級計算量減少2/3;VGG-19模型對很多小型網絡有效,但是針對移動低功耗端設備的應用,33層ResNet的卷積層結構在柑橘病癥識別方面的準確率更高。

表1 主干網和非主干網模型的復雜度和預測平均準確率對比
訓練樣本數據有500張分辨率在1280像素以上的柑橘果實和葉片背景圖,每張圖片均能標簽10個以上需預測和分類的物體(圖3)。其中80 %用于神經網絡模型訓練,20 %用于神經網絡模型評估。本研究設計的模型在循環訓練時對樣本隨機抽取訓練樣本,盡量做到樣本分布能覆蓋所有情況(包括背景、光線和角度等),以避免同一階段重復取樣導致模型輸出過擬合。為了驗證神經網絡模型的性能,本研究選取其中500個樣本對柑橘黃龍病、紅蜘蛛感染和潰瘍病進行SVM分析,進行100次樣本循環訓練可得到93.10 %的平均準確率(表1),而使用R-CNN模型分析對黃龍病的識別平均準確率達95.20 %(表1)。
用線性SVM分別對柑橘黃龍病、紅蜘蛛感染和潰瘍病進行訓練和識別,損失函數用平方鉸鏈損失(Square hinge loss)測試識別結果與R-CNN模型識別結果進行比較,其正樣本率受試特征者(ROC)分別如圖4~圖6所示。從ROC圖可看出,R-CNN模型對黃龍病的識別真正率(識別準確率)為95.30 %,高于對紅蜘蛛感染的識別準確率(90.30 %),低于對潰瘍病的識別準確率(99.10 %),但均相應優于SVM對黃龍病、紅蜘蛛感染和潰瘍病的識別準確率(分別為93.20 %、88.20 %和95.20 %)。可見,在樣本一致和數量下同的條件下,33層ResNet的R-CNN模型對柑橘樣本病癥的識別準確率優于SVM。
在分類測試方面,以柑橘黃龍病、紅蜘蛛感染和潰瘍病病癥特征和背景的500個樣本圖片使用VGG-19模型和R-CNN模型的ResNet骨干網進行訓練和標簽,結果(表2)表明,R-CNN模型對各類別病癥的識別率均高于VGG-19模型相應病癥的識別率。

圖3 柑橘黃龍病、紅蜘蛛感染和潰瘍病的檢測Fig.3 Detection effect of citrus Huanglongbing,red spider mite infection and canker

圖4 R-CNN模型與線性SVM對柑橘黃龍病的識別檢測結果對比Fig.4 Comparison of R-CNN model and linear SVM for citrus Huanglongbing recognition and detection

圖5 R-CNN模型與線性SVM對柑橘紅蜘蛛感染的識別檢測結果對比Fig.5 Comparison of R-CNN model and linear SVM for citrus red spider mite infection recognition and detection
由表2可知,對R-CNN模型進行訓練后,對柑橘潰瘍病的平均識別準確率達99.12 %,比VGG-19模型提高4.25 %;柑橘黃龍病的病理特征比較明顯,因而比較好區分,R-CNN模型對黃龍病的平均識別準確率達95.31 %,比VGG-19模型提高2.55 %;對紅蜘蛛感染的預測,由于其葉片正面病理特征不明顯,在取樣時較難與正常的葉片區分,但其平均識別準確率仍達90.23 %,且比VGG-19模型提高4.62 %。說明本研究的R-CNN模型在較少神經元參數的情況下,可減少空間復雜度,對設備的利用成本較低,但能獲得較理想的柑橘葉片黃龍病、紅蜘蛛感染和潰瘍病識別效果,可實現在廣西柑橘果園大量部署和識別應用。

圖6 R-CNN模型與線性SVM對柑橘潰瘍病的識別檢測結果對比Fig.6 Comparison of R-CNN model and linear SVM for citrus canker recognition and detection
表2 主干網分類預測柑橘黃龍病、紅蜘蛛感染和潰瘍病的平均準確率和Top-1錯誤率對比(n=500)
Table 2 Comparisons of backbone network predicted average accuracy for citrus Huanglongbing,red spider mite infection and canker and top-1 error

模型Model分類Classification平均準確率(%)Average accuracy rateTop-1錯誤率(%)Top-1 error rateVGG-19黃龍病92.769.12紅蜘蛛感染85.61潰瘍病 94.87R-CNN黃龍病 95.316.85紅蜘蛛感染90.23潰瘍病 99.12
本研究使用R-CNN模型、設計主干33層卷積網絡對柑橘病蟲害進行識別分析,適宜南方柑橘果園環境和當地設備條件應用。比起其他研究中使用簡單卷積和使用傳統的圖像處理(濾波和圖像預處理),R-CNN模型能區分更多的柑橘葉片病理特征,且測試儀成本較低。與線性SVM相比,R-CNN模型對柑橘潰瘍病的平均識別準確率達99.10 %,對柑橘黃龍病的平均識別準確率達95.30 %,對柑橘紅蜘蛛感染的平均識別準確率達90.30 %;在分類測試方面,分類效果也優于VGG-19模型,對柑橘黃龍病的平均識別準確率達95.31 %,對柑橘紅蜘蛛感染的平均識別準確率達90.23 %,對柑橘潰瘍病的平均識別準確率達99.12 %,分別提高4.25 %、4.62 %和2.55 %。因此,本研究使用基于33層ResNet為主干網絡的R-CNN模型雖然選用的卷積層網絡較少,但獲得較高的平均識別準確率,是一種對柑橘黃龍病、紅蜘蛛感染和潰瘍病行之有效的鑒別方法,可在廣西柑橘果園大量部署應用。
近年來,CNN模型在作物病害防治領域的應用已逐漸興起。本研究中基于33層ResNet主干網的專用R-CNN模型對柑橘黃龍病、紅蜘蛛感染及潰瘍病的平均識別準確率分別達95.31 %、90.23 %和99.12 %,而徐冬[20]采用CNN的特征學習方法對大豆病害特征進行自動提取學習,并通過模型改進,使識別準確率迅速收斂至94.6 %,孫俊等[21]對傳統CNN模型進行改進得到8種模型,通過對14種不同植物的26類病害進行識別訓練篩選出最優模型,其測試平均識別準確率達99.56 %,表明基于CNN改進模型的病害識別準確率較理想,具有良好的應用潛力。
本研究發現,受紅蜘蛛感染的葉片由于病理特征不明顯,因此識別準確率相對較低,表明葉片病理特征是影響識別準確率的重要因素,與邱靖等[22]對水稻病害紋理特征的研究結果相似。值得注意的是,影響識別準確率的原因除圖像及網絡本身外還有樣本噪聲,因為在圖像監督式學習中,設置的圖像樣本實際標簽值與理論值相比不可能做到完全準確,致使訓練出現一定誤差。林中琦[23]研究認為,高質量、大數量、多類別的標簽數據集對于CNN性能提升意義重大,因此,在進一步的研究中還可將對抗性網絡模型或記憶類網絡模型融入進行半監督式訓練,以提升對柑橘病理特征的平均識別準確率,并擴展到對柑橘其他病癥如鋅和錳等微量元素缺失特征的共同識別,以極大減少訓練計算成本,提高柑橘生產的經濟效益。
R-CNN模型識別是一種對柑橘黃龍病、紅蜘蛛感染和潰瘍病行之有效的鑒別方法,可在廣西柑橘果園大量部署和應用。