本發(fā)明屬于水果計數(shù)的,具體涉及一種基于yolov8的火龍果計數(shù)方法。
背景技術(shù):
1、在農(nóng)業(yè)生產(chǎn)中,水果計數(shù)一直是一項繁重而耗時的工作,特別是像火龍果這樣在蔓延范圍較大的果園中種植的水果。通過構(gòu)建輕量化且高效準(zhǔn)確的水果計數(shù)模型并搭載在移動設(shè)備上,可幫助果農(nóng)減少工作強(qiáng)度,提升計數(shù)效率,并節(jié)約用工成本(rahnemoonfar?m,sheppard?c.deep?count:fruit?counting?based?on?deep?simulated?learning[j].sensors,2017,17(4).)。文獻(xiàn)(li?p,zheng?j,li?p,et?al.tomato?maturity?detectionand?counting?model?based?on?mhsa-yolov8[j].sensors,2023,23(15).)提出了一種基于yolov8的水果計數(shù)模型,其中采用了添加mhsa注意力機(jī)制的yolov8檢測模型,mhsa注意力機(jī)制的添加可以提高檢測的準(zhǔn)確率,然而同時會降低模型的推理速度。因此,采用基于yolov8的模型進(jìn)行水果計數(shù)時需要一種高效的注意力機(jī)制,即在不降低模型的推理速度的同時擴(kuò)大模型對有效信息的關(guān)注度的注意力機(jī)制(hou?q,zhou?d,feng?j.coordinateattention?for?efficient?mobile?network?design[c]//proceedings?of?the2021ieee/cvf?conference?on?computer?vision?and?pattern?recognition.2021:13708-13717.)。此外,文獻(xiàn)(li?p,zheng?j,li?p,et?al.tomato?maturity?detection?andcounting?model?based?on?mhsa-yolov8[j].sensors,2023,23(15).)中水果計數(shù)模型的主干網(wǎng)絡(luò)是由參數(shù)量較大的卷積模塊組成,不易搭載在移動設(shè)備上。因此,研究如何改進(jìn)yolov8模型來提升模型的推理速度和減少模型參數(shù)量并實現(xiàn)高效的火龍果計數(shù)具有重要的理論意義和應(yīng)用價值。
技術(shù)實現(xiàn)思路
1、本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種基于yolov8的火龍果計數(shù)方法,減少果農(nóng)工作強(qiáng)度,提升火龍果計數(shù)效率,節(jié)約用工成本。
2、為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
3、本發(fā)明所提供的一種基于yolov8的火龍果計數(shù)方法包括下述步驟:
4、s1、通過火龍果圖像獲取,火龍果圖像縮放,火龍果圖像標(biāo)注,和火龍果圖像及標(biāo)注文件劃分制作火龍果檢測圖像數(shù)據(jù)集;
5、s2、使用視頻拍攝設(shè)備采集火龍果視頻;
6、s3、構(gòu)建火龍果計數(shù)模型,包括改進(jìn)檢測器,追蹤器和計數(shù)器;所述改進(jìn)檢測器基于現(xiàn)有yolov8模型改進(jìn)構(gòu)建而成,用于檢測火龍果果實;所述追蹤器為已有的bytetracker追蹤器,用于追蹤火龍果果實;所述計數(shù)器為重命名的已有的計數(shù)器,用于輸出火龍果計數(shù)結(jié)果字典;
7、s4、使用火龍果檢測圖像數(shù)據(jù)集訓(xùn)練并測試火龍果計數(shù)模型中的改進(jìn)檢測器;
8、s5、應(yīng)用火龍果計數(shù)模型對所采集的火龍果視頻中的火龍果果實進(jìn)行計數(shù)。
9、作為優(yōu)選的技術(shù)方案,所述制作火龍果檢測圖像數(shù)據(jù)集,步驟為:
10、s101、火龍果圖像獲?。焊鶕?jù)需求確定火龍果的果實類別數(shù)及果實類別名;使用圖像采集設(shè)備獲取果園自然環(huán)境下的火龍果圖像并保存到文件夾中;
11、s102、火龍果圖像縮放:對文件夾中火龍果圖像進(jìn)行大小縮放,將圖像大小均縮放至3*w*h像素大小,其中w為縮放后圖像的寬,h為縮放后圖像的高;
12、s103、火龍果圖像標(biāo)注:對文件夾中縮放后的火龍果圖像進(jìn)行框選并標(biāo)注真實果實類別名,保存標(biāo)注文件;
13、s104、火龍果圖像及標(biāo)注文件劃分:將處理后的火龍果圖像及其對應(yīng)的標(biāo)注文件按比例隨機(jī)劃分為訓(xùn)練集,測試集以及驗證集,得到火龍果檢測圖像數(shù)據(jù)集。
14、作為優(yōu)選的技術(shù)方案,所述構(gòu)建火龍果計數(shù)模型,具體為:
15、s301、構(gòu)建改進(jìn)檢測器:基于現(xiàn)有yolov8模型構(gòu)建原始檢測器,包含主干網(wǎng)絡(luò),頸部網(wǎng)絡(luò)和頭部網(wǎng)絡(luò);通過對主干網(wǎng)絡(luò)進(jìn)行輕量化以及對頸部網(wǎng)絡(luò)添加注意力機(jī)制來改進(jìn)原始檢測器,得到火龍果計數(shù)模型中的改進(jìn)檢測器;
16、s302、調(diào)用并初始化bytetracker追蹤器:調(diào)用已有的bytetracker追蹤器并初始化,然后使用該追蹤器對改進(jìn)檢測器的輸出進(jìn)行計算;
17、s303、重命名已有計數(shù)器為counter計數(shù)器并調(diào)用。
18、作為優(yōu)選的技術(shù)方案,所述對主干網(wǎng)絡(luò)進(jìn)行輕量化是指將現(xiàn)有shufflenetv2網(wǎng)絡(luò)中的cbrm塊和shuffle_block塊進(jìn)行組合后替換原始檢測器的主干網(wǎng)絡(luò)。
19、作為優(yōu)選的技術(shù)方案,所述對頸部網(wǎng)絡(luò)添加注意力機(jī)制是指向原始檢測器的頸部網(wǎng)絡(luò)中的每個c2f塊內(nèi)的bottleneck塊后均添加ca注意力機(jī)制。
20、作為優(yōu)選的技術(shù)方案,所述訓(xùn)練并測試火龍果計數(shù)模型中的改進(jìn)檢測器,具體為:
21、s401、訓(xùn)練火龍果計數(shù)模型中的改進(jìn)檢測器:
22、將訓(xùn)練集圖像及驗證集圖像分別轉(zhuǎn)為訓(xùn)練集圖像張量及驗證集圖像張量,將訓(xùn)練集標(biāo)注文件及驗證集標(biāo)注文件分別轉(zhuǎn)為訓(xùn)練集真實標(biāo)簽張量列表及驗證集真實標(biāo)簽張量列表,并對訓(xùn)練集圖像張量及驗證集圖像張量分別進(jìn)行歸一化得到歸一化的訓(xùn)練集圖像張量及歸一化的驗證集圖像張量;
23、設(shè)置訓(xùn)練批大小,動量,學(xué)習(xí)率及訓(xùn)練迭代次數(shù),采用得到的歸一化的訓(xùn)練集圖像張量和歸一化的驗證集圖像張量及訓(xùn)練集真實標(biāo)簽張量列表和驗證集真實標(biāo)簽張量列表進(jìn)行訓(xùn)練;訓(xùn)練完成后自動將最優(yōu)模型參數(shù)張量保存至參數(shù)文件中;
24、s402、測試火龍果計數(shù)模型中的改進(jìn)檢測器:
25、將測試集圖像轉(zhuǎn)為測試集圖像張量,并將測試集標(biāo)注文件轉(zhuǎn)為測試集真實標(biāo)簽張量列表,并對測試集圖像張量進(jìn)行歸一化得到歸一化的測試集圖像張量;
26、將所保存的參數(shù)文件中的當(dāng)前最優(yōu)模型參數(shù)張量加載至所構(gòu)建的火龍果計數(shù)模型中的改進(jìn)檢測器上;
27、將歸一化的測試集圖像張量作為加載了當(dāng)前的最優(yōu)模型參數(shù)張量的火龍果計數(shù)模型中的改進(jìn)檢測器的輸入,得到測試集圖像的預(yù)測標(biāo)簽張量列表;
28、采用準(zhǔn)確度,平均精度,召回率,推理速度和模型參數(shù)量作為評估指標(biāo),并使用真實標(biāo)簽張量列表和所得到的火龍果圖像的預(yù)測標(biāo)簽張量列表對火龍果計數(shù)模型中的改進(jìn)檢測器進(jìn)行性能評估。
29、作為優(yōu)選的技術(shù)方案,所述對所采集的火龍果視頻中的火龍果果實進(jìn)行計數(shù),具體為:
30、s501、將待計數(shù)的視頻轉(zhuǎn)為張量,并將該張量和保存的參數(shù)文件中的當(dāng)前的最優(yōu)模型參數(shù)張量加載至所構(gòu)建的火龍果計數(shù)模型中;
31、s502、通過火龍果計數(shù)模型得到最終的計數(shù)結(jié)果字典。
32、本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點和有益效果:
33、本發(fā)明構(gòu)建的火龍果計數(shù)模型包含改進(jìn)檢測器,追蹤器和計數(shù)器,可實現(xiàn)火龍果的檢測和計數(shù)。一方面,因在改進(jìn)檢測器中使用了將cbrm塊和shuffle_block塊進(jìn)行組合的主干網(wǎng)絡(luò),與原始檢測器相比,本發(fā)明的改進(jìn)檢測器不僅模型參數(shù)少而且檢測速度快。另一方面,因在改進(jìn)檢測器的頸部網(wǎng)絡(luò)中的每個c2f塊內(nèi)的bottleneck塊后均添加了ca注意力機(jī)制,本發(fā)明的改進(jìn)檢測器不僅能夠獲取通道間的信息,還可考慮方向相關(guān)的位置信息,有助于更好地定位和識別火龍果果實。