<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      YOLOv8原理深度解讀,超級詳細(xì)【未完待續(xù)】

      https://blog.csdn.net/Albert233333/article/details/130044349?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-130044349-blog-130930158.235^v43^pc_blog_bottom_relevance_base7&spm=1001.2101.3001.4242.2&utm_relevant_index=4

       

      從第一步,到最后一步,帶著你捋

      如果這篇博客對你有幫助,希望你 點(diǎn)贊、收藏、關(guān)注、評論,歡迎您將本文轉(zhuǎn)發(fā)給你的朋友,您的認(rèn)可將是我創(chuàng)作下去最大的動力!

      整體架構(gòu)

      Backbone: Feature Extractor提取特征的網(wǎng)絡(luò),其作用就是提取圖片中的信息,供后面的網(wǎng)絡(luò)使用

      Neck : 放在backbone和head之間的,是為了更好的利用backbone提取的特征,起著“特征融合”的作用。

      Head:利用前面提取的特征,做出識別

      常見的一些Backbone, Neck, Head網(wǎng)絡(luò)

      ———————————————————————————————————————————

      ———————————————————————————————————————————

      ———————————————————————————————————————————

      我們在后文講述YOLOv8模型過程中會使用大量的術(shù)語和縮寫。同樣地,當(dāng)我們在閱讀網(wǎng)上這些YOLOv8的帖子的時(shí)候,我們會發(fā)現(xiàn)這些帖子(包括本文)都是默認(rèn)你已經(jīng)十分了解YOLOv1到Y(jié)OLOv7的這些模型知識。或者說你起碼要非常熟悉YOLOv5。

      這是因?yàn)閅OLOv8是博采眾長的集大成之作。它參考了YOLOv1到Y(jié)OLOv7系列的模型,博采眾長,集各家優(yōu)點(diǎn)于一身。

      如果你在閱讀我后文博客的過程中,發(fā)現(xiàn)有些有些設(shè)計(jì)思想你不熟悉,很多術(shù)語不知道是什么意思,那么你可以讀讀我下面這幾篇有關(guān)YOLOv8前置知識的掃盲帖。這些帖子將有助于你深入理解并吃透YOLOv8

              這些掃盲帖的編寫需要花費(fèi)一些時(shí)間。我會一篇篇寫完,更新在這里,盡我全力帶你了解YOLOv1到Y(jié)OLOv7所有的模型。

      淺析目標(biāo)檢測入門算法:YOLOv1,SSD,YOLOv2,YOLOv3,CenterNet,EfficientDet,YOLOv4_德彪穩(wěn)坐倒騎驢的博客-CSDN博客本文致力于讓讀者對以下這些模型的創(chuàng)新點(diǎn)和設(shè)計(jì)思想有一個(gè)大體的認(rèn)識,從而知曉YOLOv1到Y(jié)OLOv4的發(fā)展源流和歷史演進(jìn),進(jìn)而對目標(biāo)檢測技術(shù)有更為宏觀和深入的認(rèn)知。本文講解的模型包括:YOLOv1,SSD,YOLOv2,YOLOv3,CenterNet,EfficientDet,YOLOv4。https://blog.csdn.net/Albert233333/article/details/132729610

      ——

      目標(biāo)檢測評估指標(biāo)mAP:從Precision,Recall,PR曲線到AP_德彪穩(wěn)坐倒騎驢的博客-CSDN博客本文從True Positive, False Positive和False Negative的定義出發(fā),講解了Precision和Recall的定義,如何繪制P-R(Precision Recall)曲線,如何進(jìn)一步計(jì)算得出AP。本文提供了手動計(jì)算所有指標(biāo)的過程以及用sklearn計(jì)算這些指標(biāo)的代碼以及P-R curve的示意圖。通過閱讀本文你可以從源頭開始了解mAP這一指標(biāo)是如何計(jì)算的。https://blog.csdn.net/Albert233333/article/details/132752216

      ——
      YOLOv3模型原理深度解析_德彪穩(wěn)坐倒騎驢的博客-CSDN博客本文從以下六個(gè)層面對YOLOv8的模型原理進(jìn)行了解讀。本文首先講解了其backbone DarkNet53使用殘差連接和1×1卷積帶來的優(yōu)勢。然后針對backbone上的Feautre Pyramid Network在CNN自動特征提取、整合多尺度特征上的優(yōu)勢。然后本文講解YOLOv3首次引入的anchor based方法。YOLOv3采用相對坐標(biāo)的方式來推算絕對坐標(biāo)。最后本文分析了損失函數(shù)的構(gòu)成https://blog.csdn.net/Albert233333/article/details/132963137

      ———————————————————————————————————————————

      ———————————————————————————————————————————

      ———————————————————————————————————————————
      Backbone
      Darknet-53

      53指的是“52層卷積”+output layer。

      借鑒了其他算法的這些設(shè)計(jì)思想

          借鑒了VGG的思想,使用了較多的3×3卷積,在每一次池化操作后,將通道數(shù)翻倍;

          借鑒了network in network的思想,使用全局平均池化(global average pooling)做預(yù)測,并把1×1的卷積核置于3×3的卷積核之間,用來壓縮特征;(我沒找到這一步體現(xiàn)在哪里)

          使用了批歸一化層穩(wěn)定模型訓(xùn)練,加速收斂,并且起到正則化作用。

              以上三點(diǎn)為Darknet19借鑒其他模型的點(diǎn)。Darknet53當(dāng)然是在繼承了Darknet19的這些優(yōu)點(diǎn)的基礎(chǔ)上再新增了下面這些優(yōu)點(diǎn)的。因此列在了這里

          借鑒了ResNet的思想,在網(wǎng)絡(luò)中大量使用了殘差連接,因此網(wǎng)絡(luò)結(jié)構(gòu)可以設(shè)計(jì)的很深,并且緩解了訓(xùn)練中梯度消失的問題,使得模型更容易收斂。

          使用步長為2的卷積層代替池化層實(shí)現(xiàn)降采樣。(這一點(diǎn)在經(jīng)典的Darknet-53上是很明顯的,output的長和寬從256降到128,再降低到64,一路降低到8,應(yīng)該是通過步長為2的卷積層實(shí)現(xiàn)的;在YOLOv8的卷積層中也有體現(xiàn),比如圖中我標(biāo)出的這些位置)

          特征融合

      模型架構(gòu)圖如下

        Darknet-53的特點(diǎn)可以這樣概括:(Conv卷積模塊+Residual Block殘差塊)串行疊加4次

        Conv卷積層+Residual Block殘差網(wǎng)絡(luò)就被稱為一個(gè)stage

      上面紅色指出的那個(gè),原始的Darknet-53里面有一層 卷積,在YOLOv8里面,把一層卷積移除了

      為什么移除呢?

              原始Darknet-53模型中間加的這個(gè)卷積層做了什么?濾波器(卷積核)的個(gè)數(shù)從 上一個(gè)卷積層的512個(gè),先增加到1024個(gè)卷積核,然后下一層卷積的卷積核的個(gè)數(shù)又降低到512個(gè)

              移除掉這一層以后,少了1024個(gè)卷積核,就可以少做1024次卷積運(yùn)算,同時(shí)也少了1024個(gè)3×3的卷積核的參數(shù),也就是少了9×1024個(gè)參數(shù)需要擬合。這樣可以大大減少了模型的參數(shù),(相當(dāng)于做了輕量化吧)

              移除掉這個(gè)卷積層,可能是因?yàn)樽髡甙l(fā)現(xiàn)移除掉這個(gè)卷積層以后,模型的score有所提升,所以才移除掉的。為什么移除掉以后,分?jǐn)?shù)有所提高呢?可能是因?yàn)槎嗔诉@些參數(shù)就容易,參數(shù)過多導(dǎo)致模型在訓(xùn)練集刪過擬合,但是在測試集上表現(xiàn)很差,最終模型的分?jǐn)?shù)比較低。你移除掉這個(gè)卷積層以后,參數(shù)減少了,過擬合現(xiàn)象不那么嚴(yán)重了,泛化能力增強(qiáng)了。當(dāng)然這個(gè)是,拿著你做實(shí)驗(yàn)的結(jié)論,反過來再找補(bǔ),再去強(qiáng)行解釋這種現(xiàn)象的合理性。

              過擬合(是否可以這樣解釋,你可以問問老師)

      通過MMdetection官方繪制冊這個(gè)圖我們可以看到,進(jìn)來的這張圖片經(jīng)過一個(gè)“Feature Pyramid Network(簡稱FPN)”,然后最后的P3、P4、P5傳遞給下一層的Neck和Head去做識別任務(wù)。 PAN(Path Aggregation Network)

      在這里插入圖片描述

          “FPN是自頂向下,將高層的強(qiáng)語義特征傳遞下來。PAN就是在FPN的后面添加一個(gè)自底向上的金字塔,對FPN補(bǔ)充,將低層的強(qiáng)定位特征傳遞上去,

      FPN是自頂(小尺寸,卷積次數(shù)多得到的結(jié)果,語義信息豐富)向下(大尺寸,卷積次數(shù)少得到的結(jié)果),將高層的強(qiáng)語義特征傳遞下來,對整個(gè)金字塔進(jìn)行增強(qiáng),不過只增強(qiáng)了語義信息,對定位信息沒有傳遞。PAN就是針對這一點(diǎn),在FPN的后面添加一個(gè)自底(卷積次數(shù)少,大尺寸)向上(卷積次數(shù)多,小尺寸,語義信息豐富)的金字塔,對FPN補(bǔ)充,將低層的強(qiáng)定位特征傳遞上去,又被稱之為“雙塔戰(zhàn)術(shù)”。

      FPN層自頂向下傳達(dá)強(qiáng)語義特征,而特征金字塔則自底向上傳達(dá)強(qiáng)定位特征,兩兩聯(lián)手,從不同的主干層對不同的檢測層進(jìn)行參數(shù)聚合,這樣的操作確實(shí)很皮。
      自底向上增強(qiáng)

      而 PAN(Path Aggregation Network)是對 FPN 的一種改進(jìn),它的設(shè)計(jì)理念是在 FPN 后面添加一個(gè)自底向上的金字塔。PAN 引入了路徑聚合的方式,通過將淺層特征圖(低分辨率但語義信息較弱)和深層特征圖(高分辨率但語義信息豐富)進(jìn)行聚合,并沿著特定的路徑傳遞特征信息,將低層的強(qiáng)定位特征傳遞上去。這樣的操作能夠進(jìn)一步增強(qiáng)多尺度特征的表達(dá)能力,使得 PAN 在目標(biāo)檢測任務(wù)中表現(xiàn)更加優(yōu)秀。

      FPN Explained | Papers With Code

      https://jonathan-hui.medium.com/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c

      正常的YOLOv8對象檢測模型輸出層是P3、P4、P5三個(gè)輸出層,為了提升對小目標(biāo)的檢測能力,新版本的YOLOv8 已經(jīng)包含了P2層(P2層做的卷積次數(shù)少,特征圖的尺寸(分辨率)較大,更加利于小目標(biāo)識別),有四個(gè)輸出層。Backbone部分的結(jié)果沒有改變,但是Neck跟Header部分模型結(jié)構(gòu)做了調(diào)整。這就是為什么v8模型yaml文件里面(https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/v8)有p2這個(gè)模型

      新增加的這個(gè)P6,是為了引入更多的參數(shù)量,多卷積了一層,是給xlarge那個(gè)參數(shù)量準(zhǔn)備的,屬于專門適用于高分辨圖片(圖片尺寸很大,有大量可挖掘的信息)的版本。

      model=yolov8n.ymal 使用正常版本
      model=yolov8n-p2.ymal 小目標(biāo)檢測版本
      model=yolov8n-p6.ymal 高分辨率版本

      xxxYOLOv8 版本升級支持小目標(biāo)檢測與高分辨率圖像輸入

      YOLOv8計(jì)劃提供的模型的列表Models - Ultralytics YOLOv8 Docs;https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models

      自定義數(shù)據(jù)集上訓(xùn)練YOLOv5Train Custom Data - Ultralytics YOLOv8 Docs

      整個(gè)YOLOv8的backbone,畫出圖來是下面這樣

        我們可以看到這個(gè)backbone由三種模塊組成,CBS、C2f、SPPF

       卷積模塊使用CBS

      三部分組成(1)一個(gè)二維卷積+(2)二維BatchNorm+(3)SiLU激活函數(shù)

      SiLU的激活是通過sigmoid函數(shù)乘以其輸入來計(jì)算的,即xσ(x)。

      SiLU的優(yōu)勢:(沒必要這樣理解,多余的)

          無上界(避免過擬合)(Diss:哪個(gè)激活函數(shù)是有上界的?)

          有下界(產(chǎn)生更強(qiáng)的正則化效果)(Diss,同上,很多的激活函數(shù)都是有下界的,這句話有沒有必要)

          平滑(處處可導(dǎo) 更容易訓(xùn)練)(agree:確實(shí)比relu平滑)

          x<0具有非單調(diào)性,函數(shù)值先降后增,-1以前是減函數(shù),-1以后是增函數(shù)(對分布有重要意義 這點(diǎn)也是Swish和ReLU的最大區(qū)別)

      老師認(rèn)為SiLU函數(shù)優(yōu)秀在哪里?

              你去看棕黃色的那條線,是d(SiLU),也就是SiLU激活函數(shù)的導(dǎo)函數(shù),你可以看到,當(dāng)x趨近于正無窮的時(shí)候,它的導(dǎo)函數(shù)趨近于一個(gè)比1大一點(diǎn)點(diǎn)的恒定的值

              從下界那個(gè)點(diǎn)的自變量值(函數(shù)值最低的那個(gè)點(diǎn),對應(yīng)的橫坐標(biāo),也就是接近-1的那個(gè)點(diǎn)),往正半軸走,整個(gè)函數(shù)的單調(diào)遞增的

      Residual block使用C2f

       

      一個(gè)CBS卷積層,

      一個(gè)split,就是把 height × width × c_out這個(gè)feature map的channel這一維度(c_out)切成兩半,一半的feature map是h × w × 0.5c_cout,另一半是h × w × 0.5c_cout。這個(gè)把channel一劈兩半的行為稱之為split

      bottleneck之前的feature map和bottleneck之后的feature map進(jìn)行concat融合,這叫殘差連接

      n個(gè)Bottleneck串行,每個(gè)Bottleneck都和最后一個(gè)Bottleneck concatenate起來,類似于做了特征融合

      優(yōu)勢:讓YOLOv8可以在保證輕量化的同時(shí)獲得更加豐富的梯度流信息。(我沒看出來哪里實(shí)現(xiàn)了輕量化? 梯度流信息豐富性如何體現(xiàn)?梯度流信息豐富了有什么好處?)
      SPPF

      進(jìn)來一個(gè)CBS卷積層,然后串行的三個(gè)Maxpooling,未做Maxpooling的feature map和每多做一次Maxpooling后得到的feauture map進(jìn)行concat 拼接,實(shí)現(xiàn)特征融合
      用CSP的“網(wǎng)絡(luò)設(shè)計(jì)方法“對Darknet進(jìn)行輕量化

      把原始的feature map和原始feauture map經(jīng)過卷積操作后得到的結(jié)果進(jìn)行concat,就是CSP的思想

       

       

      你單獨(dú)去看backbone,你發(fā)現(xiàn)好像這些模塊之間似乎沒有使用CSP思想。一路串行下來,沒有任何的跨層融合。

      其實(shí)CSP思想的用在了組成backbone的這幾個(gè)模塊上,C2f模塊和SPPF模塊。C2f模塊里面的DarknetBottleneck(add=True)也使用了CSP網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)思想。

      Neck
      Neck上CSP思想的運(yùn)用。

      下圖有四個(gè) 紅心"c" 使用了CSP的思想。統(tǒng)統(tǒng)都是沒做過卷積的原始feature map和將“原始特征圖”進(jìn)行過很多個(gè)卷積操作的feauture map進(jìn)行融合,融合的位置就是在 四個(gè) 紅心"c" 那里。

      PAN-FPN

      PAN-FPN,是指的在在YOLOv8的neck部分模仿PANet里面的backbone,也就是FPN網(wǎng)絡(luò)(feature pyramid network)進(jìn)行組織。PAN-FPN這個(gè)網(wǎng)絡(luò)的特點(diǎn)進(jìn)行簡單概括,就是先下采樣,然后再上采樣,上采樣和下采樣的這兩個(gè)分支之間還有兩個(gè)跨層融合連接。(也可以反過來,先上采樣,再下采樣)

      用C2f模塊作為residual block

      沒啥好說的,就是圖中這四個(gè)綠藍(lán)色的模塊

      Head

      先分叉開兩個(gè)CBS卷積模塊,然后過一個(gè)Conv2d,最后分別算出classifcation loss和Bbox loss
      Decoupled-Head解耦頭

      Head 部分相比 YOLOv5 改動較大,從原先的耦合頭換成了目前主流的解耦頭結(jié)構(gòu)(Decoupled-Head),將分類和檢測頭分離。同時(shí)由于使用了DFL(Distributional Focal Loss) 的思想,因此回歸頭的通道數(shù)也變成了4*reg_max的形式,reg_max默認(rèn)16。

      它這個(gè)解耦頭Decoupled Head,具體是怎么把分類和識別這兩個(gè)任務(wù)分離開的,你要去看代碼,就是下面這段。(我現(xiàn)在還沒搞懂是怎么做到拆分開的,后面需要用到這一塊的時(shí)候,再來詳細(xì)看,詳細(xì)了解)

      一個(gè)head做目標(biāo)識別,用Bbox Loss來衡量。損失函數(shù)包括兩部分CIoU和DFL

      一個(gè)head做分類,用用BCE 二分類交叉熵?fù)p失函數(shù) 衡量,實(shí)際用的是VFL(Varifocal Loss)

      損失函數(shù)的設(shè)計(jì)
      分類損失函數(shù)

      這里注意,雖然在“\ultralytics\yolo\utils\loss.py” line 11 像下面這樣定義了VarifocalLoss,,但是在最后訓(xùn)練的時(shí)候,實(shí)際采用的分類損失是BCE loss

          class VarifocalLoss(nn.Module):
              # Varifocal loss by Zhang et al. https://arxiv.org/abs/2008.13367
              def __init__(self):
                  super().__init__()
           
              def forward(self, pred_score, gt_score, label, alpha=0.75, gamma=2.0):
                  weight = alpha * pred_score.sigmoid().pow(gamma) * (1 - label) + gt_score * label
                  with torch.cuda.amp.autocast(enabled=False):
                      loss = (F.binary_cross_entropy_with_logits(pred_score.float(), gt_score.float(), reduction="none") *
                              weight).sum()
                  return loss

      證據(jù)我提供在下面。在“\ultralytics\yolo\v8\detect\train.py” line 187有下面這段代碼。是train.py文件中這個(gè)類下面的代碼“class Loss:”

              首先我們可以看到對于cls. loss, YOLOv8的作者,沒有使用varifocal loss,(盡管前面在loss.py作者定義了varifocal loss),而是使用了BCE loss

              然后bbox loss 是 CIoU和DFL

             然后這三個(gè)loss加權(quán)平均得到最終的loss

          # cls loss
          # loss[1] = self.varifocal_loss(pred_scores, target_scores, target_labels) / target_scores_sum  # VFL way
          loss[1] = self.bce(pred_scores, target_scores.to(dtype)).sum() / target_scores_sum  # BCE
           
          # bbox loss
          if fg_mask.sum():
              loss[0], loss[2] = self.bbox_loss(pred_distri, pred_bboxes, anchor_points, target_bboxes, target_scores,
                                                        target_scores_sum, fg_mask)
           
          loss[0] *= self.hyp.box  # box gain
          loss[1] *= self.hyp.cls  # cls gain
          loss[2] *= self.hyp.dfl  # dfl gain
           
          return loss.sum() * batch_size, loss.detach()  # loss(box, cls, dfl)

      分類損失VFL Loss

      樣本不均衡,正樣本極少,負(fù)樣本極多,需要降低負(fù)樣本對 loss 的整體貢獻(xiàn)了,于是用了focal loss。VFL當(dāng)然具備focal loss擁有的所有特性。

      VFL獨(dú)有的:(1)學(xué)習(xí) IACS 得分( localization-aware 或 IoU-aware 的 classification score)(2)如果正樣本的 gt_IoU 很高時(shí),則對 loss 的貢獻(xiàn)更大一些,可以讓網(wǎng)絡(luò)聚焦于那些高質(zhì)量的樣本上,也就是說訓(xùn)練高質(zhì)量的正例對AP的提升比低質(zhì)量的更大一些。

      目標(biāo)識別損失1-DFL(Distribution Focal Loss)

      這個(gè)東西的公式入下

       https://arxiv.org/pdf/2006.04388.pdf

      將框的位置建模成一個(gè) general distribution,讓網(wǎng)絡(luò)快速的聚焦于和目標(biāo)位置距離近的位置的分布

      目標(biāo)識別損失2-CIOU Loss

      CIoU講述的最清楚的一篇文章——

      ?????目標(biāo)檢測中的損失函數(shù)IoU、GIoU、DIoU、CIoU、SIoU_siou和ciou__-CHEN-_的博客-CSDN博客

      考慮到長寬比

              

      三角形湊成一堆,三角形匹配問題

      樣本匹配

      YOLOv8則是(1)拋棄了Anchor-Base方法,轉(zhuǎn)而使用Anchor-Free方法,(2)找到了一個(gè)替代邊長比例的匹配方法——TaskAligned

      Anchor-Based是什么?——Anchor-Based是指的利用anchor匹配正負(fù)樣本,從而縮小搜索空間,更準(zhǔn)確、簡單地進(jìn)行梯度回傳,訓(xùn)練網(wǎng)絡(luò)。

      Anchor-Based方法的劣勢是什么?——但是因?yàn)橄铝羞@些劣勢,我們拋棄掉了anchor 這一多余的步驟:anchor也會對網(wǎng)絡(luò)的性能帶來影響,(1)如巡訓(xùn)練匹配時(shí)較高的開銷、(2)有許多超參數(shù)需要人為嘗試調(diào)節(jié)等

      Anchor-free的優(yōu)勢是什么?——Anchor-free模型則摒棄或是繞開了錨的概念,用更加精簡的方式來確定正負(fù)樣本,同時(shí)達(dá)到甚至超越了兩階段anchor-based的模型精度,并擁有更快的速度。

      為與NMS(non maximum suppression非最大抑制)搭配,訓(xùn)練樣例的Anchor分配需要滿足以下兩個(gè)規(guī)則:——設(shè)計(jì)TaskAligned這個(gè)規(guī)則初衷

          正常對齊的Anchor應(yīng)當(dāng)可以預(yù)測高分類得分,同時(shí)具有精確定位;

          不對齊的Anchor應(yīng)當(dāng)具有低分類得分,并在NMS階段被抑制。 基于上述兩個(gè)目標(biāo),TaskAligned設(shè)計(jì)了一個(gè)新的Anchor alignment metric 來在Anchor level 衡量Task-Alignment的水平。并且,Alignment metric 被集成在了 sample 分配和 loss function里來動態(tài)的優(yōu)化每個(gè) Anchor 的預(yù)測。(完全沒看懂這句話)

      Anchor alignment metric:

      分類得分和 IoU表示了這兩個(gè)任務(wù)的預(yù)測效果,所以,TaskAligned使用分類得分和IoU的高階組合來衡量Task-Alignment的程度。使用下列的方式來對每個(gè)實(shí)例計(jì)算Anchor-level 的對齊程度:

      s 和 u 分別為分類得分和 IoU 值,α 和 β 為權(quán)重超參。 從上邊的公式可以看出來,t 可以同時(shí)控制分類得分和IoU 的優(yōu)化來實(shí)現(xiàn) Task-Alignment,可以引導(dǎo)網(wǎng)絡(luò)動態(tài)的關(guān)注于高質(zhì)量的Anchor。TaskAlignedAssigner 的匹配策略簡單總結(jié)為: 根據(jù)分類與回歸的分?jǐn)?shù)加權(quán)的分?jǐn)?shù)選擇正樣本。
      Training sample Assignment:

      為提升兩個(gè)任務(wù)的對齊性,TOOD(Task-aligned One-stage Object Detection)聚焦于Task-Alignment Anchor,采用一種簡單的分配規(guī)則選擇訓(xùn)練樣本:對每個(gè)實(shí)例,選擇m個(gè)具有最大t值的Anchor作為正樣本,選擇其余的Anchor作為負(fù)樣本。然后,通過損失函數(shù)(針對分類與定位的對齊而設(shè)計(jì)的損失函數(shù))進(jìn)行訓(xùn)練。
      看完后覺得哪些地方可以改進(jìn)?

      損失函數(shù)改進(jìn),畢竟還有個(gè)數(shù)人數(shù)的那個(gè)指標(biāo)可以加進(jìn)損失函數(shù)里

      小目標(biāo)檢測的方法往里套

      加入Transformer

      拿市面上的對卷積層做一個(gè)優(yōu)化改造方法拿來用

      數(shù)據(jù)增強(qiáng),最SOTA的方法拿來用

      把backbone上更新、最SOTA的模型拿來用,——使用多個(gè)主干網(wǎng)絡(luò)融合來提取特征(Multi-Backbone?

      模型輕量化、加速

      SOTA的新出的追蹤算法或者追蹤算法的優(yōu)化

      遠(yuǎn)距離小目標(biāo)檢測

      "集智書童"知識星球里面和YOLOv8相關(guān)的鏈接

              YOLOv8結(jié)構(gòu)圖和五大改進(jìn)點(diǎn):https://wx.zsxq.com/dweb2/index/topic_detail/814854811155422

              YOLOv8詳細(xì)解讀:https://wx.zsxq.com/dweb2/index/topic_detail/814854811155422

              YOLOv8用TensorRT部署到硬件https://wx.zsxq.com/dweb2/index/topic_detail/584185818452144

              YOLOv8+DeepStreamhttps://wx.zsxq.com/dweb2/index/topic_detail/214885552854821

              YOLOv8+跟蹤:https://wx.zsxq.com/dweb2/index/topic_detail/814885552518882

              YOLO相關(guān)的所有https://articles.zsxq.com/id_4plsnfatosf0.html

              目標(biāo)檢測相關(guān)的https://wx.zsxq.com/dweb2/index/topic_detail/812848148881212

      如果這篇博客對你有幫助,希望你 點(diǎn)贊、收藏、關(guān)注、評論,您的認(rèn)可將是我創(chuàng)作下去最大的動力!

          本人承認(rèn)本篇博客里面有(1)許多的細(xì)節(jié)錯(cuò)誤需要校正(2)很多內(nèi)容并沒有解釋清楚,比如YOLOv8的backbone是如何設(shè)計(jì)的?neck是如何設(shè)計(jì)的?head 里面的decoupled head是什么?之前是什么樣的?好在哪里?

          我會在后面的半年里通過多家付費(fèi)課程包括不限于,深度之眼-目標(biāo)檢測、咕泡AI-YOLO系列、自動駕駛之心-目標(biāo)檢測等課程進(jìn)行深入學(xué)習(xí)。我學(xué)習(xí)到的知識和精華內(nèi)容我都會補(bǔ)充在這篇博客里。

      《目標(biāo)檢測》-第32章-淺析YOLOv8 - 知乎

      posted @ 2024-04-06 16:48  張同光  閱讀(2744)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 人人超碰人摸人爱| 亚洲精品区午夜亚洲精品区| 毛多水多高潮高清视频| 日本国产一区二区三区在线观看| 男受被做哭激烈娇喘gv视频| 熟女人妻aⅴ一区二区三区电影| 国产一区二区三区在线观| 亚洲免费成人av一区| 日韩丝袜欧美人妻制服| 亚洲精品色哟哟一区二区| 亚洲热视频这里只有精品| 亚洲AV成人无码久久精品四虎 | 亚洲免费的福利片| 91中文字幕在线一区| 蜜臀av日韩精品一区二区 | 饥渴的熟妇张开腿呻吟视频| 亚洲色最新高清AV网站| 中文字幕乱码熟妇五十中出 | 亚洲国产精品久久久天堂麻豆宅男| 激情国产一区二区三区四区小说| 渭南市| av在线播放无码线| 亚洲综合色区另类av| 在线播放国产精品亚洲| 盈江县| 亚洲av永久一区二区| 亚洲国产精品线观看不卡| 毛片大全真人在线| 精品无码一区二区三区水蜜桃| 欧洲精品色在线观看| 成人网站免费观看永久视频下载| 最新国产精品好看的精品| 亚洲人成网站色www| 国产亚洲精品久久久久久无亚洲| 色综合久久一区二区三区| 日本福利一区二区精品| 饶河县| 成人午夜污一区二区三区| 中文字幕亚洲资源网久久| 亚洲中文字幕第二十三页| 中文字幕日韩有码一区|