摘" 要:在柑橘種植的過程中,黃龍病等病蟲害對柑橘有很大影響,嚴重影響柑橘的產量。該文基于YOLOv8模型,通過采集柑橘樹的葉片圖像,利用訓練的模型對葉片進行特征提取和分類,從而實現對柑橘病蟲害的自動化檢測識別。實驗結果表明,該模型對實際環境中的柑橘病蟲害圖片的識別準確率為94.9%,比傳統的CNN算法擁有更高的準確率,可以應用部署在實際生產中,有效地解決柑橘病蟲害識別問題,為柑橘病蟲害的防治提供有效的技術支持和解決思路。
關鍵詞:柑橘病蟲害;YOLOv8;缺陷識別;深度學習;智能檢測
中圖分類號:S436.66" " " 文獻標志碼:A" " " " " 文章編號:2096-9902(2023)15-0027-04
Abstract: In the process of citrus cultivation, diseases and pests such as Huanglong disease have a great impact on citrus, seriously affecting the yield of citrus. Based on the YOLOv8 model, this paper collects the leaf images of citrus trees, and uses the training model to extract and classify the leaves, so as to realize the automatic detection and recognition of citrus diseases and pests. The experimental results show that the recognition accuracy of the model for citrus diseases and pests in the actual environment is 94.9%, which is higher than the traditional CNN algorithm. It can be applied and deployed in actual production to effectively solve the problem of citrus pest identification, thereby provides effective technical support and solutions for the prevention and control of citrus diseases and pests.
Keywords: citrus diseases and pests; YOLOv8; defect identification; deep learning; smart detection
柑橘作為全球重要的經濟作物之一,其生長期間易受到多種病害蟲的危害,而傳統的防治方法往往需要大量的人力和物力成本,需要專業人員基于自身經驗,通過判斷植株葉片的癥狀來識別病蟲害,存在效率低下、準確度不高等問題[1]。在過去十年中,深度學習技術得到了飛速的發展,并在圖像處理、自然語言處理、語音識別等領域中取得了巨大的成功。近年來,缺陷檢測識別算法不斷進行革新,涌現出各種不同的檢測算法,檢測的準確度也在不斷地提高。現有算法主要是基于傳統計算機視覺和深度學習這兩種方法來構建。王道累等[2]基于SSD改進的熱斑缺陷檢測方法,將SSD骨干神經網絡更換為ResNet 101,解決了熱斑缺陷紅外圖像稀少的問題;銀霞等[3]利用卷積神經網絡,提高了檢測效率,增強了應用效果;安小松等[4]利用CNN-Transformer視覺算法設計了柑橘的分選系統,有著較好的識別性能。由于深度學習的優越性能,越來越多的學者開始將深度學習技術應用于農業領域中,如利用深度學習算法識別農作物病害、農田土壤理化性質等[5]。
因此,在現今信息化時代,結合深度學習技術進行柑橘病蟲害識別的研究不僅有助于解決實際問題,也可以促進智能農業技術的發展。本文研究與設計基于YOLOv8的柑橘病蟲害識別系統,針對柑橘病蟲害問題采用深度學習中的YOLOv8模型進行識別與分類,可以實現高效自動化的病蟲害檢測,提高檢測準確率,降低防治成本,并且能夠保證農產品的質量和安全,具有非常重要的應用前景和社會意義。
1" 數據集
本文數據集來自真實的柑橘葉片的圖片,圖片的分辨率各不相同,數據集共522張,數據標簽包含黃龍病、健康及其他疾病,葉片有黃龍病的特征共有695個,葉片健康的有526個,其他疾病的特征有550個。這個特征數量如果用于模型訓練,得到的模型性能較低,容易過擬合,為了提高模型的泛化性和準確性,需要對數據集進行數據增強處理。
本文采用python提供的imgaug的數據增強接口,通過輸入圖片產生新圖片的集合,組合不同的策略來改變圖片以達到擴充數據集的目標。提供的數據增強手段包括仿射變換、透視變換、對比度改變、高斯噪聲添加、色度飽和度變化、隨機裁剪及模糊處理等,根據不同的數據分布來產生隨機參數,支持均勻分布、高斯分布、beta分布。經過數據增強得到的新數據集共有3 132張,葉片有黃龍病的特征共有4 170個,葉片健康的有3 156個,其他疾病的特征有3 300個,大大豐富了數據集,為模型的有效訓練提供了基礎,表1為數據增強前后的對比結果。
2" 系統設計
本文系統設計的整個過程主要分為以下幾個方面。
1)數據讀取:將外部數據文件或數據庫中的數據讀取到計算機內存中,以便進行后續的數據預處理、分析、建模和可視化等操作。
2)數據增強:通過不同的策略來改變圖片的尺寸、大小、角度、亮度及飽和度等參數,以達到擴充數據集。
3)數據預處理:對提取的數據進行清洗處理,去掉拍攝效果不理想的圖片,同時使用Label-studio軟件對數據集進行標注。
4)構建與訓練模型:將數據集分為訓練集和測試集,構建YOLOv8模型用于識別柑橘病蟲害。
5)模型評估:通過mAP值、損失函數等多項指標評價模型的識別效果。
2.1" 模型概述
YOLO目標檢測算法是一種端到端的One-Stage目標檢測算法,其核心思想是將圖像按區域分塊進行預測。YOLO將輸入圖像按照32×32的大小劃分成若干個網格,例如416×416的圖像將被劃分為13×13個網格。當目標物體的中心位于某個網格內時,該網格就會負責輸出該物體的邊界框和類別置信度。每個網格可以預測多個邊界框和多個目標類別,這些邊界框和類別的數量可以根據需要進行設置。YOLO算法的輸出是一個特征圖,包含了每個網格對應的邊界框和類別置信度的信息[6]。本文采用YOLO最新的YOLOv8模型,其是2022年底發布的最新YOLO系列模型,采用全新的SOTA模型,全新的網絡主干結構,如圖1所示。
整個網絡分為Backbone骨干網絡部分和Head頭部網絡部分。YOLOv8汲取了前幾代網絡的優秀特性,骨干網絡和 Neck 部分遵循CSP的思想,將YOLOv5中的C3模塊被替換成了梯度流更豐富C2f模塊,去掉YOLOv5中PAN-FPN上采樣階段中的卷積結構,將Backbone不同階段輸出的特征直接送入了上采樣操作,模型提供了 N/S/M/L/X 尺度的不同大小模型,能夠滿足不同領域業界的需求。本文基于YOLOv8模型設計柑橘病蟲害識別系統,通過配置模型參數訓練柑橘葉片圖像,得到能夠用于部署應用的最優模型。
2.2" 模型評價
在對深度學習模型進行評價的過程中,可以使用準確率、精確率、召回率和F1值來評價模型
1)準確率(Accuracy)是分類正確的樣本數占總樣本數的比例,計算公式如式(1)所示
準確率=TP+TN/TP+TN+FP+FN 。(1)
2)精確率(Precision)表示預測為正例的樣本中,真正的正例所占的比例,計算公式如式(2)所示
精確率=TP/TP+FP 。 (2)
3)召回率(Recall)表示真正的正例中,被預測為正例的樣本所占的比例,計算公式如式(3)所示
召回率=TP/TP+FN。 (3)
4)F1值(F1 Score)是精確率和召回率的調和平均數,用于衡量一個分類器的整體性能。當精確率和召回率都高時,F1值也較高,計算公式如式(4)所示
F1值=2×精確率伊×召回率/精確率+召回率 。 (4)
綜上所述,準確率表示預測正確的結果占總樣本的百分比;精確率表示平均測定值與真實值相符合的程度,用于表示系統誤差的大小;召回率用于評價結果的質量,表示被正確分類的結果所占的比例;F1值是精確率和召回率的調和平均數
而除了上述的這些指標外,還可以使用IoU進行評價,其全稱為交并比(Intersection over Union),是目標檢測領域的常用參數,主要是計算“預測的邊框”和“真實的邊框”的交疊率,是衡量定位精確度的一種方法。
IoU=TP/FP+TP+FN, (5)
式中:TP表示預測為1,實際為1,預測正確,即真正例;FP表示預測為1,實際為0,預測錯誤,即假負例;FN表示預測為0,實際為1,預測錯誤,即真負例。
3" 結果與分析
通過配置模型的參數,在Ubuntu 18.04的操作系統環境下,使用NVIDIA GeForce RTX 2060 SUPER顯卡進行模型訓練,一共訓練了19個小時14分,訓練的結果如圖2所示。圖中橫坐標代表的是訓練輪數(epoch),從圖中可以看出,模型的訓練和驗證的損失率曲線都是隨著訓練次數的增加而逐漸降低的,尤其是在前面50輪下降速度的速率最快,越往后梯度越小,說明模型逐步趨于穩定;精度、召回率、mAP50和mAP50-95這4個指標則是相反,隨著訓練次數的增加不斷增加,最終趨于穩定,表明訓練數據是穩定正常的。
模型訓練結束后,整個指標結果如圖3所示,從圖中可以看出,模型的平均精度為0.952,平均召回率為0.884,mAP50的平均值為0.949,mAP50-95的平均值為0.804,而在這些指標中,一般都是采用mAP50作為YOLO模型的評價指標,因此訓練得到的模型準確率是0.949。HLB,health,ill這3個類別的mAP50的值分別為0.952、0.95、0.947,均能達到較好的準確結果,可以應用到實際的柑橘病蟲害檢測系統中,可以為后續柑橘病蟲害圖像識別提供參考價值。
4" 結束語
在柑橘種植的過程中,外界的各種有害因素會危害其健康生長,包括紅蜘蛛、瘡痂病、潰瘍病、潛葉蛾、炭疽病和黃龍病等,這些病蟲害對柑橘的損害會體現在葉片上,降低柑橘的產量以及果實品質,造成巨大經濟損失,直接損害人民的利益。本文在真實的柑橘葉片病蟲害數據集的基礎上,采用最新的YOLOv8模型構建病蟲害的特征檢測,經過對數據集的算法增強,同時設置YOLOv8模型的訓練參數,最終取得94.9%的準確率,通過模型部署能夠滿足實際生產的需求,實現柑橘病蟲害的實時智能檢測,代替傳統的人工識別方法,大大減輕人力,盡早發現盡早治療,助力鄉村振興。
參考文獻:
[1] 胡定一.基于深度學習的缺陷柑橘分類識別檢測方法研究[D].武漢:華中農業大學,2021.
[2] 王道累,李明山,姚勇,等.改進SSD的光伏組件熱斑缺陷檢測方法[J].太陽能學報,2023,44(4):420-425.
[3] 銀霞,葉紹澤.基于卷積神經網絡的嵌入式排水管道缺陷檢測系統[J].城市勘測,2023(2):178-182.
[4] 安小松,宋竹平,梁千月,等.基于CNN-Transformer的視覺缺陷柑橘分選方法[J].華中農業大學學報,2022,41(4):158-169.
[5] 劉慶琿.基于圖像的柑橘分級方法研究[D].北京:北京郵電大學,2020.
[6] 林文樹,張金生,何乃磊.基于改進YOLO v4的落葉松毛蟲侵害樹木實時檢測方法[J].農業機械學報,2023,54(4):304-312,393.