本發(fā)明涉及目標(biāo)識(shí)別,特別涉及一種基于改進(jìn)yolov8的圣女果成熟度識(shí)別方法。適用于具有復(fù)雜背景干擾,枝葉遮擋目標(biāo),粘連重疊目標(biāo)的圣女果圖像識(shí)別場(chǎng)景。
背景技術(shù):
0、技術(shù)背景
1、近年來,圣女果因其營養(yǎng)價(jià)值高、風(fēng)味獨(dú)特而被廣泛種植。但由于圣女果果實(shí)密集,并且成熟時(shí)間不一,往往在一簇果實(shí)中會(huì)有不同成熟度的果實(shí),若圣女果成熟度能被準(zhǔn)確監(jiān)控可讓圣女果供應(yīng)鏈管理者更好地規(guī)劃圣女果的運(yùn)輸、儲(chǔ)存和銷售策略,避免過?;蚨倘钡那闆r,從而提高經(jīng)濟(jì)效益,同時(shí)也可讓農(nóng)民在最佳成熟時(shí)期收獲,確保圣女果的味道、營養(yǎng)和外觀都處于最佳狀態(tài)。這對(duì)于提高消費(fèi)者的購買滿意度和市場(chǎng)競(jìng)爭(zhēng)力非常重要。由此可見,提出一種能快速并準(zhǔn)確識(shí)別圣女果成熟度的方法至關(guān)重要。
2、對(duì)于果實(shí)成熟度檢測(cè),人們做了各種研究,如題為“基于改進(jìn)yolov7的油茶果實(shí)成熟度檢測(cè)”《農(nóng)業(yè)工程學(xué)報(bào)》2024年第40卷第5期177頁~184頁的文章;該文通過引入十字交叉注意力機(jī)制cca、使用基于距離和交并比的非極大值抑制diou-nms算法對(duì)原始yolov7網(wǎng)絡(luò)模型進(jìn)行改進(jìn),雖改進(jìn)的yolov7網(wǎng)絡(luò)模型可提高對(duì)被枝葉遮擋果實(shí)成熟度特征的提取能力以及對(duì)相互遮擋果實(shí)的檢測(cè)能力,但茶油果不如圣女果那樣密集,該方法若應(yīng)用于圣女果成熟度識(shí)別會(huì)因圣女果密集遮擋出現(xiàn)漏檢誤檢現(xiàn)象,同時(shí)改進(jìn)的yolov7網(wǎng)絡(luò)模型參數(shù)量較大,若部署至嵌入式機(jī)械設(shè)備難度大。
3、又如中國專利cn1117593740a,公開日為2024年2月13日,公開了一種番茄成熟度檢測(cè)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),該專利通過加入cpca注意力機(jī)制、添加上采樣層,并將部分上采樣層替換為carafe采樣算子、將頸部后三個(gè)c2f模塊替換為v0vgscsp模塊對(duì)原始yolov8網(wǎng)絡(luò)模型進(jìn)行改進(jìn),雖改進(jìn)yolov8網(wǎng)絡(luò)模型對(duì)番茄成熟度識(shí)別具有較高精度,并且降低了模型參數(shù),但該專利將西紅柿按成熟度劃分為三類,即完全成熟類、半成熟類、未成熟類,對(duì)番茄成熟預(yù)測(cè)不夠準(zhǔn)確。
4、由上可知,現(xiàn)有技術(shù)中雖同樣使用yolo目標(biāo)檢測(cè)算法對(duì)植物果實(shí)成熟度進(jìn)行分類檢測(cè),但仍存在對(duì)果實(shí)成熟度區(qū)分不明顯,遇到光照改變、果實(shí)粘連重疊、枝葉遮擋、相似度高的背景等情況識(shí)別準(zhǔn)確率會(huì)降低,以及模型參數(shù)量大等問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明為了克服背景技術(shù)中所給出的各種技術(shù)方案的局限性,針對(duì)現(xiàn)有技術(shù)存在的對(duì)果實(shí)成熟度區(qū)分不明顯,遇到光照改變、果實(shí)粘連重疊、枝葉遮擋、相似度高的背景等情況識(shí)別準(zhǔn)確率會(huì)降低,以及模型參數(shù)量大等問題,提供了一種基于改進(jìn)yolov8的圣女果成熟度識(shí)別方法。
2、為達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案是:
3、1.一種基于改進(jìn)yolov8的圣女果成熟度識(shí)別方法,其特征在于,包括以下步驟:
4、步驟1、使用圖像采集設(shè)備采集圣女果原始圖像數(shù)據(jù)集;
5、步驟2、對(duì)采集到的原始數(shù)據(jù)集基于果實(shí)成熟度分類標(biāo)注錨框并將標(biāo)注好錨框的數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),數(shù)據(jù)增強(qiáng)后的數(shù)據(jù)集以8∶1∶1的比例隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集與測(cè)試集;
6、步驟3、改進(jìn)傳統(tǒng)yolov8網(wǎng)絡(luò)模型,得到改進(jìn)后的yolov8-ccz模型,配置訓(xùn)練環(huán)境與設(shè)置環(huán)境參數(shù),將步驟2中數(shù)據(jù)增強(qiáng)后的數(shù)據(jù)集輸入yolov8-ccz模型中進(jìn)行訓(xùn)練,保存訓(xùn)練結(jié)果中最好的權(quán)重文件best.pt;
7、步驟4、使用步驟3中的best.pt權(quán)重文件對(duì)預(yù)先劃分好的測(cè)試集數(shù)據(jù)進(jìn)行識(shí)別測(cè)試;
8、步驟5、使用相同數(shù)據(jù)集與訓(xùn)練環(huán)境參數(shù)進(jìn)行消融實(shí)驗(yàn)并將yolov8-ccz網(wǎng)絡(luò)模型與傳統(tǒng)yolov8、yolov7、yolov5、yolov4、yolov3、ssd目標(biāo)識(shí)別網(wǎng)絡(luò)模型進(jìn)行對(duì)比實(shí)驗(yàn)。
9、優(yōu)選地,在步驟1中,所述圣女果原始圖像數(shù)據(jù)集在白天自然光下采集,采集時(shí),使用高清單反相機(jī)距圣女果30~90cm的距離進(jìn)行拍攝,拍攝角度為左拍、右拍、前拍、后拍、俯拍、仰拍共6個(gè)方向角度,所采集圣女果圖像數(shù)據(jù)集種類涵蓋順光、逆光、果實(shí)密集重疊遮擋、果實(shí)粘連、枝葉遮擋等各種圣女果圖像。
10、優(yōu)選地,在步驟2中,將采集到的原始圖像數(shù)據(jù)集使用標(biāo)注工具labelimg進(jìn)行分類標(biāo)注,其中,基于果實(shí)成熟度可將數(shù)據(jù)集中圣女果劃分為未熟期類、綠熟期類、變色期類、紅熟前期類、紅熟中期類和紅熟后期類共6個(gè)類別,標(biāo)注錨框時(shí),基于每顆圣女果輪廓最小外接矩形進(jìn)行標(biāo)注。
11、優(yōu)選地,在步驟2中,所述數(shù)據(jù)增強(qiáng)方式采用cutmix數(shù)據(jù)增強(qiáng)技術(shù),具體包括:
12、在cutmix方法中,隨機(jī)選取訓(xùn)練集中的一對(duì)圖像,選取到的圖像分別定義為a圖和b圖,隨機(jī)生成一個(gè)裁剪框,裁剪掉a圖的相應(yīng)位置,然后將b圖片相應(yīng)位置的像素圖放到a圖中被裁剪的區(qū)域形成新的圖像;
13、cutmix數(shù)據(jù)增強(qiáng)方法,其原理公式為:
14、x~=m⊙xa+(1-m)⊙xb??????????????????(1)
15、y~=λya+(1-λ)yb???????(2)
16、其中,xa與xb是兩個(gè)不同的訓(xùn)練樣本,ya與yb分別為其對(duì)應(yīng)標(biāo)簽值。x~與y~分別為生成的新樣本與對(duì)應(yīng)標(biāo)簽,m∈{0,1}w*h是為了減掉部分區(qū)域和進(jìn)行填充的二進(jìn)制掩碼,⊙是逐像素相乘符號(hào),1是所有元素都為1的二進(jìn)制掩碼,λ屬于beta分布:λ~beta(a,b),a,b均為可調(diào)參數(shù);
17、對(duì)矩形掩碼m進(jìn)行采樣,剪裁區(qū)域的邊界框采樣公式為:
18、
19、
20、其中,剪裁區(qū)域的邊界框?yàn)閎=(γx,γy,γw,γh),樣本整體區(qū)域的邊界框?yàn)閍=(x,y,w,h),unif(0,w)表示γx在0~w上均勻采樣,unif(0,h)表示γx在0~h上均勻采樣,表示剪裁區(qū)域的比例。
21、優(yōu)選地,在步驟3中,所述改進(jìn)傳統(tǒng)yolov8網(wǎng)絡(luò)模型,改進(jìn)步驟具體包括:
22、s31、通過注意力機(jī)制模塊ca構(gòu)建主干網(wǎng)絡(luò)backbone中的所有c2f模塊,命名為c2f-ca;
23、s32、通過可變型卷積模塊dcnv3構(gòu)建頸部網(wǎng)絡(luò)neck中的所有c2f模塊,命名為c2f-dcnv3;
24、s33、使用nwd損失函數(shù)代替原ciou損失函數(shù)。
25、優(yōu)選地,在步驟s31中,所述c2f-ca通過c2f模塊與注意力機(jī)制模塊ca相結(jié)合,具體包括:依次連接有一個(gè)cbl模塊、一個(gè)split模塊、n個(gè)并行連接的bottleneck模塊、兩個(gè)并行連接的注意力機(jī)制模塊ca以及一個(gè)cbl模塊,所述split模塊將輸入通道數(shù)分為兩半,一半通道數(shù)經(jīng)過n個(gè)并行連接的bottleneck模塊之后,與另一半通道數(shù)通過殘差conact連接,所述cbl模塊包括一個(gè)標(biāo)準(zhǔn)卷積conv模塊、一個(gè)bn模塊以及一個(gè)leaky_relu模塊,所述注意力機(jī)制ca模塊對(duì)輸入圖像的計(jì)算過程具體包括:
26、(1)對(duì)輸入特征圖分別在寬度方向和高度方向上進(jìn)行2次全局平均池化,得到2個(gè)特征映射,分別捕捉寬度和高度方向上的全局特征,具體公式為:
27、
28、其中,zc為全局特征,xc(i,j)為原始特征的輸入。
29、(2)經(jīng)過通道級(jí)拼接操作和卷積平滑處理產(chǎn)生具有全局感受野和更精確的信息表示,具體公式為:
30、f=δ(f1([zh,zw]))???????????(6)
31、其中,f1為經(jīng)過批量歸一化處理的特征圖;f為經(jīng)過sigmoid激活函數(shù)得到的特征圖;δ是非線性激活函數(shù);zh和zw為聚合特征圖。
32、(3)通過批正則化和非線性映射變換為與輸入數(shù)據(jù)具有相同通道數(shù)的張量,具體公式為:
33、gh=δ(fh(fh))??????????????????????(7)
34、gw=δ(fw(fw))??????????????????????(8)
35、其中,fh和fw為特征圖f沿著空間維度分成的2個(gè)獨(dú)立的張量fh和fw為分別將fh和fw變換為與輸入具有相同通道數(shù)的張量;gh和gw為經(jīng)過上述計(jì)算后得到的輸入特征圖分別在高度和寬度方向上的注意力權(quán)重;δ為sigmoid函數(shù)。
36、(4)在原始特征圖上通過乘法加權(quán)計(jì)算,得到最終在寬度和高度方向上帶有注意力權(quán)重的特征圖,具體公式為:
37、
38、其中,yc(i,j)為最終輸出的特征,xc(i,j)為原始特征,和為經(jīng)過聚合處理分別在高度和寬度維度上恢復(fù)原始通道數(shù)的特征。
39、優(yōu)選地,在步驟s32中,所述c2f-dcnv3具體包括:依次連接有一個(gè)cbl模塊、一個(gè)split模塊、n個(gè)并行連接的dcnv3-bottleneck模塊以及一個(gè)cbl模塊,所述split模塊將輸入通道數(shù)分為兩半,一半通道數(shù)經(jīng)過n個(gè)并行連接的dcnv3-bottleneck模塊之后,與另一半通道數(shù)通過殘差conact連接,所述dcnv3-bottleneck模塊包含三個(gè)可變形卷積模塊dcnv3依次連接,所述可變性卷積模塊dcnv3對(duì)輸入圖像計(jì)算公式為:
40、
41、其中,g表示卷積組的數(shù)量;wg表示每組內(nèi)的共享投影權(quán)重;mgk表示第g組中第k個(gè)采樣點(diǎn)的歸一化調(diào)制因子;xg表示切片輸入的特征圖;δpgk表示第g組中的網(wǎng)格采樣位置(g,k)相對(duì)應(yīng)的偏移量,p0表示輸入特征圖上的每一個(gè)位置,pk表示卷積核的每一個(gè)位置。
42、優(yōu)選地,在步驟s33中,所述nwd損失函數(shù)計(jì)算過程具體包括:
43、(1)二階wasserstein距離公式為:
44、
45、其中,na,nb分別表示邊界框a=(cxa,cya,wa,ha)和邊界框b=(cxb,cyb,wb,hb)的高斯建模分布,||·||f表示frobenius范數(shù),[]t表示向量轉(zhuǎn)置;
46、(2)歸一化的wasserstein距離公式為:
47、
48、其中,c表示與數(shù)據(jù)集相關(guān)的常數(shù)。
49、(3)nwd損失函數(shù)計(jì)算公式為:
50、
51、優(yōu)選地,在步驟3中,所述yolov8-ccz網(wǎng)絡(luò)模型包括輸入端input、主干網(wǎng)絡(luò)backbone、頸部網(wǎng)絡(luò)neck以及預(yù)測(cè)端head,所述主干網(wǎng)絡(luò)backbone依次包括:第一層標(biāo)準(zhǔn)卷積conv模塊,第二層標(biāo)準(zhǔn)卷積conv模塊,第三層c2f-ca模塊,第四層標(biāo)準(zhǔn)卷積conv模塊,第五層c2f-ca模塊,第六層標(biāo)準(zhǔn)卷積conv模塊,第七層c2f-ca模塊,第八層標(biāo)準(zhǔn)卷積conv模塊,第九層標(biāo)準(zhǔn)卷積c2f-ca模塊,第十層快速空間金字塔池化層sppf;所述頸部網(wǎng)絡(luò)neck依次包括:第十一層上采樣upsample模塊,第十二層殘差連接concat層,第十四層c2f-dcnv3模塊,第十五層上采樣upsample模塊,第十六層c2f-dcnv3模塊,第十七層標(biāo)準(zhǔn)卷積conv模塊,第十八層殘差連接concat層,第十九層c2f-dcnv3模塊,第二十層標(biāo)準(zhǔn)卷積conv模塊,第二十一層殘差連接concat層,第二十二層c2f-dcnv3模塊;所述輸入端input包括第二十三層detect層。
52、優(yōu)選地,在步驟3中,所述訓(xùn)練環(huán)境配置包括:訓(xùn)練平臺(tái)操作系統(tǒng)為windows11,cpu為inter(r)core(tm)i7-13700kf@3.4ghz,內(nèi)存為64gib;顯卡為nvidia?geforce?rtx3090,24gib,編程語言為python?3.8,深度學(xué)習(xí)框架為pytorch?1.7.0,cuda版本為10.1;所述訓(xùn)練參數(shù)設(shè)置包括:圖片輸入大小為640×640,批次處理大小設(shè)置為100,初始學(xué)習(xí)率設(shè)置為0.003,優(yōu)化器為sgd,訓(xùn)練輪次為100,其他參數(shù)值均采用yolov8官方默認(rèn)參數(shù)值。
53、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
54、本發(fā)明所提供的一種基于改進(jìn)yolov8的圣女果成熟度識(shí)別方法,通過cutmix數(shù)據(jù)增強(qiáng)技術(shù)對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),豐富數(shù)據(jù)集,提高了檢測(cè)模型的泛化能力;通過將注意力機(jī)制模塊ca嵌入主干網(wǎng)絡(luò)backbone中的所有c2f模塊中,兼顧通道與空間信息進(jìn)行特征增強(qiáng),有效提高了模型對(duì)圣女果果實(shí)成熟特征的關(guān)注程度,有效減少圣女果果實(shí)圖像檢測(cè)中漏檢誤檢的情況,同時(shí)有效解決了現(xiàn)有技術(shù)中遇到光照改變、果實(shí)粘連重疊、枝葉遮擋、相似度高的背景等情況識(shí)別準(zhǔn)確率會(huì)降低的問題;通過可變型卷積模塊dcnv3構(gòu)建頸部網(wǎng)絡(luò)neck中的所有c2f模塊,針對(duì)特征圖中的不規(guī)則形狀具有更好的特征提取能力,使骨干網(wǎng)絡(luò)更好地適應(yīng)不規(guī)則的空間結(jié)構(gòu),更精準(zhǔn)地關(guān)注重要目標(biāo),從而提高模型對(duì)遮擋重疊目標(biāo)的檢測(cè)能力,在壓縮模型參數(shù)量的同時(shí)進(jìn)一步提高檢測(cè)精度;通過使用nwd損失函數(shù)代替原ciou損失函數(shù),圣女果果實(shí)在圖像中屬于密集小目標(biāo),nwd損失函數(shù)在檢測(cè)小目標(biāo)方面具有尺度不變性、對(duì)位置偏差的平滑性、具有測(cè)量非重疊或相互包含邊界框之間相似度的能力,有效提高對(duì)圣女果果實(shí)成熟度的識(shí)別精度;參照國家標(biāo)準(zhǔn)gh/t?1193-2021將番茄成熟度等級(jí)根據(jù)果皮和果肉顏色變化劃分為6級(jí),即未熟期、綠熟期、變色期、紅熟前期、紅熟中期和紅熟后期,故而本發(fā)明將圣女果果實(shí)劃分為未熟期類、綠熟期類、變色期類、紅熟前期類、紅熟中期類和紅熟后期類共6個(gè)類別,解決了現(xiàn)有技術(shù)中對(duì)果實(shí)成熟度區(qū)分不明顯的問題。