彭懷鋒 許鎖鵬
摘要:病蟲害對(duì)穩(wěn)定糧食產(chǎn)量、增加油料自給率等方面造成了嚴(yán)重威脅,需要引起廣泛關(guān)注和高度重視。早期病蟲害精準(zhǔn)識(shí)別是預(yù)警和防控的關(guān)鍵,長(zhǎng)期以來,對(duì)大多數(shù)傳統(tǒng)農(nóng)作物的蟲害識(shí)別主要依賴于人工檢測(cè)。文章為提升農(nóng)作物病蟲害檢測(cè)的準(zhǔn)確性與效率,設(shè)計(jì)了一種基于YOLOv5的農(nóng)林害蟲檢測(cè)系統(tǒng)。該系統(tǒng)采用深度學(xué)習(xí)實(shí)現(xiàn)農(nóng)林蟲害檢測(cè),具有可視化界面,方便使用者操作,并可對(duì)農(nóng)林中檢測(cè)出的蟲害給出提示和警報(bào)。
關(guān)鍵詞:YOLOv5;蟲害檢測(cè);模型;預(yù)警
中圖分類號(hào):TP29? 文獻(xiàn)標(biāo)志碼:A
0 引言
傳統(tǒng)的害蟲檢測(cè)識(shí)別主要是通過田間調(diào)查法和物理誘捕法。田間調(diào)查法主要是依靠人工走訪判斷,由相關(guān)的專業(yè)人員到蟲害現(xiàn)場(chǎng)進(jìn)行害蟲取樣,并對(duì)其進(jìn)行分析,從而得出水稻的蟲害類別及其危害情況。物理誘捕法則是通過提前在農(nóng)林中布防相關(guān)的誘捕器,使用這些誘捕器收集的害蟲樣本,進(jìn)行分析。這2種方法的使用都需要大量的人力和物力,且方法的準(zhǔn)確率低、主觀性強(qiáng),難以滿足當(dāng)前農(nóng)作物健康生長(zhǎng)的需要。
農(nóng)作物產(chǎn)量和質(zhì)量的穩(wěn)定受到蟲害問題的嚴(yán)重威脅。確保有效防治蟲害的首要任務(wù)是對(duì)蟲害的高效、準(zhǔn)確識(shí)別與定位[1],因此,開展半自動(dòng)或全自動(dòng)大規(guī)模病蟲害精準(zhǔn)識(shí)別研究與應(yīng)用尤為重要。隨著人工智能技術(shù)的不斷進(jìn)步,深度學(xué)習(xí)在蟲害檢測(cè)與定位領(lǐng)域的應(yīng)用日益受到學(xué)者們的關(guān)注。深度學(xué)習(xí)技術(shù)通過提取圖像特征,結(jié)合可視化方法,實(shí)現(xiàn)了對(duì)目標(biāo)對(duì)象的精準(zhǔn)識(shí)別與定位[2]。目前,以 Faster-RCNN[3]為代表的Two-Stage目標(biāo)檢測(cè)方法和以YOLO系列為代表的 One-Stage目標(biāo)檢測(cè)方法,在目標(biāo)檢測(cè)識(shí)別領(lǐng)域均得到了廣泛應(yīng)用,為提高農(nóng)林蟲害識(shí)別的準(zhǔn)確性和效率提供了有力支持。為了提高農(nóng)作物病蟲害檢測(cè)的精確度和效率,本文深入探討了基于YOLOv5技術(shù)的農(nóng)林害蟲檢測(cè)系統(tǒng)。該系統(tǒng)配備了直觀的用戶界面,旨在簡(jiǎn)化操作流程,使得使用者能夠便捷地運(yùn)用,從而輔助農(nóng)戶采取相應(yīng)措施。
1 系統(tǒng)整體設(shè)計(jì)
軟件系統(tǒng)的整體設(shè)計(jì)方案如下:首先,對(duì)設(shè)計(jì)過程中涉及的關(guān)鍵技術(shù)進(jìn)行剖析;其次,針對(duì)目標(biāo)用戶群體的具體需求,詳盡分析各項(xiàng)功能要求;最后,確定軟件設(shè)計(jì)的整體邏輯與思路。
1.1 技術(shù)分析
該檢測(cè)系統(tǒng)以Python語言為核心進(jìn)行構(gòu)建,并采用PyTorch框架進(jìn)行模型的訓(xùn)練。PyTorch框架憑借靈活性、穩(wěn)定性和高效性,顯著提升了系統(tǒng)的開發(fā)效率和性能穩(wěn)定性。在模型選擇方面,本文采用YOLOv5模型。YOLOv5模型檢測(cè)精度高,所占存儲(chǔ)空間小,僅占用27 MB的存儲(chǔ)空間[4]。作為一款One-Stage類模型,YOLOv5的運(yùn)行速度迅捷,并支持在GPU上運(yùn)行,從而大幅縮減了訓(xùn)練時(shí)間。為了方便用戶操作,該系統(tǒng)采用了PyQt5模塊設(shè)計(jì)圖像用戶界面。PyQt5是一組由Python編寫的模塊,作為一個(gè)跨平臺(tái)工具集,能夠在多種主流操作系統(tǒng)上運(yùn)行[5]。
1.2 功能需求
該系統(tǒng)主要用于農(nóng)林,其用戶為管理人員和普通用戶,因此,該系統(tǒng)需要有以下功能:實(shí)現(xiàn)對(duì)視頻進(jìn)行檢測(cè)和實(shí)時(shí)監(jiān)測(cè);對(duì)發(fā)現(xiàn)的蟲害做出提示;對(duì)視頻的分析和檢測(cè)速度應(yīng)該盡可能快,減少延遲;系統(tǒng)界面應(yīng)該簡(jiǎn)潔直觀,方便使用者操作[6]。
1.3 視頻檢測(cè)設(shè)計(jì)
首先,啟動(dòng)軟件運(yùn)行程序。該程序?qū)⒄{(diào)用設(shè)備的攝像頭功能,以獲取實(shí)時(shí)的視頻流數(shù)據(jù)。其次,程序?qū)?duì)獲取的視頻流進(jìn)行判斷,確認(rèn)是否存在有效的視頻輸入[7]。若視頻流正常,程序?qū)⑦M(jìn)一步對(duì)視頻流中的每一幀圖像進(jìn)行讀取和識(shí)別處理。在此過程中,若識(shí)別到任何蟲害跡象,系統(tǒng)將立即發(fā)出報(bào)警提示,同時(shí)繼續(xù)捕獲并處理后續(xù)的實(shí)時(shí)視頻流數(shù)據(jù)。然而,若系統(tǒng)無法檢測(cè)到有效的視頻流,則將自動(dòng)退出檢測(cè)程序。視頻流檢測(cè)流程如圖1所示。
2 模型的訓(xùn)練
2.1 數(shù)據(jù)獲取
在數(shù)據(jù)獲取階段,數(shù)據(jù)集是從Roboflow[8]上的universe中收集的,總共有4200張圖片。其中,類別標(biāo)號(hào)1~12為longicorn(天牛);13~24為grasshopper(蝗蟲);25~36為bee(蜜蜂);37~48為fly(蒼蠅);49~60為mantis(螳螂)。
2.2 數(shù)據(jù)集格式轉(zhuǎn)化和分類
鑒于在Roboflow上收集的數(shù)據(jù)集未經(jīng)標(biāo)注,而YOLOv5的訓(xùn)練要求每張圖片有對(duì)應(yīng)YOLO(TXT格式)的標(biāo)簽文件,因此,需進(jìn)行手動(dòng)打標(biāo)簽。筆者利用Roboflow平臺(tái)的內(nèi)置標(biāo)注功能,在此平臺(tái)完成了標(biāo)注。此外,在模型訓(xùn)練之前,需將數(shù)據(jù)集劃分為測(cè)試集、訓(xùn)練集和驗(yàn)證集3類。在本次數(shù)據(jù)集中,分配了790張圖片作為測(cè)試集,3100張圖片作為訓(xùn)練集以及310張圖片作為驗(yàn)證集。
2.3 獲得預(yù)訓(xùn)練權(quán)重并訓(xùn)練模型
為了優(yōu)化模型訓(xùn)練的效率,首先加載預(yù)訓(xùn)練的權(quán)值,并啟動(dòng)網(wǎng)絡(luò)訓(xùn)練。YOLOv5框架提供了多種不同尺寸規(guī)格的預(yù)訓(xùn)練權(quán)重,這些權(quán)重經(jīng)過精心設(shè)計(jì)和訓(xùn)練,滿足了用戶多樣化的需求。用戶可以根據(jù)自身需求,選擇最合適的預(yù)訓(xùn)練權(quán)重版本。
一般而言,預(yù)訓(xùn)練模型的權(quán)值文件體積越大,其在后續(xù)訓(xùn)練過程中的精度通常會(huì)越高。然而,這也意味著訓(xùn)練過程可能會(huì)消耗更多的計(jì)算資源,導(dǎo)致訓(xùn)練時(shí)長(zhǎng)相應(yīng)延長(zhǎng)。在本訓(xùn)練數(shù)據(jù)集的實(shí)踐中,本文選用了yolov5s.pt作為預(yù)訓(xùn)練權(quán)重文件。
2.4 模型評(píng)估
精確率(Precision)和召回率(Recall)是衡量模型性能的指標(biāo),取值范圍為0~1[8]。當(dāng)這2個(gè)指標(biāo)的值越接近0時(shí),表示模型的質(zhì)量越差;而越接近1時(shí),則表示模型的質(zhì)量越高。然而,這2個(gè)指標(biāo)僅從單一角度評(píng)價(jià)模型性能,因此,在進(jìn)一步評(píng)估模型時(shí),通常會(huì)采用均值平均精度(mAP)這一指標(biāo)。通常,精確率和召回率之間存在負(fù)相關(guān)關(guān)系,當(dāng)mAP值趨近于0.8時(shí),可以認(rèn)為該模型的性能相對(duì)較好。
3 系統(tǒng)的實(shí)現(xiàn)與測(cè)試
3.1 系統(tǒng)開發(fā)環(huán)境測(cè)試
經(jīng)過嚴(yán)格篩選和測(cè)試,本系統(tǒng)的開發(fā)采用了GeForce GTX 3060這一高性能PC級(jí)GPU,同時(shí)輔以64位Windows11操作系統(tǒng),確保系統(tǒng)的穩(wěn)定性和兼容性達(dá)到最佳狀態(tài)。深度學(xué)習(xí)庫選用PyTorch作為計(jì)算框架,使用anaconda創(chuàng)建虛擬環(huán)境;圖形化界面設(shè)計(jì)采用PyQt5框架實(shí)現(xiàn);系統(tǒng)的開發(fā)環(huán)境則使用PyCharm集成開發(fā)環(huán)境進(jìn)行代碼編輯與調(diào)試。
3.2 系統(tǒng)功能實(shí)現(xiàn)
通過選擇視頻文件檢測(cè)選項(xiàng),并將待檢測(cè)視頻上傳至系統(tǒng),用戶可在軟件界面上直接查看檢測(cè)結(jié)果。如圖2所示,檢測(cè)結(jié)果將標(biāo)注出每個(gè)檢測(cè)到的害蟲,并同時(shí)展示其置信度。此外,系統(tǒng)將在檢測(cè)到蟲害時(shí)發(fā)出報(bào)警,以便用戶及時(shí)采取應(yīng)對(duì)措施。
4 結(jié)語
農(nóng)林蟲害檢測(cè)是農(nóng)林治理和解決農(nóng)林蟲害的基礎(chǔ),如何快速準(zhǔn)確地檢測(cè)并識(shí)別蟲害是難點(diǎn)之一。采用深度學(xué)習(xí)技術(shù)進(jìn)行蟲害檢測(cè)已經(jīng)成為害蟲檢測(cè)領(lǐng)域的發(fā)展趨勢(shì)。為了推動(dòng)深度學(xué)習(xí)方法在水稻蟲害檢測(cè)領(lǐng)域的應(yīng)用,本文設(shè)計(jì)了一種基于YOLOv5技術(shù)的農(nóng)林害蟲檢測(cè)系統(tǒng)。該系統(tǒng)的實(shí)現(xiàn)有效地提高了蟲害預(yù)警的效率,降低了農(nóng)林監(jiān)管的人工成本。后續(xù),筆者還將繼續(xù)研究以下內(nèi)容:(1)鑒于未來需求的持續(xù)演變,該系統(tǒng)將持續(xù)進(jìn)行功能與性能的優(yōu)化與拓展,旨在提升功能的完備性,以滿足多樣化的使用場(chǎng)景需求。(2)在檢測(cè)視頻時(shí),從出現(xiàn)蟲害至系統(tǒng)彈出報(bào)警信息,系統(tǒng)會(huì)有一定的延時(shí),因此,系統(tǒng)實(shí)時(shí)性還需要繼續(xù)提高。
參考文獻(xiàn)
[1]李嬌,葛艷,劉玉鵬.基于改進(jìn)YOLOv5的昏暗小目標(biāo)交通標(biāo)志識(shí)別[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2023(5):172-179.
[2]陳輝東,丁小燕,劉艷霞.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法綜述[J].北京聯(lián)合大學(xué)學(xué)報(bào),2021(3):39-46.
[3]李映松,楊愛英,劉軒,等.基于Transformer改進(jìn)的Faster-Rcnn倉儲(chǔ)箱體檢測(cè)算法[J].自動(dòng)化與儀器儀表,2022(8):1-6.
[4]李青云,李燕,盧崢?biāo)?,?輕量化超參數(shù)卷積神經(jīng)網(wǎng)絡(luò)的安全帽檢測(cè)算法[J].現(xiàn)代計(jì)算機(jī),2022(11):60-66.
[5]劉佳梁.基于Qt5開發(fā)的面向工業(yè)設(shè)備的狀態(tài)監(jiān)視及控制軟件[J].電腦知識(shí)與技術(shù),2023(20):70-72.
[6]徐炳文.基于C#的遠(yuǎn)程智能視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2023(10):49-52.
[7]雷明.機(jī)器學(xué)習(xí):原理,算法與應(yīng)用[M].北京:清華大學(xué)出版社,2019.
[8]COOK J A,RAMADAS V.When to consult precision-recall curves[J].The Stata Journal,2020(1):131-148.
(編輯 王雪芬)
Design of agricultural and forestry pest detection system based on YOLOv5
PENG? Huaifeng, XU? Suopeng
(School of Intelligent Equipment Engineering, Wuxi Taihu University, Wuxi 214064, China)
Abstract:? Diseases and insect pests pose a serious threat to stable grain production and increase the self-sufficiency rate of oil, which needs to be widely concerned and highly valued. Early accurate identification of pests and diseases is the key to early warning and control, for a long time, the pest identification of most traditional crops mainly relies on manual detection. In order to improve the accuracy and efficiency of crop pest detection, a YOLOv5 based agricultural and forestry pest detection system was studied in this paper. The system use deep learning for pest detection in agriculture and forestry, has a visual interface, which is convenient for users to operate, and at the same time gives tips and alerts for detected pests in agriculture and forestry.
Key words: YOLOv5; pest detection; model; warning