久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    YOLO系列算法全家桶——YOLOv1-YOLOv9詳細介紹 !!-CSDN博客

     netouch 2024-09-21 發布于北京

    文章目錄

    前言

    一、YOLO算法的核心思想

    1. YOLO系列算法的步驟

    2. Backbone、Neck和Head

    二、YOLO系列的算法

    1. YOLOv1(2016)

    1.1 模型介紹

    1.2 網絡結構

    1.3 實現細節

    1.4 性能表現

    2. YOLOv2(2016)

    2.1 改進部分

    2.2 網絡結構

    2.3 性能表現

    3. YOLOv3 (2018)

    3.1 模型介紹

    3.2 網絡結構

    3.3 改進部分

    3.4 性能表現

    4. YOLOv4(2020)

    4.1 模型介紹

    4.2 網絡結構

    4.3 改進部分

    4.4 性能表現

    5. YOLOv5(2020)

    5.1 模型介紹

    5.2 網絡結構

    5.3 改進部分

    5.4 性能表現

    6. YOLOX(2021)

    6.1 模型介紹

    6.2 網絡結構

    6.3 改進部分

    6.4 性能表現

    7. YOLOv6(2022)

    7.1 模型介紹

    7.2 網絡結構

    7.3 改進部分

    7.4 性能表現

    8. YOLOv7(2022)

    8.1 模型介紹

    8.2 網絡結構

    8.3 改進部分

    8.4 性能表現

    9. YOLOv8(2023)

    9.1 模型介紹

    9.2 網絡結構

    9.3 改進部分

    9.4 性能表現

    10. YOLOv9(2024)

    10.1 模型介紹

    10.2 網絡結構

    10.3 主要貢獻

    10.4 性能表現


    前言

    本文詳細介紹了從YOLOv1-YOLOv9的網絡結構,以及各個版本之間的迭代。

    YOLOv1-YOLOv8之間的對比如下表所示:

    ModelAnchorInputBackboneNeckPredict/  Train
    YOLOv1錨框(7*7grids,2 anchors

    resize(448*448*3):

    訓練是224*224,測試是448*448;

    GoogLeNet24*Conv+2*FC+reshape;Dropout防止過擬合;最后一層使用線性激活函數,其余層都使用ReLU激活函數);

    IOU_Loss、nms;一個網格只預測了2個框,并且都屬于同一類;全連接層直接預測bbox的坐標值;

    YOLOv2錨框(13*13grids,5 anchors:通過k-means選擇先驗框resize(416*416*3):416/32=13,最后得到的是奇數值有實際的中心點;在原訓練的基礎上又加上了(10個epoch)的448x448高分辨率樣本進行微調;Darknet-1919*Conv+5*MaxPool+AvgPool+Softmax;沒有FC層,每一個卷積后都使用BN和ReLU防止過擬合(舍棄dropout);提出passthrough層:把高分辨率特征拆分疊加大到低分辨率特征中,進行特征融合,有利于小目標的檢測);IOU_Loss、nms;一個網絡預測5個框,每個框都可以屬于不同類;預測相對于anchor box的偏移量;多尺度訓練(訓練模型經過一定迭代后,輸入圖像尺寸變換)、聯合訓練機制;
    YOLOv3錨框(13*13grids,9 anchors三種尺度*三種寬高比resize(608*608*3)Darknet-5353*Conv,每一個卷積層后都使用BN和Leaky ReLU防止過擬合,殘差連接);FPN(多尺度檢測,特征融合)IOU_Loss、nms;多標簽預測(softmax分類函數更改為logistic分類器);
    YOLOv4錨框resize(608*608*3)、Mosaic數據增強、SAT自對抗訓練數據增強CSPDarknet53CSP模塊:更豐富的梯度組合,同時減少計算量、跨小批量標準化(CmBN)和Mish激活、DropBlock正則化(隨機刪除一大塊神經元)、采用改進SAM注意力機制:在空間位置上添加權重);

    SPP(通過最大池化將不同尺寸的輸入圖像變得尺寸一致)、PANnet(修改PAN,add替換成concat)

    CIOU_Loss、DIOU_nms;自對抗訓練SAT:在原始圖像的基礎上,添加噪音并設置權重閾值讓神經網絡對自身進行對抗性攻擊訓練;類標簽平滑:將絕對化標簽進行平滑(如:[0,1]→[0.05,0.95]),即分類結果具有一定的模糊化,使得網絡的抗過擬合能力增強;
    YOLOv5錨框resize(608*608*3)、Mosaic數據增強、自適應錨框計算、自適應圖片縮放CSPDarknet53(CSP模塊,每一個卷積層后都使用BN和Leaky ReLU防止過擬合,Focus模塊);SPP、PAN

    GIOU_Loss、DIOU_Nms跨網格匹配(當前網格的上、下、左、右的四個網格中找到離目標中心點最近的兩個網格,再加上當前網格共三個網格進行匹配); 

    YOLOX無錨框resize(608*608*3)Darknet-53SPP、FPN

    CIOU_Loss、DIOU_Nms、Decoupled Head、SimOTA標簽分配策略;

    YOLOv6無錨框resize(640*640*3)EfficientRep Backbone(Rep算子)SPP、Rep-PAN NeckSIOU_Loss、DIOU_Nms、Efficient Decoupled HeadSimOTA標簽分配策略;
    YOLOv7錨框resize(640*640*3)Darknet-53(CSP模塊替換了ELAN模塊;下采樣變成MP2層;每一個卷積層后都使用BN和SiLU防止過擬合);SPP、PANCIOU_Loss、DIOU_NmsSimOTA標簽分配策略、帶輔助頭的訓練(通過增加訓練成本,提升精度,同時不影響推理的時間);
    YOLOv8無錨框

    resize(640*640*3)

    Darknet-53(C3模塊換成了C2F模塊SPP、PANCIOU_Loss、DFL_Loss、DIOU_Nms、TAL標簽分配策略、Decoupled Head;

    一、YOLO算法的核心思想

    YOLO系列的核心思想就是把目標檢測轉變為一個回歸問題,利用整張圖片作為網絡的輸入,通過神經網絡,得到邊界框的位置及其所屬的類別。

    1. YOLO系列算法的步驟

    (1)劃分圖像:YOLO將輸入圖像劃分為一個固定大小的網格。

    (2)預測邊界框和類別:對于每個網格,YOLO預測出固定數量(通常為5個或3個)

    的邊界框。每個邊界框由5個主要屬性描述:邊界框的位置(中心坐標和寬高)和邊界框包含的目標的置信度(confidence)。此外,每個邊界框還預測目標的類別。

    (3)單次前向傳遞:YOLO通過一個卷積神經網絡(CNN)進行單次前向傳遞,同時預測所有邊界框的位置和類別。相比于其他目標檢測算法,如基于滑動窗口或區域提議的方法,YOLO具有更快的速度,因為它只需要一次前向傳遞即可完成預測。

    (4)損失函數:YOLO使用多任務損失函數來訓練網絡。該損失函數包括位置損失、置信度損失和類別損失。位置損失衡量預測邊界框和真實邊界框之間的位置差異。置信度損失衡量邊界框是否正確地預測了目標,并懲罰背景框的置信度。類別損失衡量目標類別的預測準確性。

    (5)非最大抑制(Non-Maximum Suppression):在預測的邊界框中,可能存在多個相互重疊的框,代表同一個目標。為了消除冗余的邊界框,YOLO使用非最大抑制算法,根據置信度和重疊程度篩選出最佳的邊界框。

    2. Backbone、Neck和Head

    物體檢測器的結構開始被描述為三個部分:Backbone, Neck和Head。下圖顯示了一個高層次的Backbone, Neck 和 Head圖。

    Backbone負責從輸入圖像中提取有用的特征。它通常是一個卷積神經網絡(CNN),在大規模的圖像分類任務中訓練,如IamgeNet。骨干網絡在不同尺度上捕捉層次化的特征,在較早的層中提取低層次的特征(如邊緣和紋理),在較深的層中提取高層次的特征(如物體部分和語義信息)。

    Neck是連接Backbone和Head的一個中間部件。它聚集并細化骨干網提取的特征,通常側重于加強不同尺度的空間和語義信息。頸部可能包括額外的卷積層、特征金字塔(FPN)或其他機制,以提高特征的代表性。

    Head是物體檢測器的最后組成部分。它負責根據Backbone和Neck提供的特征進行預測。它通常由一個或多個特定任務的子網絡組成,執行分類、定位,以及最近的實例分割和姿勢估計。頭部處理頸部提供的特征,為每個候選物產生預測。最后,一個后處理步驟,如非極大值抑制(NMS),過濾掉重疊的預測,只保留置信度最高的檢測。

    二、YOLO系列的算法

    1. YOLOv1(2016)

    (論文地址:https:///pdf/1506.02640.pdf

    1.1 模型介紹

    在YOLOv1提出之前,R-CNN系列算法在目標檢測領域中獨占鰲頭。R-CNN系列檢測精度高,但是由于其網絡結構是雙階段(two-stage)的特點,使得它的檢測速度不能滿足實時性,飽受詬病。為了打破這一僵局,涉及一種速度更快的目標檢測器是大勢所趨。

    2016年,Joseph Redmon、Santosh Divvala、Ross Girshick等人提出了一種單階段(one-stage)的目標檢測網絡。它的檢測速度非???,每秒可以處理45幀圖片,能夠輕松地實時運行。由于其速度之快和其使用的特殊方法,作者將其取名為:You Only Look Once(也就是我們常說的YOLO的全稱),并將該成果發表在了CVPR2016上,從而引起了廣泛地關注。

    YOLO的核心思想就是把目標檢測轉變成一個回歸問題,利用整張圖作為網絡的輸入,僅僅經過一個神經網絡,得到bounding box(邊界框)的位置及其所屬的類別。

    1.2 網絡結構

    現在看來,YOLOv1的網絡結構十分清晰,是一種傳統的one-stage的卷積神經網絡:

    • 網絡輸入:448*448*3的彩色圖片
    • 中間層:由若干卷積層和最大池化層組成,用于提取圖片的抽象特征
    • 全連接層:由兩個全連接層組成,用來預測目標的位置和類別的概率值
    • 網絡輸出:7*7*30的預測結果

    1.3 實現細節

    (1)檢測策略

    YOLOv1采用的是“分而治之”的策略,將一張圖片平均分成7x7個網格,每個網格分別負責預測中心點落在該網格內的目標。在Faster R-CNN中,是通過一個RPN來獲得目標的感興趣區域,這種方法精度高,但是需要額外再訓練一個RPN網絡,這無疑增加了訓練的負擔。在YOLOv1中,通過劃分得到了7x7個網格,這49個網格就相當于是目標的感興趣區域。通過這種方式,我們就不需要再額外設計一個RPN網絡,這正是YOLOv1作為單階段網絡的簡單快捷之處。

    具體實現過程如下:

    ①. 將一副圖像分成S\times S個網格(grid cell),如果某個object的中心落在這個網格中,則這個網絡就負責預測這個object。

    ②. 每個網格都要預測B個bounding box,每個bounding box要預測(x,y,w.h)和confidence共5個值。

    ③. 每個網格還要預測一個類別信息,記為C個類。

    ④. 總的來說,S\times S個網格,每個網格要預測B個bounding box,還要預測C個類。網絡輸出就是一個S\times S\times (5\times B+C)的張量。

    在實際過程中,YOLOv1把一張圖片劃分為了7x7個網格,并且每個網格預測2個Box(Box1和Box2),20個類別。所以實際上,S=7,B=2,C=20。那么網絡輸出的shape也就是:7\times 7\times 30。

    (2)目標損失函數

    損失由三部分組成,分別是:坐標預測損失、置信度預測損失、類別預測損失。

    • 使用的是差方和誤差。需要注意的是,w和h在進行誤差計算的時候取得是它們的平方根,原因是對不同大小的bounding box預測中,相比于大bounding box預測偏一點,小box預測偏一點更不能忍受。而差方和誤差函數中對同樣的偏移loss是一樣。為了緩和這個問題,作者用了一個比較取巧的辦法,就是將bounding box的w和h取平方根代替原本的w和h。
    • 定位誤差比分類誤差更大,所以增加對定位誤差的懲罰,使\lambda _{coord}=5。
    • 在每個圖像中,許多網格單元不包含任何目標值。訓練時就會把這些網格里的框的“置信度”分數推到零,這往往超過了包含目標的框的梯度。從而可能導致模型不穩定,訓練早期發散。因此要減少了不包含目標的框的置信度預測的損失,使\lambda _{noobj}=0.5。

    1.4 性能表現

    (1)優點

    1. YOLO檢測速度非???。標準版本的YOLO可以每秒處理45張圖像;YOLO的極速版本每秒可以處理150幀圖像。這就意味著YOLO可以小于25毫秒延遲,實時地處理視頻。對于欠實時系統,在準確率保證的情況下,YOLO速度快于其他方法。
    2. YOLO實時檢測的平均精度是其他實時監測系統的兩倍。
    3. 遷移能力強,能運用到其他新的領域(比如藝術品目標檢測)。

    (2)局限性

    1. YOLO對相互靠近的物體,以及很小的群體檢測效果不好,這是因為一個網格只預測了2個框,并且都只屬于同一類。
    2. 由于損失函數的問題,定位誤差是影響檢測效果的主要原因,尤其是大小物體的處理上,還有待加強。(因為對于小的bounding boxes,small error影響更大)。
    3. YOLO對不常見的角度的目標泛化性性能偏弱。

    2. YOLOv2(2016)

    (論文地址:https:///pdf/1612.08242.pdf#page=4.24

    2.1 改進部分

    YOLOv2Joseph Redmon和Ali Farhadi發表在CVPR 2017。它包括了對原始YOLO的一些改進,保持相同的速度,也更強大,能夠檢測9000個類別,這些改進有以下幾點:

    (1)在所有卷積層上的批量歸一化改善了收斂性,并作為一個正則器來減少過擬合;

    (2)高分辨率分類器,和YOLOv1一樣,他們在ImageNet以224x224的分辨率對模型進行了預訓練。然而,這一次,他們在分辨率為448x448的ImageNet上對模型進行了10次微調,提高了網絡在高分辨率輸入下的性能;

    (3)完全卷積。它們去掉了密集層,采用了全卷積架構。

    (4)使用Anchor來預測邊界盒。他們使用一組先驗框Anchor,這些Anchor具有預定義的形狀,用于匹配物體的原型形狀,如圖6所示,每個網格單元都定義了多個Anchor,系統預測每個Anchor的坐標和類別。網絡輸出的大小與每個網格單元的Anchor數量成正比。

    (5)維度聚類。挑選好的Anchor有助于網絡學習預測更準確的邊界盒。作者對訓練中的邊界盒進行了k-means聚類,以找到更好的先驗。他們選擇了五個Anchor,在召回率和模型復雜性之間進行了良好的權衡。

    (6)直接預測位置。與其他預測偏移量的方法不同,YOLOv2遵循同樣的理念,預測了相對于網格單元的位置坐標,網絡為每個單元預測了五個bounding box,每個bounding box有五個值tx,ty,tw,th,to,其中to相當于YOLOv1的Pc,最終得到的bounding box坐標如圖7所示。

    (7)細粒度的特征。與YOLOv1相比,YOLOv2去掉了一個池化層,對于416x416的輸入圖像,得到13x13的特征圖。

    (8)多尺度訓練。由于YOLOv2不使用全連接層,輸入可以是不同的尺寸。為了使YOLOv2對不同的輸入尺寸具有魯棒性,作者隨機訓練模型,每10批改變尺寸(從320x320到608x608)。

    2.2 網絡結構

    YOLOv2 采用 Darknet-19 作為特征提取網絡,其整體結構如下:

    改進后的YOLOv2:Darknet-19,總結如下:

    ①. 與VGG相似,使用了很多3x3卷積核;并且每一次池化后,下一層經過卷積之后的通道數=池化輸出的通道 x 2。

    ②. 在每一層卷積后,都增加了BN層進行預處理。

    ③. 采用了降維的思想,把1x1的卷積置于3x3之間,用來壓縮特征。

    ④. 在網絡最后的輸出上增加了一個global average pooling層。

    ⑤. 整體上采用了19個卷積層,5個池化層。

    為了更好的說明,將Darknet-19與YOLOv1、VGG16網絡進行對比:

    • VGG-16:大多數檢測網絡框架都是以VGG-16作為基礎特征提取器,它功能強大,準確率高,但是計算復雜度較大,所以速度會相對較慢。因此YOLOv2的網絡結構將從這方面改進。
    • YOLOv1:基于GoogLeNet的自定義網絡,比VGG-16的速度快,但是精度稍不如VGG-16。
    • Darknet-19:速度方面,處理一張圖片僅需要55.8億次運算,相比于VGG306.9億次,速度快了近6倍。精度方面,在ImageNet上的測試精度為:top1準確率為72.9%,top5的準確率為91.2%。

    2.3 性能表現

    在VOC2007數據集上進行測試,YOLOv2在速度為67fps時,精度可以達到76.8的mAP;在速度為40fps時,精度可以達到78.6的mAP 。可以很好的在速度和精度之間進行權衡。下圖是YOLOv1在加入各種改進方法后,檢測性能的改變??梢娫诮涍^多種改進方法后,YOLOv2在原基礎上檢測精度具有很大的提升。

    相對于YOLOv1而言,不足之處在于,沒有進行多尺度特征的結合預測,傳遞模塊(Pass-Through Module)的使用在提升細粒度特征的同時也對特征的空間,分布產生了一定影響,以及對小目標的檢測能力沒有明顯提升。

    3. YOLOv3 (2018)

    (論文地址:https:///pdf/1804.02767.pdf

    3.1 模型介紹

    2018年,作者Redmon又在YOLOv2的基礎上做了一些改進。特征提取部分采用Darknet-53網絡結構代替原來的Darknet-19,利用特征金字塔網絡結構實現了多尺度檢測,分類方法使用邏輯回歸代替了softmax,在兼顧實用性的同時保證了目標檢測的準確性。

    從YOLOv1到YOLOv3,每一代性能的提升都與backbone(骨干網絡)的改進密切相關。在YOLOv3中,作者不僅提供了darknet-53,還提供了輕量級的tiny-darknet。如果你想檢測精度與速度兼備,可以選擇darknet-53作為backbone;如果你想達到更快的檢測速度,精度方面可以妥協。那么tiny-darknet是你很好的選擇。總之,YOLOv3的靈活性使得它在實際工程中得到很多人的青睞。

    3.2 網絡結構

    相比于 YOLOv2 的 骨干網絡,YOLOv3 進行了較大的改進。借助殘差網絡的思想,YOLOv3 將原來的 darknet-19 改進為darknet-53。論文中給出的整體結構如下:

    Darknet-53主要由1x1和3x3的卷積層組成,每個卷積層之后包含一個批量歸一化層和一個Leaky ReLU,加入這兩部分的目的是為了防止過擬合。卷積層、BN層以及LeakyReLU共同組成Darknet-53的基本CBL。因為在Darknet-53中共包含53個這樣的CBL,所以稱其為Darkent-53。

    為了更加清晰地了解Darknet-53的網絡結構,可以看下面這張圖:

    (圖片來源:jiangdabai)

    為了更好的理解此圖,下面對主要單元進行說明:

    • CBL:一個卷積層、一個BN層和一個Leaky ReLU組成的基本卷積單元。
    • res unit:輸入通過兩個CBL后,再與原輸入進行add;這是一種常規的殘差單元。殘差單元的目的是為了讓網絡可以提取到更深層的特征,同時避免出現梯度消失或爆炸。
    • ResX:X個殘差組件。
    • concat:將Darknet-53的中間層和后面的某一層的上采樣進行張量拼接,達到多尺度特征融合的目的。這與殘差層的add操作是不一樣的,拼接會擴充張量的維度,而add直接相加不會導致張量維度的改變。
    • 最后面的藍色立方體表示三種尺度的輸出。

    與Darknet-19相比,Darknet-53主要做了如下改進:

    • 沒有采用最大池化層,轉而采用步長為2的卷積層進行下采樣。
    • 為了防止過擬合,在每個卷積層之后加入了一個BN層和一個Leaky ReLU。
    • 引入了殘差網絡的思想,目的是為了讓網絡可以提取到更深層的特征,同時避免出現梯度消失或爆炸。
    • 將網絡的中間層和后面某一層的上采樣進行張量拼接,達到多尺度特征融合的目的。

    3.3 改進部分

    (1)輸入端

    • Mosaic數據擴增:將四張不同的訓練圖像隨機拼接在一起,形成一張馬賽克圖像。這種方式可以幫助模型學習并適應不同的場景、目標形狀和尺度變化。
    • 自適應錨框計算:引入了自適應錨框計算的機制,旨在更好地適應各種目標的尺寸和長寬比例變化。
    • 初始錨框定義:首先,根據訓練集的標注框,選擇初始的錨框。可以使用一些聚類算法(如k-means)對標注框進行聚類,以確定一組代表性的錨框。
    • 錨框調整:對于每個訓練樣本,根據該樣本中的目標框與初始框的匹配程度,調整初始框的大小和長寬比例。這可以通過計算目標框與錨框的IoU(交并比)來確定匹配程度,并根據匹配程度調整錨框的尺寸。
    • 錨框聚類:根據經過調整的錨框,再次進行聚類,得到一組更適應當前數據集的錨框。這些聚類過程通常是迭代進行的,直到達到一定的收斂條件。
    • 錨框選擇:根據聚類得到的錨框集合,可以選擇一定數量的錨框用于目標檢測。通常,可以根據聚類結果中的錨框長寬比例的分布情況,選擇一些具有代表性的錨框。
    • 自適應縮放:根據目標尺寸來自動調整輸入圖像的大小。這樣可以更好地適應不同尺度的目標,提高目標檢測的準確性。

    (2)主干網絡

    YOLOv3的主干網絡Darknet-53包含卷積層(Convolutional Layer)、殘差層(Residual Layer)、特征融合層(Feature Fusion Layer),網絡層數的加深提高了檢測精度,大量殘差網絡模塊的引入減少了由網絡層數加深引起的梯度下降問題,金字塔池化模塊的引入可以實現多尺寸的輸入和統一尺寸的輸出。

    (3)頸部網絡

    YOLOv3的頸部網絡是FPN(多尺度檢測,特征融合),FPN(Feature Pyramid Network)是一種用于目標檢測和語義分割任務的特征金字塔網絡結構。它的設計目的是解決單尺度特征提取網絡在處理不同尺度目標時的困難。

    FPN的主要思想如下:

    • 特征提?。菏紫龋ㄟ^卷積神經網絡(如ResNet)進行特征提取。這些特征具有不同的尺度和語義信息。
    • 頂層池化:為了獲取更高分辨率的特征,FPN使用自頂向下的頂層池化操作,將較低分辨率的特征圖上采樣到較高分辨率。這可以通過上采樣或插值等方法實現。
    • 橫向連接:為了融合不同層次的特征信息,FPN引入橫向連接,將上一層的特征與下一層的上采樣特征進行逐元素相加(Element-wise Sum)。這樣可以將低級別的細節信息與高級別的語義信息相結合,產生具有多尺度特征的金字塔結構。
    • 特征融合:為了進一步提升特征表達能力,FPN在每個金字塔層級上引入一個額外的卷積層,進行特征融合和調整。

    (4)輸出端

    YOLOv3在輸出的改進是多標簽預測(softmax函數變為logistics分類器)。在YOLOv1中,通常使用softmax函數作為分類器的激活函數,將每個類別的輸出轉化為概率分布。

    然而,對于YOLOv3這樣的多標簽檢測任務,一個目標可能屬于多個類別,使用softmax函數會導致多個類別的概率之和超過1,不符合多標簽問題的要求。因此,在YOLOv3中,采用了logistic分類器作為分類器的激活函數。

    logistic分類器將每個類別的輸出視為獨立的二分類問題,對每個類別使用sigmoid函數進行激活。sigmoid函數將輸出限制在0到1之間,表示每個類別的存在概率。

    3.4 性能表現

    如下圖所示,是各種先進的目標檢測算法在COCO數據集上測試結果。很明顯,在滿足檢測精度差不都的情況下,YOLOv3具有更快的推理速度。

    如下表所示,對不同的單階段和兩階段網絡進行了測試。通過對比發現,YOLOv3達到了與當前先進檢測器的同樣的水平。檢測精度最高的是單階段網絡RetinaNet,但是YOLOv3的推理速度比RetinaNet快得多。

    4. YOLOv4(2020)

    (論文地址:https:///pdf/2004.10934.pdf

    4.1 模型介紹

    從YOLOv3后,YOLO沒有新版本。直到2020年4月,Alexey Bochkovskiy、Chien-Yao Wang和Hong-Yuan Mark Liao在ArXiv發布了YOLOv4[50]的論文。起初,不同的作者提出一個新的YOLO "官方 "版本讓人感覺很奇怪;然而,YOLOv4保持了相同的YOLO理念——實時、開源、端到端和DarkNet框架——而且改進非常令人滿意,社區迅速接受了這個版本作為官方的YOLOv4。

    YOLOv4的獨特之處在于:

    是一個高效而強大的目標檢測網絡。它使我們每個人都可以使用GTX 1080Ti 或2080Ti的GPU來訓練一個超快速和精確的目標檢測器。

    在論文中,驗證了大量先進的技巧對目標檢測性能的影響。

    對當前先進的目標檢測方法進行了改進,使之更有效,并且更適合在單GPU上訓練;這些改進包括CBN、PAN、SAM等。

    4.2 網絡結構

    (圖片來源:jiangdabai)

    先詳細介紹一下YOLOv4的基本組件:

    • CBM:Yolov4網絡結構中的最小組件,由Conv+Bn+Mish激活函數三者組成。
    • CBL:由Conv+Bn+Leaky_relu激活函數三者組成。
    • Res unit:借鑒Resnet網絡中的殘差結構,讓網絡可以構建的更深。
    • CSPX:借鑒CSPNet網絡結構,由卷積層和X個Res unint模塊Concate組成。
    • SPP:采用1×1,5×5,9×9,13×13的最大池化的方式,進行多尺度融合。

    YOLOv4 = CSPDarknet53(主干) + SPP附加模塊(頸) + PANet路徑聚合(頸) + YOLOv3(頭部)

    4.3 改進部分

    (1)輸入端

    無明顯變化。

    (2)主干網絡

    • CSPDarknet-53骨干網絡:YOLOv4采用了稱為CSPDarknet-53的新的骨干網絡結構,它基于Darknet-53,并通過使用CSP(Cross Stage Partial)模塊來提高特征表示的能力。
    • SAM(Spatial Attention Module):通過引入SAM模塊,YOLOv4能夠自適應地調整特征圖的通道注意力權重。以增強對目標的感知能力。
    • Mish激活函數:YOLOv4采用了CSPDarknet-53作為其主干網絡,該網絡中的每個殘差塊(residual block)都應用了Mish激活函數。這使得網絡能夠從輸入到輸出的特征變換過程中引入非線性變換,并幫助網絡更好地捕捉輸入數據的復雜特性。

    (3)頸部網絡

    • PANet特征融合:YOLOv4引入了PANet(Path Aggregation Network)模塊,用于在不同尺度的特征圖之間進行信息傳遞和融合,以獲取更好的多尺度特征表示。
    • SPP:具體是在CSPDarknet-53網絡的后面,通過在不同大小的池化層上進行特征提取,從而捕捉到不同尺度上的上下文信息。

    (4)輸出端

    ?在YOLOv4中,確實引入了一種新的距離度量指標,稱為CIOU。

    CIOU是一種改進的目標檢測損失函數,用于衡量預測框和真實框之間的距離。CIOU是DIoU的進一步擴展,除了考慮框的位置和形狀之間的距離外,還引入了一個附加的參數用于衡量框的長寬比例的一致性。

    CIOU的計算公式如下:CIOU = IoU - (d^2 / c^2 + \alpha v) + v,其中,IoU表示傳統的交并比(Intersection over Union),d表示預測框和真實框中心點之間的歐氏距離,c表示預測框和真實框的對角線距離。在CIOU中,α是一個參數,用于平衡框長寬比例的一致性和框位置之間的距離。v是一個輔助項,用于懲罰預測框和真實框之間的長寬比例差異。

    CIOU損失是通過最小化CIOU來優化目標檢測模型。它可以作為定位損失函數的一部分,用于衡量預測框的定位準確性。通過CIOU損失的引入,YOLOv4可以更好地優化邊界框的位置、形狀和長寬比例,從而提高目標檢測的準確性和魯棒性。

    4.4 性能表現

    如下圖所示,在COCO目標檢測數據集上,對當前各種先進的目標檢測器進行了測試。可以發現,YOLOv4的檢測速度比EfficientDet快兩倍,性能相當。同時,將YOLOv3的AP和FPS分別提高10%和12%,吊打YOLOv3!

    綜合以上分析,總結出YOLOv4帶給我們的優點有:

    • 與其他先進的檢測器相比,對于同樣的精度,YOLOv4更快(FPS);對于同樣的速度,YOLOv4更準(AP)。
    • YOLOv4能在普通的GPU上訓練和使用,比如GTX 1080Ti和GTX 2080Ti等。
    • 論文中總結了各種Tricks(包括各種BoF和BoS),給我們啟示,選擇合適的Tricks來提高自己的檢測器性能。

    5. YOLOv5(2020)

    (代碼地址:https://github.com/ultralytics/yolov5

    5.1 模型介紹

    YOLOv5YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四個版本。文件中,這幾個模型的結構基本一樣,不同的是depth_multiple模型深度和width_multiple模型寬度這兩個參數。就和我們買衣服的尺碼大小排序一樣,YOLOv5s網絡是YOLOv5系列中深度最小、特征圖的寬度最小的網絡。其他三種都是在此基礎上不斷加深,不斷加寬。

    5.2 網絡結構

    (圖片來源:jiangdabai)

    • 輸入端:Mosaic數據增強、自適應錨框計算、自適應圖片縮放
    • Backbone:Focus結構,CSP結構
    • Neck:FPN+PAN結構
    • Head:CIOU_Loss

    基本組件:

    • Focus:基本上就是YOLOv2的passthrough。
    • CBL:由Conv+Bn+Leaky ReLU三者3組成。
    • CSP1_X:借鑒CSPNet網絡結構,由三個卷積層和X個Res unit模塊Concat組成。
    • CSP2_X:不再用Res unit模塊,而是改為CBL。
    • SPP:采用1x1,5x5,9x9,13x13的最大池化方式,進行多尺度融合。

    5.3 改進部分

    (1)輸入端

    無明顯變化。

    (2)主干網絡

    • Focus結構:Focus結構是YOLOv5中的一個重要組件,用于提取高分辨率特征。它采用的是一種輕量級的卷積操作,幫助模型在保持較高感受野的同時減少計算負擔。Focus結構通過將輸入特征圖進行通道劃分和空間劃分,將原始特征圖轉換為更小尺寸的特征圖,并保留了原始特征圖中的重要信息。這樣做有助于提高模型的感知能力和對小尺寸目標的檢測準確性。
    • CSPDarknet-53結構:CSP(Cross Stage Partial)Darknet-53是YOLOv5中的主干網絡結構。相對于YOLOv4中的Darknet-53,CSPDarknet-53引入了跨階級部分連接的想法,通過將特征圖在通道維度上分為兩個部分,將其中一部分直接連入下一階段,以增加信息流動的路徑,提高特征的傳遞效率。CSPDarknet-53結構在減少參數和計算量的同時,保持了較高的特征表示能力,有助于提高目標檢測的準確性和速度。

    (3)頸部網絡

    無明顯變化。

    (4)輸出端

    無明顯變化。

    5.4 性能表現

    在COCO數據集上,當輸入原圖的尺寸是:640x640時,YOLOv5的5個不同版本的模型的檢測數據如下:

    在COCO數據集上,當輸入原圖的尺寸是:1280x1280時,YOLOv5的5個不同版本的模型的檢測數據如下:

    從上表可得知,從YOLOv5n到YOLOv5x,這五個YOLOv5模型的檢測精度逐漸上升,檢測速度逐漸下降。根據項目要求,用戶可以選擇合適的模型,來實現精度與速度的最佳權衡!

    6. YOLOX(2021)

    (論文地址:https:///pdf/2107.08430.pdf

    (代碼地址:https://github.com/Megvii-BaseDetection/YOLOX?tab=readme-ov-file

    6.1 模型介紹

    YOLOX在YOLO系列的基礎上做了一系列的工作,其主要貢獻在于:在YOLOv3的基礎上,引入了Decoupled Head,Data Aug,Anchor Free和SimOTA樣本匹配的方法,構建了一種anchor-free的端到端目標檢測框架,并且達到了一流的檢測水平。

    此外,本文提出的 YOLOX-L 模型在視頻感知挑戰賽(CVPR 2021年自動駕駛研討會)上獲得了第一名。作者還提供了支持ONNX、TensorRT、NCNN和Openvino的部署版本

     為什么提出YOLOX:

    目標檢測分為Anchor Based和Anchor Free兩種方式。

    在Yolov3、Yolov4、Yolov5中,通常都是采用 Anchor Based的方式,來提取目標框。

    Yolox 將 Anchor free 的方式引入到Yolo系列中,使用anchor free方法有如下好處:

    • 降低了計算量,不涉及IoU計算,另外產生的預測框數量較少。

            假設feature map的尺度為80x80,anchor based方法在Feature Map上,每個單元格一般設置三個不同尺寸大小的錨框,因此產生3x80x80=19200個預測框。而使用anchor free的方法,僅產生80x80=6400個預測框,降低了計算量。

    • 緩解了正負樣本不平衡問題

            anchor free方法的預測框只有anchor based方法的1/3,而預測框中大部分是負樣本,因此anchor free方法可以減少負樣本數,進一步緩解了正負樣本不平衡問題。

    • 避免了anchor的調參

            anchor based方法的anchor box的尺度是一個超參數,不同的超參數設置會影響模型性能。anchor free方法避免了這一點。

    6.2 網絡結構

    (圖片來源:jiangdabai) 

    • 輸入端:表示輸入的圖片,采用的數據增強方式:RandomHorizontalFlip、ColorJitter、多尺度增強。
    • Backbone:用來提取圖片特征,采用Darknet53。
    • Neck:用于特征融合,采用PAFPN。
    • Prediction:用來結果預測。Decoupled Head、End-to-End YOLO、Anchor-free、Multi positives。

    6.3 改進部分

    1. 無錨(Anchor-free):自YOLOv2以來,所有后續的的YOLO版本都是基于錨點的檢測器。YOLOX受到CornerNet、CenterNet和FCOS等最先進的無錨物體檢測器的啟發,回到了一個無錨結構,簡化了訓練進和解碼過程。與YOLOv3基線相比,無錨的AP增加了0.9;
    2. 多重正樣本(Multi positives):為了彌補因缺乏錨點而產生的巨大不平衡,作者使用了中心采樣。他們將中心3x3的區域作為正例區域。這種方法使得AP增加了2.1。
    3. 解耦頭(Decoupled head):分類置信度和定位精度之間可能存在錯位。由于這個原因,YOLOX將這兩者分離成兩個頭(如圖2所示),一個用于分類任務,另一個用于回歸任務,將AP提高了1.1分,并加快了模型收斂。
    4. 高級標簽分配:有研究表明,當多個對象的bounding box重疊時,ground truth標簽分配可能存在模糊性,并將分配程序表述為最佳傳輸(OT)問題。YOLOX在這項工作的啟發下,提出了一個簡化的版本,稱為simOTA。這一變化使AP增加了2.3分。
    5. 強化增強:YOLOX使用MixUP和Mosaic增強。作者發現,在使用這些增強后,ImageNet預訓練不再有好處。強勢增強使AP增加了2.4分。

    6.4 性能表現

    YOLOX的性能超越了YOLOV5,YOLOX-X的AP值達到了51.2,超過YOLOV5-X 0.8個百分點,此外模型推理速度和參數量都具有比較大的優勢。

    7. YOLOv6(2022)

    (論文地址:https:///pdf/2209.02976.pdf

    (代碼地址:https://github.com/meituan/YOLOv6/

    7.1 模型介紹

    YOLOv6于2022年9月由美團視覺人工智能部發布在ArXiv。與YOLOv4和YOLOv5類似,它為工業應用提供了各種不同尺寸的模型。跟隨基于錨點的方法的趨勢,YOLOv6采用了無錨點的檢測器。

    YOLOv5/YOLOX 使用的 Backbone 和 Neck 都基于 CSPNet 搭建,采用了多分支的方式和殘差結構。對于 GPU 等硬件來說,這種結構會一定程度上增加延時,同時減小內存帶寬利用率。因此,YOLOv6對Backbone 和 Neck 都進行了重新設計,Head層沿用了YOLOX中的Decoupled Head并稍作修改。相當于YOLOv5而言,v6對網絡模型結構進行了大量的更改。

    7.2 網絡結構

    (圖片來源:cainiaoxiaoqiao)

    由上圖所示,從整體上看,YOLOv6的網絡結構與YOLOv4、YOLOv5是很相似的,尤其是backbone和neck部分,但是其中的實現模塊是有變化的;但最大的不同在于Head部分,采用的是YOLOX的hHead方式,將分類和回歸分為兩個支路,進行了解耦操作。

    7.3 改進部分

    (1)輸入端

    無錨框,取消了YOLOv1到YOLOv5一直沿用的錨框。

    (2)主干網絡

     YOLOv6的Backbone的實現的基本模塊為RVB1_X結構,其全程為RepVGGBlock_X,表示由多個RepVGGBlock組成。

    RepVGGBlock是RepVGG網絡的重復模塊,由多個RepVGGConv模塊組成。每個RepVGGBlock由兩個RepVGGConv模塊組成,第一個RepVGGConv是一個3x3卷積操作,而第二個RepVGGConv是一個1x1卷積操作。

    這兩個卷積模塊之間使用了批歸一BatchNorm)和ReLU激活函數。RepVGGConv模塊是RepVGG網絡中的基本卷積模塊,由一個卷積層、批歸一化和ReLU激活函數組成。這樣的設計使得RepVGGBlock具有較強的表達能力,并且可以適應不同的特征提取需求。

    RepVGGBlock在RepVGG網絡中被重復堆疊多次,形成了深層的網絡結構。通過堆疊多個RepVGGBlock,可以提高網絡的表示能力和復雜度,從而實現更準確的特征提取和目標識別。

    (3)頸部網絡

    PANet結構類似更換為RepVGGBlock結構。

    (4)輸出端

    YOLOv6對檢測頭進行了解耦,分開了邊框與類別的分類過程。

    7.4 性能表現

    YOLOv6 的檢測精度和速度均優于以前最先進的模型,同時設計了 8 種縮放模型為不同場景中的工業應用定制不同規模的網絡模型,可以檢測不同尺度的圖像從而提高檢測效果,其部署簡單、計算量較低,適用于實時檢測。并且支持在不同平臺上面的部署,簡化工程部署的適配工作。但檢測準確率其同時期的其他先進算法相比較低。

    下表為與 COCO 2017 val 上其他 YOLO 系列的比較。FPS 和延遲是在使用 TensorRT 的 Tesla T4 上以 FP16 精確度測量的。我們的所有模型都在沒有預訓練或任何外部數據的情況下訓練了 300 個epoch。在輸入分辨率為 640×640 的情況下,我們對模型的準確性和速度性能進行了評估。'?'表示所提出的自蒸餾方法是傾斜化的。?"表示通過官方代碼發布的模型的重新評估結果。

    8. YOLOv7(2022)

    (論文地址:https:///pdf/2207.02696.pdf

    (代碼地址:https://github.com/WongKinYiu/yolov7

    8.1 模型介紹

    YOLOv7由YOLOv4和YOLOR的同一作者于2022年7月發表在ArXiv。當時,在5 FPS到160 FPS的范圍內,它的速度和準確度超過了所有已知的物體檢測器。與YOLOv4一樣,它只使用MS COCO數據集進行訓練,沒有預訓練的骨干。YOLOv7提出了一些架構上的變化和一系列的免費包,在不影響推理速度的情況下提高了準確率,只影響了訓練時間。

    8.2 網絡結構

    首先對輸入的圖片 resize 為 640x640 大小,輸入到 backbone 網絡中,然后經 head 層網絡輸出三層不同 size 大小的 **feature map**,經過 Rep 和 conv輸出預測結果,這里以 coco 為例子,輸出為 80 個類別,然后每個輸出(x ,y, w, h, o) 即坐標位置和前后背景,3 是指的 anchor 數量,因此每一層的輸出為 (80+5)x3 = 255再乘上 feature map 的大小就是最終的輸出了。

    8.3 改進部分

    (1)輸入端

    與YOLOv5類似。

    (2)主干網絡

    Backbone為骨干網絡由CBS、ELAN、MP-1組成。

    • CBS結構:特征提取和通道轉換。
    • ELAN:通過不同的分支將特征圖拼接起來,進而促進更深層網絡的有效學習和收斂。
    • MP-1:將經過不同下采樣方式所得到的特征圖進行融合,在不增加計算量的同時保留更多的特征信息。

    (3)頸部網絡

    該網絡主要包括SPPCSPC、ELANW、UPSample三個子模塊和Cat結構,其中,SPPCSPC模塊用于提高特征提取的效率和準確率;ELANW模塊相比于ELAN模塊增加了兩個拼接操作;UPSample模塊用于實現不同層次特征的高效融合;Cat結構旨在進一步優化卷積層的效果。

    (4)輸出端

    與YOLOv6類似。檢測頭負責網絡最終的預測輸出,針對Neck處理后的特征信息進行解耦,采用重參數化模塊對Neck輸出的三種不同尺寸的特征進行通道數調整,再經過1x1的卷積操作,得出目標物體的位置、置信度和類別的預測。

    8.4 性能表現

    ??YOLOv7 算法提出了基于級聯的模型縮放策略從而生成不同尺寸的模型,減少參數量和計算量,可以進行實時目標檢測,在大數據集進行訓練檢測有較高精度且整體檢測性能有所提升。但是其網絡架構也相對復雜進行訓練測試需要大量計算資源,且對小目標和密集場景的檢測效果較差。

    9. YOLOv8(2023)

    (代碼地址:https://github.com/ultralytics/ultralytics

    9.1 模型介紹

    YOLOv8 與YOLOv5出自同一個團隊,是一款前沿、最先進(SOTA)的模型,基于先前 YOLOv5版本的成功,引入了新功能和改進,進一步提升性能和靈活性。

    YOLOv8是一種尖端的、最先進的 (SOTA) 模型,它建立在以前成功的 YOLO 版本的基礎上,并引入了新的功能和改進,以進一步提高性能和靈活性。YOLOv8 旨在快速、準確且易于使用,這也使其成為對象檢測、圖像分割和圖像分類任務的絕佳選擇。具體創新包括一個新的骨干網絡、一個新的 Ancher-Free 檢測頭和一個新的損失函數,還支持YOLO以往版本,方便不同版本切換和性能對比。

    YOLOv8 有 5 個不同模型大小的預訓練模型:n、s、m、l 和 x。關注下面的參數個數和COCO mAP(準確率),可以看到準確率比YOLOv5有了很大的提升。特別是 l 和 x,它們是大模型尺寸,在減少參數數量的同時提高了精度。

    9.2 網絡結構

    整體結構上與YOLOv5類似: CSPDarknet(主干) + PAN-FPN(頸) + Decoupled-Head(輸出頭部),但是在各模塊的細節上有一些改進,并且整體上是基于anchor-free的思想,這與yolov5也有著本質上的不同。

    9.3 改進部分

    (1)輸入端

    與YOLOv7類似。

    (2)主干網絡

    Backbone部分采用的結構為Darknet53,其中包括基本卷積單元Conv、實現局部特征和全局特征的Feature Map級別的融合的空間金字塔池化模塊SPPF、增加網絡的深度和感受野,提高特征提取能力的C2F模塊。

    (3)頸部網絡

    與YOLOv5類似。

    (4)輸出端

    在損失函數計算方面,采用了Task AlignedAssigner正樣本分配策略。由分類損失VFL(Varifocal Loss)和回歸損失CIOU(Complete-IOU)+DFL(Deep Feature Loss)兩部分的三個損失函數加權組合而成。

    9.4 性能表現

    YOLOv8 的檢測、分割和姿態模型在 COCO 數據集上進行預訓練,而分類模型在 ImageNet 數據集上進行預訓練。在首次使用時,模型會自動從最新的 Ultralytics 發布版本中下載。

    YOLOv8共提供了5中不同大小的模型選擇,方便開發者在性能和精度之前進行平衡。以下以YOLOv8的目標檢測模型為例:

    YOLOv8的分割模型也提供了5中不同大小的模型選擇:

    從下圖我們可以看到,YOLOv8 在目標檢測和實例分割任務上的性能都很好:

    ???????

    (圖片來源:YOLOv8來了!) 

    10. YOLOv9(2024)

    (論文地址:https:///pdf/2402.13616.pdf

    (代碼地址:https://github.com/WongKinYiu/yolov9

    10.1 模型介紹

    YOLOv9是原YOLOv7團隊打造,提出了可編程梯度信息(PGI)的概念來應對深度網絡實現多個目標所需的各種變化。 PGI可以為目標任務計算目標函數提供完整的輸入信息,從而獲得可靠的梯度信息來更新網絡權值。此外,還設計了一種新的輕量級網絡架構——基于梯度路徑規劃的通用高效層聚合網絡(GELAN)。 GELAN的架構證實了PGI在輕量級模型上取得了優異的結果。

    10.2 網絡結構

    下圖展示了不同網絡架構的隨機初始權重輸出特征圖的可視化結果:(a) 輸入圖像,(b) PlainNet,(c) ResNet,(d) CSPNet,和 (e) 提議的GELAN。從這些可視化結果中,我們可以看出在不同的架構中,提供給目標函數用以計算損失的信息在不同程度上有所丟失,而提議的GELAN架構能夠保留最完整的信息,并為計算目標函數提供最可靠的梯度信息。

    具體來說,輸入圖像(a)是原始未處理的圖像。接下來的四個圖像(b-e)分別展示了當這個輸入圖像通過不同的網絡架構時,在網絡的某一層上的特征圖。這些特征圖通過網絡層的權重隨機初始化得到,旨在展示網絡在處理數據時的特征提取能力。圖中的顏色變化代表特征的激活程度,激活程度越高,說明網絡對于圖像的某一部分特征越敏感。

    • PlainNet (b) 顯示了一個基本網絡結構的特征圖,可以看到有大量的信息丟失,這意味著在實際應用中可能不會捕捉到所有有用的特征。
    • ResNet (c) 作為一個經典的深度學習架構,展示了更好的信息保留能力,但仍有一些信息損失。
    • CSPNet (d) 通過其特殊的結構設計,進一步減少了信息的丟失。
    • GELAN (e) 展示了該研究提出的架構,從圖中可以看出,與其他架構相比,它保留了最完整的信息,這表明GELAN架構能更好地保留輸入數據的信息,為后續的目標函數計算提供更準確的梯度信息。

    10.3 主要貢獻

    1. 我們從可逆函數的角度理論分析了現有的深度神經網絡架構,并通過這一過程成功解釋了過去難以解釋的許多現象。我們還基于這一分析設計了PGI和輔助可逆分支,并取得了優異的結果。
    2. 我們設計的PGI解決了深度監督只能用于極深神經網絡架構的問題,因此允許新的輕量級架構真正應用于日常生活中。
    3. 我們設計的GELAN僅使用傳統卷積就實現了比基于最先進技術的深度卷積設計更高的參數利用率,同時展現了輕巧、快速和準確的巨大優勢。
    4. 結合所提出的PGI和GELAN,YOLOv9在MS COCO數據集上的對象檢測性能在所有方面都大大超過了現有的實時對象檢測器。

    核心算法:(具體參考:http://t./1LWuY

    (1)可編程梯度信息(PGI)

    為了解決上述問題,論文提出了一種新的輔助監督框架,稱為可編程梯度信息(PGI),如圖3(d)所示。 PGI主要包括三個組成部分:主分支、輔助可逆分支、多級輔助信息。

    從圖3(d)中我們可以看出,PGI的推理過程僅使用主分支,因此不需要任何額外的推理成本。至于其他兩個組件,它們僅用于訓練階段而不在推理階段,用于解決或減緩深度學習方法中的幾個重要問題:

    • 輔助可逆分支:是為了處理神經網絡加深帶來的問題而設計的。網絡加深會造成信息瓶頸,導致損失函數無法生成可靠的梯度。
    • 對于多級輔助信息:旨在處理深度監督帶來的誤差累積問題,特別是針對多個預測分支的架構和輕量級模型。

    (2)GELAN 

    通過結合采用梯度路徑規劃設計的兩種神經網絡架構CSPNet 和ELAN ,論文設計了兼顧輕量級、推理速度和準確性的廣義高效層聚合網絡(GELAN)。其整體架構如圖 4 所示。論文將最初僅使用卷積層堆疊的 ELAN 的功能推廣到可以使用任何計算塊的新架構。

    10.4 性能表現

    我們基于YOLOv7和Dynamic YOLOv7分別構建了YOLOv9的通用和擴展版本。在網絡架構設計中,我們用GELAN替換了ELAN,GELAN使用CSPNet塊作為計算塊,并計劃采用RepConv。我們還簡化了下采樣模塊,并優化了無錨點的預測頭。至于PGI的輔助損失部分,我們完全遵循了YOLOv7的輔助頭設置。

    如表1所示,與輕量級和中型模型YOLO MS相比,YOLOv9的參數減少了約10%,計算量減少了5~15%,但AP仍然有0.4~0.6%的提升。與 YOLOv7 AF 相比,YOLOv9-C 的參數減少了 42%,計算量減少了 22%,但達到了相同的 AP(53%)。與YOLOv8-X相比,YOLOv9-E參數減少16%,計算量減少27%,AP顯著提升1.7%。上述對比結果表明,論文提出的YOLOv9與現有方法相比在各方面都有顯著改進。

    參考:

    https:///pdf/2304.00501.pdf

    http://t./pQb6X

    http://t./GfUXC

    http://t./f9x3z

    http://t./gSuBb

    http://t./eIzHw

    http://t./0e7zR

    https://www.cnblogs.com/cvlinke/p/16496988.html

    http://t./CvyTo

    http://t./aKEOi

    http://t./1LWuY

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 狠狠色丁香婷婷综合潮喷| 2021AV在线无码最新| 午夜大片免费男女爽爽影院| 亚洲午夜性猛春交XXXX| 蜜桃无码一区二区三区| 唐人社视频呦一区二区| 亚洲成AV人片在线观看麦芽| 欧美一本大道香蕉综合视频| 久久夜色撩人精品国产小说| 综合色一色综合久久网| 国内精品国产成人国产三级| 国内老熟妇乱子伦视频| 国产成人av电影在线观看第一页 | 女人十八毛片A级十八女人 | 久久天天躁狠狠躁夜夜婷| 欧美亚洲国产一区二区三区| 麻豆一区二区中文字幕| 中文字幕无码中文字幕有码A| 人妻日韩精品中文字幕| 亚洲欧美日韩精品久久亚洲区| 东京热人妻丝袜无码AV一二三区观| 高清国产MV视频在线观看| 国产不卡精品视频男人的天堂| 亚洲一区二区三区无码久久| 成人爽A毛片在线视频淮北| 日韩av片无码一区二区不卡| 国产午夜成人无码免费看| 中文字幕精品亚洲二区| 夜夜爽妓女8888视频免费观看| 在线观看国产成人AV天堂| 好紧好滑好湿好爽免费视频| 久久精品国产亚洲AV嫖农村妇女 | 国产精品免费看久久久无码| 蜜桃视频一区二区在线观看| 少妇人妻真实偷人精品| 色老头在线一区二区三区| 国产精品亚洲А∨怡红院| 国产精品SM捆绑调教视频| 亚洲综合在线一区二区三区| 中文字幕无码免费久久| 久久久久成人片免费观看蜜芽|