国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于YOLOv7算法的小目標(biāo)害蟲檢測方法

      文檔序號:40280590發(fā)布日期:2024-12-11 13:19閱讀:17來源:國知局
      一種基于YOLOv7算法的小目標(biāo)害蟲檢測方法

      本發(fā)明屬于小目標(biāo)害蟲的檢測領(lǐng)域,具體涉及一種基于yolov7算法的小目標(biāo)害蟲檢測方法。


      背景技術(shù):

      1、在適度使用農(nóng)藥限制害蟲的同時,對農(nóng)作物害蟲的監(jiān)測同樣十分重要,以便及時提醒農(nóng)業(yè)生產(chǎn)人員做好相應(yīng)防護(hù)措施,確保農(nóng)業(yè)生產(chǎn)的順利進(jìn)行。隨著科技的進(jìn)步,害蟲的監(jiān)測方式由過去的通過專家來人工識別轉(zhuǎn)變?yōu)楫?dāng)前的通過計算機(jī)來進(jìn)行害蟲檢測。目前,利用計算機(jī)來檢測害蟲主要是通過基于深度學(xué)習(xí)的目標(biāo)檢測模型來實現(xiàn)的。

      2、目前在目標(biāo)檢測領(lǐng)域中,yolo系列模型因其優(yōu)異的檢測性能而被廣泛關(guān)注。yolo系列模型目前有多個版本,如yolov5、yolov7和yolov8。yolov5是由ultralytics于2020年發(fā)布的,其以高速度和高精度著稱,能夠在實時應(yīng)用中表現(xiàn)優(yōu)異。yolov7于2022年發(fā)布,其采用了更先進(jìn)的特征提取和融合方法,提升了模型的表達(dá)能力和檢測效果。yolov8于2023年發(fā)布,引入了新的網(wǎng)絡(luò)架構(gòu)和改進(jìn)的訓(xùn)練機(jī)制,進(jìn)一步提升了模型的魯棒性和泛化能力。但是,小目標(biāo)害蟲相對而言有著背景復(fù)雜、尺寸小、特征難以提取的特點,對于針對小目標(biāo)害蟲的檢測,已有研究者做出相關(guān)研究。2018年,shen?y等為了解決小尺寸的儲糧害蟲檢測的問題,在faster?r-cnn的基礎(chǔ)上進(jìn)行了改進(jìn),通過融合不同層所提取的特征來提升檢測精度,實驗結(jié)果顯示小尺寸的儲糧害蟲檢測的map達(dá)到0.88。與改進(jìn)前相比,改進(jìn)后的模型對小目標(biāo)的檢測效果更好。但是,該方法沒有進(jìn)一步探究到如何減少復(fù)雜背景對檢測小目標(biāo)害蟲精度的影響,使得模型更加關(guān)注于小目標(biāo)害蟲本身,提升對小目標(biāo)害蟲的特征提取能力。

      3、現(xiàn)有的yolo系列模型的不足:(1)yolo系列模型利用卷積神經(jīng)網(wǎng)絡(luò)來提取目標(biāo)的特征。但是對于深度卷積網(wǎng)絡(luò)來說,卷積操作本質(zhì)上是一種局部操作,只能能夠在固定感受野內(nèi)提取特征。這種局部性限制了卷積網(wǎng)絡(luò)捕捉全局上下文信息和長距離依賴的能力。在復(fù)雜的場景中,小目標(biāo)害蟲的檢測任務(wù)通常會受到背景、遮擋和其他因素的影響,這為基于卷積操作的目標(biāo)檢測模型帶來了巨大挑戰(zhàn)。(2)原始yolov7所使用的ciou損失函數(shù)沒有考慮到了預(yù)測框和真實框不匹配的方向,不利于預(yù)測框朝著真實框所在方位進(jìn)行回歸,這將影響小目標(biāo)害蟲的檢測精度。(3)原始yolov7默認(rèn)的錨框(anchors)參數(shù)是使用coco數(shù)據(jù)集訓(xùn)練得到的,不能反映小目標(biāo)害蟲對象特征。


      技術(shù)實現(xiàn)思路

      1、為了解決上述現(xiàn)有技術(shù)中的不足,本發(fā)明的目的在于提供一種基于yolov7算法的小目標(biāo)害蟲檢測方法,本方法提出了基于transformer?encoder的上下文信息提取塊,將其引入到我們提出的基于卷積神經(jīng)網(wǎng)絡(luò)的改進(jìn)的yolov7目標(biāo)檢測模型中,提高了小目標(biāo)害蟲的檢測精度。

      2、本一種基于yolov7算法的小目標(biāo)害蟲檢測方法解決其技術(shù)問題所采用的技術(shù)方案為:

      3、提供了一種基于yolov7算法的小目標(biāo)害蟲檢測方法,包括:

      4、第一步,獲取訓(xùn)練模型所需要的小目標(biāo)害蟲圖片數(shù)據(jù)集;

      5、第二步,手動標(biāo)記以識別圖像中存在的小目標(biāo)害蟲的位置和類型,并將數(shù)據(jù)集拆分為訓(xùn)練集、驗證集和測試集;

      6、第三步,基于原始yolov7算法構(gòu)建改進(jìn)的目標(biāo)檢測模型;

      7、第四步,構(gòu)建改進(jìn)的yolov7模型的損失函數(shù);

      8、第五步,使用k-means算法獲得適合小目標(biāo)害蟲的anchors;

      9、第六步,設(shè)置多個訓(xùn)練參數(shù)訓(xùn)練改進(jìn)的yolov7目標(biāo)檢測模型;

      10、第七步,拍攝待檢測的小目標(biāo)蟲害圖片,將拍攝好的蟲害圖片上傳,通過訓(xùn)練完成的改進(jìn)的目標(biāo)檢測模型對上傳的蟲害圖片進(jìn)行推理,改進(jìn)的目標(biāo)檢測模型推理過程中,通過其包含的多個特征提取層和多個檢測層檢測不同大小的害蟲后,通過非極大值抑制步驟和置信度篩選,最終確定每個目標(biāo)的位置、類別和置信度,獲得害蟲識別結(jié)果。

      11、進(jìn)一步的,所述的第一步中的小目標(biāo)害蟲圖片數(shù)據(jù)集為已公開的害蟲數(shù)據(jù)集,該害蟲數(shù)據(jù)集含有284張圖片,其中包括5807個粉虱(whitefly,wf),1619個短小長頸盲蝽(macrolophus,mr)和688個煙盲蝽(nesidiocoris,nc)。

      12、進(jìn)一步的,所述的第二步中的數(shù)據(jù)集按照8:1:1的比例隨機(jī)拆分為訓(xùn)練集、驗證集和測試集,其中數(shù)據(jù)集的拆分包括:將采集的數(shù)據(jù)集進(jìn)行整理;使用標(biāo)記軟件labelimg對收集到的圖片中的各種害蟲圖像樣本進(jìn)行標(biāo)注;將得到的害蟲標(biāo)注信息保存為xml文件,其中,該xml文件包括目標(biāo)物體的類別和目標(biāo)框的坐標(biāo)信息;將xml文件轉(zhuǎn)化為便于yolov7使用的txt文件形式。

      13、進(jìn)一步的,所述的第三步中改進(jìn)的yolov7模型包括主干網(wǎng)絡(luò)(backbone)、上下文信息提取塊(context?information?extraction?block)、頸部網(wǎng)絡(luò)(neck)、檢測頭(head),主干網(wǎng)絡(luò)包括cbs模塊、elan模塊、mp模塊,上下文信息提取塊包括cbs模塊、flatten操作、位置編碼操作(positional?encoding)、transformer?encoder模塊、unflatten操作,頸部網(wǎng)絡(luò)包括cbs模塊、cat操作、elan-w模塊、upsample模塊,檢測頭包括detect模塊,其中,改進(jìn)的yolov7模型中的主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和檢測頭與原始的yolov7模型保持一致。

      14、進(jìn)一步的,所述的上下文信息提取塊對特征圖的處理過程包括:

      15、步驟1、形狀為20×20×1024的輸入特征圖p5先經(jīng)過cbs模塊處理的到形狀為20×20×256的特征圖s1,(該模塊的作用是對輸入特征圖p5進(jìn)行降維,以節(jié)省后續(xù)的操作的計算開銷),其中,cbs模塊由conv層與bn層(批量歸一化層)以及silu激活函數(shù)構(gòu)成,conv卷積核為1×1,步長為1,silu激活函數(shù)具備無上界有下界、非單調(diào)的特性,(這些特性使得它在網(wǎng)絡(luò)中特別是較深的網(wǎng)絡(luò)中優(yōu)勢更加明顯);bn層通過重新縮放和中心化對層的輸入進(jìn)行歸一化來使網(wǎng)絡(luò)訓(xùn)練更快、更穩(wěn)定;

      16、步驟2、再通過flatten操作將輸入特征圖s1扁平化,得到形狀為400×256的特征圖,(這里可以看作將多通道的二維數(shù)據(jù)轉(zhuǎn)換為多通道的序列數(shù)據(jù));

      17、步驟3、形狀為400×256的特征圖進(jìn)行位置編碼操作得到新的形狀為400×256的特征圖pe;

      18、位置編碼操作的數(shù)學(xué)表達(dá)式為:

      19、

      20、其中,pos是位置索引,范圍從0到399(對于長度為400的序列);i是嵌入維度的索引,范圍從0到255(對于維度為256的嵌入),dmodel是嵌入向量的維度,即256;

      21、步驟4、將第3步得到的形狀為400×256的特征圖pe與第2步得到的形狀為400×256的特征圖執(zhí)行按元素相加(element?wise?sum)操作,得到最終的形狀為400×256的特征圖x,位置編碼通過正弦和余弦函數(shù)計算,并與輸入按元素相加,確保模型能夠識別輸入序列中各個位置的順序;

      22、步驟5、形狀為400×256的特征圖x經(jīng)過tranformer?encoder模塊進(jìn)行處理;具體而言分為以下步驟:

      23、步驟5.1、計算多頭注意力;對于輸入特征圖x,通過三個線性變換得到查詢q、鍵k和值v:

      24、q=xwq(0.25)

      25、k=xwk(0.26)

      26、v=xwv(0.27)

      27、其中wq、wk和wv是訓(xùn)練中學(xué)習(xí)的權(quán)重矩陣,它們的維度為256×256;隨后,計算自注意力,通過點積計算查詢和鍵之間的相似度,并應(yīng)用縮放因子和softmax函數(shù):

      28、

      29、其中dk是鍵的維度,是縮放因子,防止點積結(jié)果過大;

      30、將自注意力機(jī)制擴(kuò)展為多個“頭”,每個頭學(xué)習(xí)不同的注意力模式;通過將各個頭的輸出拼接起來并通過線性變換,模型能夠綜合多種視角的信息,從而更好地理解輸入數(shù)據(jù);然后將各個頭的輸出拼接起來,并通過線性變換的到多頭注意力:

      31、multihead(q,k,v)=concat(head1,head2,...,headh)wo(0.29)

      32、其中wo是可學(xué)習(xí)的線性變換矩陣,其形狀為256×256,headi為第i個頭;每個頭headi計算過程如下:

      33、

      34、這里我們將head的個數(shù)設(shè)置為8;那么dhead則為32;的維度為256×32;經(jīng)過多頭注意力計算后得到的特征圖形狀仍然為400×256,與進(jìn)行多頭注意力計算前保持一致;多頭注意力通過并行計算,可以更好地捕捉不同位置的語義關(guān)系,從而提高模型性能;

      35、步驟5.2、將步驟5.1的輸出與transformer?encoder模塊的輸入進(jìn)行add操作,即按元素相加得到形狀為400×256的特征圖;隨后對add操作的輸出再進(jìn)行norm操作,即層歸一化,得到形狀為400×256的特征圖;這里的add操作是可以看作是一個殘差操作,它將輸入的兩部分按元素相加,不改變其形狀大小,可以幫助緩解深度網(wǎng)絡(luò)中的梯度消失問題,并加速模型的訓(xùn)練過程;norm操作指的是層歸一化,它對每層的輸出進(jìn)行歸一化,使得每個位置的輸出具有相同的分布,從而穩(wěn)定訓(xùn)練過程并提高模型的泛化能力;

      36、步驟5.3、使用mlp層對步驟5.2的輸出進(jìn)行進(jìn)一步處理,得到形狀為400×256的特征圖;mlp層由兩層全連接層構(gòu)成,用于捕捉特征之間的非線性關(guān)系,并增加模型的表達(dá)能力;

      37、步驟5.4、將步驟5.2的輸出與步驟5.3的輸出進(jìn)行add操作,即按元素相加得到形狀為400×256的特征圖;隨后對add操作的輸出再進(jìn)行norm操作,即層歸一化,得到形狀為400×256的特征圖;

      38、步驟6、將步驟5的形狀為400×256的特征圖進(jìn)行unflatten操作,展開為形狀為20×20×256的特征圖s2;特征圖s2包含了豐富的上下文信息,將其作為模型neck部分的輸入將有效的提升模型對小目標(biāo)的識別能力。

      39、進(jìn)一步的,所述的第四步中改進(jìn)yolov7模型的損失函數(shù)分為三個部分:邊界框回歸損失(bounding?box?regression?loss)、置信度損失(objectness?loss)和類別損失(class?loss);其中,改進(jìn)的yolov7模型的損失函數(shù)中的置信度損失和類別損失與原始的yolov7保持一致;而在邊界框回歸損失部分,使用siou損失函數(shù)替換原始yolov7模型所使用的ciou損失函數(shù);siou損失函數(shù)的優(yōu)勢在于它考慮到了預(yù)測框和真實框不匹配的方向,有助于預(yù)測框朝著真實框所在方位進(jìn)行回歸;siou損失函數(shù)示意圖中,矩形b代表預(yù)測框,矩形bgt代表真實框,σ是矩形b和矩形bgt中點的連線,ch和cw為以σ為對角線的矩形的高和寬,α和β分別為矩形的對角線和寬、高之間的夾角,w和h分別為矩形b和矩形bgt所外接的最小矩形的寬和高;其由以下幾個部分組成:

      40、①角度損失:為了衡量預(yù)測框和真實框之間的方位是否匹配,需要定義角度損失,它有助于在訓(xùn)練過程中使預(yù)測框朝著真實框所在方位回歸;角度損失的定義為:

      41、

      42、其中,

      43、

      44、

      45、其中,分別代表代表矩形b和矩形bgt的中點的橫坐標(biāo),分別代表代表矩形b和矩形bgt的中點的縱坐標(biāo);

      46、②距離損失:其數(shù)學(xué)表達(dá)式如下所示:

      47、

      48、其中,

      49、

      50、γ=2-costangle(0.38)

      51、③形狀損失:其數(shù)學(xué)表達(dá)式為:

      52、

      53、其中,w和h分別為預(yù)測框的寬和高,wgt和hgt分別為真實框的寬和高,θ為控制costshape權(quán)重的參數(shù),當(dāng)θ為1時,costshape權(quán)重最大;所以,這里我們?nèi)ˇ葹?,避免costshape權(quán)重過大;

      54、④交并比損失(iou損失),計算公式為:

      55、

      56、即真實框和預(yù)測框交集的面積與真實框和預(yù)測框并集的面積之比;

      57、⑤siou的計算公式為:

      58、

      59、進(jìn)一步的,所述的第五步中anchors可以稱為錨框,是一組預(yù)定義的邊界框,具有不同的尺寸和長寬比,用于表示圖像中可能存在的對象;這些錨框在圖像中均勻分布,每個網(wǎng)格單元都包含多個錨框,表示在該位置可能出現(xiàn)的不同大小和形狀的對象;通過k-means聚類算法,能夠根據(jù)數(shù)據(jù)集中真實的對象真實邊界框,得到一組更適合的錨框;這組錨框更貼近數(shù)據(jù)集中的對象特征,能夠顯著提高改進(jìn)的yolov7模型的檢測精度和效率;原始的yolov7模型一般需要設(shè)置9個錨框;

      60、(1)首先,收集數(shù)據(jù)集中共8114個對象的真實邊界框(ground?truth?boundingboxes),即每個對象的寬度w和高度h;值得注意的是,這里的寬和高范圍為0~1,是真實邊界框的寬高與圖像寬高的比值;

      61、(2)為了使用k-means進(jìn)行聚類,首先需要定義一個合適的距離度量;常用的一種距離度量是歐式距離,它可以衡量兩個邊界框之間的重疊程度,其計算過程如下:

      62、

      63、,其中bi為數(shù)據(jù)集中的第i個真實框,wi為第i個真實框的寬,hi為第i個真實框的高,ak表示第k個錨框,為第k個錨框的寬,為第k個錨框的高;這樣,k-means聚類算法的目標(biāo)就是最小化每個真實邊界框與其最近錨框之間的歐式距離;

      64、(3)將數(shù)據(jù)集中所有對象的寬高數(shù)據(jù)作為輸入,應(yīng)用k-means聚類算法;通過指定k值(即需要多少個anchor)為9,算法會自動將邊界框聚類為9個類;每個類的中心(即質(zhì)心)就是一個anchor,表示該類中對象的典型寬高比;

      65、(4)將得到的9個錨框(即9個質(zhì)心的寬高值)應(yīng)用到目標(biāo)檢測模型中,替換yolov7原有的預(yù)定義錨框;訓(xùn)練模型時,模型會根據(jù)這些優(yōu)化后的錨框來預(yù)測偏移量和邊界框,從而提高檢測的準(zhǔn)確性。

      66、進(jìn)一步的,所述的第六步模型的訓(xùn)練過程中,使用sgd作為優(yōu)化器,動量設(shè)為0.937,權(quán)重衰減設(shè)為5×10-4;整個訓(xùn)練過程共500個epoch,批量大小設(shè)置為2;此外,學(xué)習(xí)率設(shè)置為0.0025。輸入圖像尺寸設(shè)置為1280×1280。

      67、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:

      68、本發(fā)明示例的一種基于yolov7算法的小目標(biāo)害蟲檢測方法,相對于現(xiàn)有的檢測方法提升了相對精度,在小目標(biāo)害蟲檢測任務(wù)中具有更強(qiáng)的識別能力。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1