本發(fā)明屬于目標(biāo)檢測,尤其涉及一種基于yolo?v8的識別番茄葉片病害的方法。
背景技術(shù):
1、番茄是世界第一大蔬菜作物,目前我國是世界上番茄產(chǎn)量最高的國家。番茄在生長的過程中,由于受到外界環(huán)境、氣候及土壤條件等因素的影響,容易發(fā)生多種病害,如早疫病、瘡痂病、花葉病毒病、黃化曲葉病等。
2、近年來,針對番茄葉片病害分類問題,國內(nèi)外學(xué)者也做了許多研究。徐凱宏等采用分治法進行中值計算,隨后用分水嶺算法提取番茄葉片病害特征,最終選擇形狀、顏色和紋理共13個特征,再輸入由遺傳算法優(yōu)化的bp神經(jīng)網(wǎng)絡(luò)中進行分類,最終三種病害的識別準確率為92.5%、91.25%和95.5%,并且迭代的速度有所加快。fuentes等為了更快速準確地檢測番茄中病蟲害。將faster?r-cnn、r-fcn、ssd等模型作為基礎(chǔ)架構(gòu),與vgg網(wǎng)絡(luò)等結(jié)合,構(gòu)造出融合系統(tǒng),經(jīng)過實驗證明其系統(tǒng)能有效識別不同類型的病蟲害。牛學(xué)德等以10類番茄葉片為研究對象,提出一種dense?net網(wǎng)絡(luò)結(jié)合遷移學(xué)習(xí)的模型。該研究首先對圖片樣本進行尺寸修改及數(shù)量調(diào)整,然后使用dense?net網(wǎng)絡(luò)預(yù)先在imagenet數(shù)據(jù)集上進行訓(xùn)練,再將這次的訓(xùn)練內(nèi)容應(yīng)用到番茄葉片病害分類上,經(jīng)過再訓(xùn)練后得到番茄葉片病害分類模型,測試準確率達到了97.76%。趙艷芹]等使用ghost模塊和coordattention坐標(biāo)注意力機制作為主干網(wǎng)絡(luò),替換yolo?v5中的主干網(wǎng)絡(luò),同時將特征提取層進行二次卷積來增強其對于病害的識別,最后在10類不同的番茄病害葉片上進行測試,平均準確率達96.8%,且模型體積比yolo?v5模型小了17.1mb,表現(xiàn)十分出色。
3、雖然yolo系列模型已經(jīng)大大提高了檢測速度,保證了一定的模型精度,但在檢測被遮擋目標(biāo)或微小目標(biāo)時依然無法保持可觀的檢測精度。在原先的模型中加入注意力機制,是針對性地提升檢測精度的方法之一。
技術(shù)實現(xiàn)思路
1、為解決現(xiàn)有技術(shù)的缺點和不足,提供一種基于yolov8的輕量化識別番茄葉片病害模型,從而可解決現(xiàn)有檢測方法存在對番茄病害的檢測準確率低、推理速度慢、對復(fù)雜場景的適應(yīng)性及準確性差的問題。
2、一種基于yolo?v8的番茄葉片病害的檢測方法,包括以下步驟:
3、步驟s1、獲取番茄葉片病害圖片,所述番茄葉片病害具體包括:番茄晚疫病、番茄花葉病、番茄瘡痂病、番茄斑枯??;
4、步驟s2、對所述番茄葉片病害圖片進行病害標(biāo)注,構(gòu)建得到番茄葉片病害數(shù)據(jù)集;
5、步驟s3、對番茄葉片病害數(shù)據(jù)集進行預(yù)處理;
6、步驟s4,將yolo?v8中的backbone模塊的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)替換為shufflenetv2;
7、步驟s5、將yolo?v8模型中的優(yōu)化算法替換為adamw,
8、步驟s6、在yolo?v8模型中的backbone模塊加入多頭自注意力機制,得到病害檢測模型;
9、步驟s7、使用步驟s3中預(yù)處理后得到的番茄葉片病害數(shù)據(jù)集,對步驟s6得到的所述病害檢測模型進行訓(xùn)練。
10、優(yōu)選的,步驟s1中獲取的所述番茄葉片病害圖片,來源于plant-village植物病害公開數(shù)據(jù)集。
11、優(yōu)選的,步驟s3中,所述預(yù)處理具體包括:采用opencv中的圖像處理庫函數(shù),對圖像進行旋轉(zhuǎn)90°、模糊處理、色彩變換以及添加噪聲。
12、優(yōu)選的,步驟s4中,將yolo?v8中的backbone模塊的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)替換為shufflenetv2,具體包括:使用兩個級聯(lián)的shufflenetv2模塊作為yolo?v8中的backbone模塊。
13、優(yōu)選的,步驟s6中,所述在yolo?v8模型中的backbone模塊加入多頭自注意力機制,具體包括:在兩個級聯(lián)的shufflenetv2模塊后,加入多頭自注意力機制模塊,再在多頭自注意力機制模塊后加入四個級聯(lián)的shufflenetv2模塊,再加入sppf模塊;
14、將步驟s3中預(yù)處理好的番茄葉片病害數(shù)據(jù)先進入池化層進行池化;再進入兩個級聯(lián)的shufflenetv2模塊;再通過mhsa多頭自注意力模塊進一步處理;然后再進入四個級聯(lián)shufflenetv2模塊;再進入sppf模塊將圖像轉(zhuǎn)換成向量輸出;最后進行分類。
15、本發(fā)明的有益效果
16、本發(fā)明在進行實際番茄葉片病害檢測時,能在檢測到的番茄葉片病害的種類更多的同時產(chǎn)生的誤檢和漏檢現(xiàn)象更少;除此之外,在部署到安卓端進行實時檢測時,檢測的速度更快,有效地提高了整體的檢測性能。
17、進一步地,所述步驟1包括以下步驟:
18、s101、采集番茄葉片病害圖片;
19、s102、使用opencv中的圖像處理庫函數(shù),對圖像進行旋轉(zhuǎn)90°、模糊處理、色彩變換以及添加噪聲。
20、上述進一步方案的有益效果是:經(jīng)預(yù)處理后的圖像番茄葉片病害特征較之前更明顯,解決數(shù)據(jù)集中小目標(biāo)占比少樣本不均衡的問題,便于后續(xù)訓(xùn)練過程中對檢測目標(biāo)特征的學(xué)習(xí)過程,提高整個網(wǎng)絡(luò)模型的檢測性能;除此之外,在實際檢測時,具有更好的魯棒性。
21、再進一步地,所述步驟2包括以下步驟:
22、s201、對所標(biāo)注的矩形框添加類別,并將番茄葉片病害圖像保存為xml格式;
23、s202、利用xml格式的路面破損圖像訓(xùn)練檢測模。
24、上述進一步方案的有益效果是:利用矩形框的合理標(biāo)注更便于后續(xù)網(wǎng)絡(luò)的回歸,相當(dāng)于預(yù)測效果更好。
25、再進一步地,所述步驟3包括以下步驟:
26、s301、使用輕量化神經(jīng)網(wǎng)絡(luò)模型shufflenet替換yolo?v8中backbone模塊中的原有網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化方式;
27、s302、在yolo?v8模型中加入msha多頭自注意力機制和adamw優(yōu)化算法。
28、上述進一步方案的有益效果是:在改進的輕量化后,轉(zhuǎn)換后的模型能很好地部署于用戶隨身攜帶的智能手機設(shè)備上,然后利用其攝像頭完成檢測過程,方便實時檢測和降低檢測成本。
1.一種基于yolo?v8的番茄葉片病害的檢測方法,其特征在于,包括以下步驟:
2.如權(quán)利要求1所述的一種基于yolo?v8的番茄葉片病害的檢測方法,其特征在于,步驟s1中獲取的所述番茄葉片病害圖片,來源于plant-village植物病害公開數(shù)據(jù)集。
3.如權(quán)利要求1所述的一種基于yolo?v8的番茄葉片病害的檢測方法,其特征在于,步驟s3中,所述預(yù)處理具體包括:采用opencv中的圖像處理庫函數(shù),對圖像進行旋轉(zhuǎn)90°、模糊處理、色彩變換以及添加噪聲。
4.如權(quán)利要求1所述的一種基于yolo?v8的番茄葉片病害的檢測方法,其特征在于,步驟s4中,將yolo?v8中的backbone模塊的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)替換為shufflenetv2,具體包括:使用兩個級聯(lián)的shufflenetv2模塊作為yolo?v8中的backbone模塊。
5.如權(quán)利要求4所述的一種基于yolo?v8的番茄葉片病害的檢測方法,其特征在于,步驟s6中,所述在yolo?v8模型中的backbone模塊加入多頭自注意力機制,具體包括:在兩個級聯(lián)的shufflenetv2模塊后,加入多頭自注意力機制模塊,再在多頭自注意力機制模塊后加入四個級聯(lián)的shufflenetv2模塊,再加入sppf模塊;