












摘 要:為解決因害蟲尺度多樣性導致其識別度相對較低的問題,本研究提出了一種基于PP-YOLO(PaddlePaddle-You Only Look once)的農業病蟲害識別算法。選取2 359個病蟲害樣本數據集,按照9∶1的比例進行訓練集、測試集的劃分;選擇PP-YOLO模型進行病蟲害監測,并利用平均精度mAP(mean average precision)指標進行模型精度評價;探討PP-YOLO結合數據增強mixup、顏色扭曲法在病蟲害中小目標檢測上的適用性。結果表明,PP-YOLO模型在病蟲害中小目標檢測方面mAP達47.4%、26.5%;基于PP-YOLO模型結合數據增強mixup與顏色扭曲后在病蟲害中小目標檢測上mAP分別提升4.3%、2.9%。總之,PP-YOLO模型可有效檢測識別農作物害蟲,同時,數據增強mixup與顏色扭曲法可有效提升病蟲害的數據樣本指標。
關鍵詞:人工智能;病蟲害識別;PP-YOLO;數據增強;顏色扭曲法
中圖分類號:S43 文獻標志碼:A 文章編號:1008-1038(2024)05-0080-08
DOI:10.19590/j.cnki.1008-1038.2024.05.013
Recognition Algorithm of Agricultural Diseases and Insect Pests
Based on PP-YOLO
ZHANG Yong1, ZHAI Jincheng2, WANG Lixiao3, SONG Bingguo4, CHEN Lei5*
(1. Agriculture and Animal Husbandry Bureau of Helingeer County, Inner Mongolia Autonomous Region, Hohhot 011500, China; 2. Linyi Agriculture and Rural Bureau, Linyi 276000, China; 3. Linyi Fengbang Botanical Hospital Co., Ltd., Linyi 276000, China; 4. Shandong Qingguo Food Co., Ltd., Linyi 276000, China; 5. China Recycling Cloud Map Technology Co.,Ltd., Chongqing 400000, China)
Abstract: In order to solve the problem that the recognition degree of pests is relatively low due to the scale diversity of pests, this study proposed an agricultural pest identification algorithm based on PP-YOLO. A total of 2 359 sample data sets were selected, and the training set and test set were divided according to the ratio of 9∶1. The PP-YOLO model was selected for pest detection, and the model accuracy was evaluated by using map index. The small and medium-sized objectives of the method of PP-YOLO combined with the data enhancement mixup and color distortion were discussed applicability of detection. The map of the PP-YOLO model was 47.4% and 26.5% in the detection of small and medium-sized targets of diseases and insect pests. Based on the PP-YOLO model, the map was increased by 4.3% and 2.9% respectively after the combination of data enhancement mixup and color distortion. The PP-YOLO model proposed in this paper could effectively detect and identify crop pests. At the same time, data enhancement mixup and color distortion could effectively improve the data sample index of pests and diseases.
Keywords: Artificial intelligence; pest identification; PP-YOLO; data enhancement; color distortion
“國以民為本,民以食為天”,糧食安全問題事關國計民生和社會穩定,確保糧食安全是我國農業政策的基本目標之一。蟲害問題嚴重影響糧食產量和質量,精準化識別害蟲種類,可有效揭示蟲害災情規律,為科學防控病蟲害提供基礎。傳統蟲害檢測主要依賴種植戶經驗,或邀請農業專家、農技人員上門或遠程指導,該方式效率低、費用高、時效性差。
近年來,隨著計算機視覺技術的發展,病蟲害監測技術得到迅速發展,可將其分為以下4類:第1類是基于病蟲害的紋理、顏色、大小、形狀等特性,通過一定分類算法對病蟲害進行識別的一種方法[1-3]。這種方法雖在一定程度上提高了識別率,但存在特征表現力弱、手工提取量大、效率低、泛化性差等缺點。第2類首先基于深度學習提取特征,后利用支持向量機、隨機森林、決策樹等方法進行分類識別[4]。該方法嚴重依賴人為調參、調優,同時需要人為裁剪樣本中的病蟲害部分。第3類方法基于深度學習分類任務完成特征的提取與識別[5-9]。該方法雖識別率高,但無法精確定位害蟲位置,同樣需要人為裁剪樣本中的病蟲害部分。第4類方法基于深度學習的目標任務檢測,從而完成病蟲害的識別與定位。該方法精度較高,但目前在病蟲害識別檢測方面的研究還鮮有報告[10-12]。Ngugi等[13]總結了近年來在農作物病蟲害識別中的應用研究進展,提出了在傳統以及移動/嵌入式計算環境中的最適部署建議體系結構。張博等[14]提出了一種基于空間金字塔池化(spp)和改進的YOLOV3+深度卷積神經網絡的作物害蟲識別算法,該算法大大提高了害蟲檢測精度。陳天嬌等[15]基于大量病蟲害圖像數據,通過深度學習移動式病蟲害智能化感知設備和自動識別系統,構建了基于深度學習方法的病蟲害種類自動識別系統。佘顥等[16]利用金字塔FPN代替SSD原有的多尺度特征圖進行特征提取,同時使用TReLU提升識別速度,最終mAP達到了79.3%,FPS達到31.1,水稻害蟲檢測準確度得到明顯提升。陶震宇等學者[17]使用改進ResNet-50和Faster-RCNN算法進行花生害蟲檢測,同樣提升了花生害蟲檢測精度。這些研究雖在一定程度上提高了病蟲害識別精度,但并未明確多尺度下的各算法的表現情況,以及數據增強在病蟲害的表現。PP-YOLO作為一種目標檢測方法,具有較高的識別精度,在目標檢測領域具有廣泛的應用。但該方法尚未應用于農業領域,也尚未有研究討論其在病蟲害監測中的適用性。因此本文基于PP-YOLO算法,結合數據增強mixup、顏色扭曲方法,探討了PP-YOLO算法在多尺度下對中小目標病蟲害的檢測與適用情況。隨著智慧農業的到來,該技術應用前景十分廣闊。
1 研究方法
1.1 目標檢測算法
目標檢測是在分類時對物體進行定位,一般來說,目標檢測包括目標分類與目標定位。目標分類負責判斷輸入圖像或所選擇圖像區域是否有感興趣類別的物體出現,輸出每個標簽類別對應置信度,表示類別物體出現在輸入圖像或所選擇圖像區域中的概率。目標定位負責確定輸入圖像或所選擇圖像區域中感興趣類別的物體的位置和范圍,輸出物體的坐標位置及坐標位置的置信度。
目前主流的目標檢測算法主要是基于深度學習模型,可分成兩大類別:一是One-Stage目標檢測算法。這類檢測算法不需要Region Proposal階段,可通過一個Stage直接產生物體的類別概率和位置坐標值,較為典型的算法如SSD(Single Shot MultiBox Detector)、YOLO系列和CenterNet等;二是Two-Stage目標檢測算法。這類檢測算法將檢測問題劃分為兩個階段,第一階段產生候選區域(region proposals),包含目標大概的位置信息;第二階段對候選區域進行分類和位置精修,這類算法的典型代表有R-CNN、Fast R-CNN、Faster R-CNN等。目標檢測模型的主要性能指標是檢測準確度和速度,其中準確度主要考慮物體的定位以及分類準確度。一般情況下,Two-Stage算法更充分,在位置準確度上更有優勢,而One-Stage算法在速度上有優勢。
由于病害蟲研究場景主要為室外露天近距離監控攝像頭和室內溫室大棚攝像頭,相對于行人識別、車輛識別和動物識別,農業害蟲識別具有識別目標粒度小、準確率要求高且實時傳輸速度要求較高等特點。因此,本研究采用One-Stage檢測器,同時使用Anchor錨點和回歸框,對目標區域進行訓練和推理,該方法速度較Two-Stage檢測器快,且在YOLO系列的網絡結構改進中,可在保證模型預測速度的基礎上,提升位置檢測準確度。
1.2 PP-YOLO模型
本文采用PP-YOLO作為病蟲害監測模型。PP-YOLO由ResNet50-vd、FPN、yoloDetection、MulticlassNMS 四部分組成,如圖1所示。PP-YOLO具有速度快、精度較高(45.2%)等優點。
第一部分ResNet-vd由一個卷積層、最大池化層、4個殘差塊構成(圖2)。為提升檢測效果,本研究在最后一層c5中的最后一個殘差結構中,使用可變形卷積層替換原有的3×3的卷積。可變形卷積模塊基于平行網絡學習offset(偏移),使得卷積核在input feature map的采樣點發生偏移,從而集中于感興趣的區域或者目標。適當的可變形卷積雖可增加網絡計算時間和網絡復雜度,但無法大幅度提升性能。標準卷積中的規則格點采樣是導致網絡難以適應幾何形變的重要原因[21],為削弱這個限制,本研究在卷積核中每個采樣點的位置上都增加了一個偏移變量,從而達到在當前位置附近的隨意采樣,且不局限于之前的規則格點。
ResNet-vd后跟著特征金字塔結構FPN(feature pyramid network)。監測目標蟲害目標小且位置較為隱蔽,FPN可將深層和淺層的特征圖連接起來,將深層的信息傳遞到淺層,解決了CNN由淺到深,語義信息越來越豐富,但特征圖越來越小、分辨率越來越低的問題,提升檢測小目標時的性能。ResNet-vd網絡中的最后3層殘差塊的輸出作為FPN的輸入,提取特征層輸入原始圖像尺寸608×608的大小,本研究只需最后3層(C3、C4、C5)特征即可,即得到3個不同尺寸(76×76×512、38×38×1 024、19×19×2 048)維度的殘差塊。
yoloDetection檢測層根據輸入特征76×76×512、38×38×1 024、19×19×2 048,從這3個檢測尺度上運用回歸分析,輸出圖像數據的多個滑動窗口位置及該窗口中檢測到的目標類別,同時設置多個錨點框以檢測目標,檢測目標完成后引入非極大值抑制multiclass_nms,剔除重復冗余的檢測框,保證每個目標均有唯一的檢測框,使檢測目標位置信息更為準確,置信度更高。
1.3 模型評價方法
本文采用平均精度mAP(mean average precision)作為模型檢測精度的評價指標,AP(average precision)作為每一類別的檢測精度的評價指標[18-19]。mAP的計算分為6步。
1.3.1 計算IOU
IOU等于預測區域面積SA與真實標注區域面積SB的并集與交集之比,這里的并集指SA與SB面積之和減去SA與SB區域重疊面積,其計算方法如公式(1)所示。
IOU=(1)
1.3.2 計算TP、FP、FN
TP(被判定為正樣本,實際也是正樣本)、FP(被判定為正樣本,實際是負樣本)、FN(被判定為負樣本,實際也是負樣本)可根據IOU判定其為正樣本還是負樣本,且置信度一般為0.7。
1.3.3 計算精確率
精確率計算公式如公式(2)所示。
P/%=(2)
式中,P為在被所有預測為正的樣本中實際為正樣本的概率,%;TP為正確分類的正樣本數;FP為被錯誤地標記為正樣本的負樣本數。
R/%=(3)
式中,R在實際為正的樣本中被預測為正樣本的概率,%;TP為正確分類的正樣本數;FN為被錯誤地標記為負樣本的正樣本數。
1.3.4 計算召回率
(1)計算AP。AP指類別下的PR曲線面積。COCO格式數據中計算AP采用的是101個插值點(插值AP法),101個點是在Recall坐標軸每隔0.01的間距取值得到。AP計算方法如公式4所示。
AP/%=Pi(Ri-Ri-1)(4)
式中,Pi為第i個點下精確率的值,Ri為第i個點下召回率的值,Ri-1為第i-1個點下召回率的值。
(2)計算mAP。mAP是AP平均后的值,其計算方法如公式(5)所示。
mAP/%=×100(5)
式中,C為類別數量,為第i類害蟲的AP。
1.4 實驗過程
本次實驗操作系統采用Ubuntu 16,CPU為主頻為16核、4.2GHz的英特爾酷睿i7 7700k處理器,內存為32 GB,顯卡為GeForce GTX 1080 Ti,深度學習框架為 paddlepaddle-gpu=1.8.3.post107。
2 數據集構建
2.1 數據集介紹
本研究所采用的數據集均來源于互聯網,共2 359張病害蟲數據樣本,包括玉米、水稻、農田中的病蟲害。大部分樣本數據均屬于近距離視角,也有部分為遠距離視角,具體樣本描述如表1所示。將所有樣本按9∶1的比例劃分訓練集與測試集,即2 124張圖片參與訓練,235張圖片進行測試。部分數據集樣本如圖3所示。
2.2 數據預處理
為消除原始數據樣本中分布相差較大的特征對模型具有相同權重的影響,本研究采用零均值規范化方法對數據進行預處理,使所有特征滿足均值為0、標準差為1的正態分布。計算方法如公式(6)所示。
f(x)=(6)
式中,X為縮放到[0,1]區間的數據樣本,為均值=[0.485,0.456,0.406],為標準差=[0.229,0.224,0.225]。經預處理后R通道數據統一到[-2.117 903 93,2.248 908 3],G通道數據統一到[-2.035 714 29,2.428 571 43],B通道數據統一到[-1.804 444 44,2.64]。
標準化后的數據可以讓不同維度的特征在數值上是可比的,其得出的參數值大小可表示不同特征對樣本label的貢獻度,大大提高分類器的準確性。
2.3 模型訓練
為驗證PP-YOLO、YOLOV3在病蟲害數據上的有效性,進行第一個實驗。(1)為加快訓練過程使用fine-tune方法。(2)數據增強依次使用mixup、顏色扭曲、隨機填充、隨機裁剪、隨機水平翻轉。(3)數據預處理先將圖像尺寸大小縮放至[256,288,320,352,384,416,448, 480,512,544,576,608]中任意一種,然后將顏色值縮放至[0,1]區間,使用零均值規范化使其處理的數據均值為0,標準差為1。(4)超參數nms最大返回個數設置100,前面單張圖片最多目標個數99;學習率設置0.000 1;Batch_size批處理大小設置為8;采用權重衰減策略,Momentum優化器;迭代次數85 000;每間隔5 000次迭代保存一次模型。(5)在保存的所有模型使用測試數據集樣本進行mAP測試,最終選取最高的mAP與公開數值比較。分別對比PP-YOLO、YOLOV3在COCO數據集上公開的mAP指標。
為探討數據增強在病蟲害數據集上的表現情況,本文在第一個實驗的基礎上進行第二個實驗,即比較PP-YOLO模型在病蟲害數據集上mixup、顏色扭曲數據的增強性能。(1)為加快訓練過程使用fine-tune方法。(2)數據增強依次使用隨機填充、隨機裁剪、隨機水平翻轉。(3)數據預處理先將圖像尺寸大小縮放至[256,288,320,352,384,416,448,480,512,544,576,608]中任意一種,然后將顏色值縮放至[0,1]區間,最好使用零均值規范化使其處理的數據均值為0,標準差為1。(4)超參數nms最大返回個數設置100,前面單張圖片最多目標個數99;學習率設置0.000 1;Batch_size 批處理大小設置為8;采用權重衰減策略,Momentum優化器;迭代次數85 000;每間隔5 000次迭代保存一次模型。(5)在保存的所有模型使用測試數據集樣本進行mAP測試,最終選取最高mAP與實驗一數值比較。分別對比實驗一中PP-YOLO、YOLOV3模型在測試數據集樣本上mAP指標。
在實驗一中發現Anchor錨點坐標使用[10,13],[16,30],[33,23],[30,61],[62,45],[59,119],[116,90],[156,198],[373,326],比使用k-means算法在病蟲害數據集上計算出來的Anchor錨點[21,30],[63,76],[82,171],[105,414],[174,229],[232,99],[277,397],[399,213],[475,454]效果好。
3 結果與分析
3.1 訓練損失結果
實驗一前1 000次訓練損失結果,使用fine-tune方法訓練損失快速收斂,然后平穩下降,最終PP-YOLO下降至6.59左右,YOLOV3下降至6.25左右。從損失情況來看,YOLOV3效果比PP-YOLO稍好。
圖4為實驗一和實驗二的PR曲線。可以看出,實驗一PP-YOLO模型精度較實驗一YOLOV3、實驗二PP-YOLO精度高,實驗一YOLOV3與實驗二PP-YOLO精度相差不大。
為驗證PP-YOLO模型在病蟲害監測中的適用性,計算實驗一中PP-YOLO模型在測試集數據樣本上的mAP指標(表2)。
可以看出,實驗一PP-YOLO模型在COCO數據集、病蟲害數據集上mAPS相差0.2%,mAPM相差0.4%。mAP、mAP50、mAP75、mAPL指標在病蟲害數據樣本中顯得較大,這可能由于大目標數據樣本比重過大造成的,而在真實視頻監控或者無人機拍攝場景下,大目標占比相對較小,中小目標占比較大,故無需考慮大目標mAP指標。因此,總體來說,實驗一的PP-YOLO模型應用至病蟲害數據集效果相對較好。
3.2 評價指標
為驗證數據增強在病蟲害數據樣本上效果,計算實驗一與實驗二在測試集數據樣本上的mAP指標(表3)。
由表3可知,在中小目標檢測中,當未使用mixup與顏色扭曲時,實驗二PP-YOLO網絡中小目標檢測mAP(41.6%、20.6%)比實驗一(YOLOV3 mAP 43.1%、23.6%)低,整個實驗中PP-YOLO網絡AR值均比YOLOV3值高;當使用顏色扭曲與mixup時,實驗一PP-YOLO網絡mAP比實驗二YOLOV3高,AR也比實驗一YOLOV3高。所以使用數據增強mixup與顏色扭曲可以有效提升病蟲害數據樣本指標,在中小目標檢測mAP分別提升4.3%、2.9%,AR分別提升6.6%、6.0%。檢測效果如圖5所示。
由上述分析mAP可知,中小目標的檢測效果稍差,為此進行如下操作分析:一是使用實驗一中PP-YOLO性能最好模型將所有訓練集數據樣本識別;二是篩選未檢測出來結果、檢測結果極差的數據樣本;三是統計篩選出來的圖像每張個數及寬高度;四是以每張個數為y軸,最大寬高度為x軸形成散點圖輔助分析。
3.3 訓練集檢測失敗分析
圖6為訓練集檢測失敗樣本圖。由圖6可以看出,未檢測出結果的病蟲害樣本,大部分集中在x軸小于400 px或者y軸大于3個目標區間。從圖片上看是一種小而密集的病蟲害(圖7)。
4 結論
為解決因害蟲尺度多樣性導致其識別度相對較低的問題,本文建立了一種基于PP-YOLO的有效檢測識別農作物害蟲的算法,實驗表明該算法可有效檢測識別中小目標害蟲,模型mAP達到56.0%,中小目標檢測mAP達47.4%、26.5%。基于PP-YOLO結合數據增強mixup、顏色扭曲方法進行改進,與YOLOV3相比在識別,準確率提升了6.4%。數據增強mixup與顏色扭曲在中小目標檢測mAP分別提升4.3%、2.9%,可有效提升病蟲害數據樣本指標。本研究從預測效果上進一步分析病蟲害監測效果差的誘因,為相關研究數據樣本的收集與整理提供參考與借鑒。
參考文獻:
[1] 蘇博妮. 基于圖像處理的水稻病蟲害識別技術[J]. 信息技術與信息化, 2018, 58(5): 96-98.
[2] 宗精學, 楊余旺, 趙煒, 等. 基于圖像分析的病蟲識別研究[J]. 科學技術與工程, 2014, 14(19): 194-200.
[3] 程魯玉, 孟小艷, 達新民. 基于SVM算法的林果害蟲圖像識別[J]. 信息通信, 2017,23(12): 57-58.
[4] 安強強, 張峰, 李趙興, 等. 基于深度學習的植物病蟲害圖像識別[J]. 農業工程, 2018, 8(7): 48-50.
[5] 鐘城, 沈濤, 張婧祎, 等. 基于深度學習航拍圖像識別的農作物病蟲害研究[J]. 信息與電腦, 2020, 32(3): 104-105, 108.
[6] 路陽, 郭丹, 沈賀, 等. 基于深度學習的水稻葉部病害識別方法研究[J]. 信息記錄材料, 2018, 19(12): 183-185.
[7] 譚云蘭, 歐陽春娟, 李龍, 等. 基于深度卷積神經網絡的水稻病害圖像識別研究[J]. 井岡山大學學報(自然科學版), 2019, 40(2): 38-45.
[8] THENMOZHI K, REDDY U S. Crop pest classification based on deep convolutional neural network and transfer learning[J]. Computers and Electronics in Agriculture, 2019, 164: 104906.
[9] 程曦, 吳云志, 張友華, 等. 基于深度卷積神經網絡的儲糧害蟲圖像識別[J]. 中國農學通報, 2018, 34(1): 154-158.
[10] "易詩, 沈練, 周思堯, 等. 基于增強型Tiny-YOLOV3模型的野雞識別方法[J]. 農業工程學報, 2020, 36(13): 7-15.
[11] "李善軍, 胡定一, 高淑敏, 等. 基于改進SSD的柑橘實時分類檢測[J]. 農業工程學報, 2019, 35(24): 307-314.
[12] "LI S J, HU D Y, GAO S M, et al. Real-time classification and detection of citrus based on improved single short multibox detecter[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(24): 307-314.
[13] "NGUGI L C, ABELWAHAB M, ABO-ZAHHAD M. Recent advances in Image processing techniques for automated leaf pest and disease recognition-a review[J]. Information Processing in Agriculture, 2021, 8(1): 27-51.
[14] "張博, 張苗輝, 陳運忠. 基于空間金字塔池化和深度卷積神經網絡的作物害蟲識別[J]. 農業工程學報, 2019, 35(19): 209-215.
[15] "陳天嬌, 曾娟, 謝成軍, 等. 基于深度學習的病蟲害智能化識別系統[J]. 中國植保導刊, 2019, 39(4): 28-36.
[16] "佘顥, 吳伶, 單魯泉. 基于SSD網絡模型改進的水稻害蟲識別方法[J]. 鄭州大學學報(理學版), 2020, 52(3): 49-54.
[17] "陶震宇, 孫素芬, 羅長壽. 基于Faster-RCNN的花生害蟲圖像識別研究[J]. 江蘇農業科學, 2019, 47(12): 247-250.
[18] "LONG X, DENG K, WANG G, et al. PP-YOLO: An effective and efficient implementation of object detector[J]. arXiv preprint arXiv, 2020, 2007: 12099.
[19] "REDMON J, FARHADI A. YOLOv3: An incremental improvement[J]. arXiv preprint arXiv, 2018, 1804: 02767.
收稿日期:2024-01-26
基金項目:重慶市自然科學基金(cstc2020jcyj-msxmX0841);國家重點研發計劃(2018 YFC1505501)
第一作者簡介:張勇(1969—),男,農藝師,主要從事植物保護工作
*通信作者簡介:陳雷(1995—),男,博士,主要從事深度學習、圖像識別技術應用等研究工作