天天看點

yolov4論文翻譯(YOLOv4: Optimal Speed and Accuracy of Object Detection)

Abstract

​ 據說有很多功能提高卷積神經網絡(CNN)的準确性。實際測試此類功能的組合需要資料集和結果的理論依據。某些功能僅在某些型号上運作并且僅針對某些問題,或者僅針對小規模問題資料集而一些功能,例如批量歸一化和殘餘連接配接,适用于大多數模型,任務和資料集。我們假設這樣的普遍性功能包括權重殘差連接配接(WRC),跨階段部分連接配接(CSP),交叉微型批處理歸一化(CmBN),自我對抗訓練(SAT)和米什激活。我們使用新功能:WRC,CSP,CmBN,SAT,Mish激活,鑲嵌資料增強,CmBN,DropBlock正則化和CIoU損失,并将其中的一些結合起來以達到最新的結果:43.5% 在Tesla V100上,MS COCO資料集的AP(65.7%AP50)的實時速度約為65 FPS。源代碼位于https://github.com/AlexeyAB/darknet。

1. Introduction

​ 大多數基于CNN的物體探測器在很大程度上僅适用于推薦系統。 例如,通過慢速精确模型執行通過城市錄影機搜尋空閑停車位的過程,而汽車碰撞警告與快速不精确模型有關。 改善中實時物體檢測器的準确性使得可以使用它們不僅用于生成提示的推薦系統,而且也用于獨立的流程管理和人工輸入減少。 正常圖形處理單元(GPU)上的實時對象檢測器操作可實作其品質以合理的價格使用。 最準确的現代神經網絡不能實時運作并且需要大量大量小批量訓練的GPU數量。我們通過建立可在正常GPU上實時運作的CNN來解決此類問題,訓練隻需要一個傳統的GPU。

​ 這項工作的主要目标是設計生産系統中可以以快速運作的速度運作的目标檢測器,并優化并行計算,而不是低計算量理論名額(BFLOP)。 我們希望可以輕松地訓練和使用設計的對象。 例如,使用YOLOv4結果如圖1所示,任何使用正常GPU進行訓練和測試的人都可以獲得實時,高品質和令人信服的對象檢測結果。我們的貢獻總結如下:

1.我們開發了高效而強大的物體檢測模型。 它使每個人都可以使用1080 Ti或2080 Ti GPU訓練超快速,準确的物體檢測器。

2.我們在探測器training期間,驗證了 state-of-the-art, Bag-ofFreebies ,Bag-of-Specials檢測方法的影響。

3.我們修改 state-of-the-art方法并使之更有效,更适合單GPU訓練,包括CBN [89],PAN [49],SAM [85]等。

2. Related work

2.1. Object detection models

​ 現在的探測器通常由兩部分組成,在ImageNet上預先訓練的backbone和head, 用于預測對象的類和邊界框。對于在GPU平台上運作的檢測器,backbone 可以是VGG [68],ResNet [26],ResNeXt [86]或DenseNet [30]。對于在CPU平台上運作的檢測器,其backbone 可以是SqueezeNet [31],MobileNet[28,66,27,74]或ShuffleNet [97,53]。至于head,它通常分為兩種,即one-stage 對象探測器和two-stage 物體探測器。最有代表性的two-stage物體檢測器是R-CNN [19]系列,包括 fast R-CNN [18], faster R-CNN [64], R-FCN [9], 和Libra R-CNN [58].也有可能使兩階段目标檢測器成為anchor-free目标檢測器,例如RepPoints [87]。one-stage物體檢測器,代表機型是YOLO [61,62,63],SSD [50],和RetinaNet [45]。近年來,開發了anchor-free one-stage物體檢測器。這種檢測器有CenterNet [13],CornerNet [37、38],FCOS [78]等。近年來開發的對象探測器通常在骨架和頭部之間插入一些層,這些層通常用于收集不同階段的特征圖。我們可以稱之為物體檢測器的頸部。通常是脖子,由幾個自下而上的路徑和幾個自上而下的路徑組成。配備此機制的網絡包括功能金字塔網絡(FPN)[44],路徑聚合網絡(PAN)[49],BiFPN [77]和NAS-FPN [17]。

​ 除上述模型外,一些研究人員将重點放在直接建構用于對象檢測的新 backbone(DetNet [43],DetNAS [7])或新的整個模型(SpineNet [12],HitDetector [20])上。綜上所述,普通的物體探測器有以下個部分:

  • Input: Image, Patches, Image Pyramid
  • Backbones: VGG16 [68], ResNet-50 [26], SpineNet[12], EfficientNet-B0/B7 [75], CSPResNeXt50 [81],

    CSPDarknet53 [81]

  • Neck:
    • Additional blocks: SPP [25], ASPP [5], RFB[47], SAM [85]
    • Path-aggregation blocks: FPN [44], PAN [49],NAS-FPN [17], Fully-connected FPN, BiFPN

      [77], ASFF [48], SFAM [98]

  • Heads:
    • Dense Prediction (one-stage):
      • RPN [64], SSD [50], YOLO [61], RetinaNet[45] (anchor based)
      • CornerNet [37], CenterNet [13], MatrixNet[60], FCOS [78] (anchor free)
    • Sparse Prediction (two-stage):
      • Faster R-CNN [64], R-FCN [9], Mask RCNN [23] (anchor based)
      • RepPoints [87] (anchor free)

2.2. Bag of freebies

​ 通常,正常的物體檢測器是離線訓練的。是以,研究人員總是喜歡利用這一優勢,并開發出更好的訓練方法,進而使目标檢測器在不增加推理成本的情況下獲得了更好的精度。我們稱這些僅更改教育訓練政策或僅增加教育訓練成本的方法為“一袋免費贈品”。物體檢測方法經常采用并符合免費贈品袋定義的是資料增強。資料擴充的目的是增加輸入圖像的多樣性,使設計的目标檢測模型對不同環境下獲得的圖像具有更高的魯棒性。例如,光度畸變和幾何畸變是兩種常用的資料增強方法,它們都有益于目标檢測任務。在處理光度失真時,我們會調整圖像的亮度,對比度,色相,飽和度和噪點。 對于幾何變形,我們添加了随機縮放,裁剪,翻轉和旋轉

​ 上面提到的資料擴充方法都是逐像素調整,以及所有原始像素資訊調整後的區域被保留。此外,一些從事資料擴充的研究人員将重點放在模拟對象遮擋問題上。他們在圖像分類和目标檢測上取得了不錯的成績。例如,随機擦除[100]和剪切[11]可以随機選擇圖像中的矩形區域并随機填充或零的互補值。至于hide-and-seek[69]和網格蒙版[6],他們随機或均勻地選擇多個圖像中的矩形區域并将其替換為全零。如果類似的概念應用于要素地圖,分别是DropOut [71],DropConnect [80]和DropBlock [16] 方法。此外,一些研究人員提出了一起使用多個圖像執行資料的方法增強。例如,MixUp [92]使用兩個圖像以不同的系數比率進行乘法和疊加,然後使用這些疊加比率來調整标簽。至于CutMix [91],它會覆寫裁切後的圖像到其他圖像的矩形區域,并根據混合區域的大小調整标簽。除了上面提到的方法,GAN [15]的樣式傳遞也是用于資料擴充,這種用法可以有效地減少CNN學會的紋理偏差。

​ 與上面提出的各種方法不同,其他一些免費贈品方法專門用于解決問題在于資料集中的語義分布可能有偏見。在處理語義分布偏差問題時,一個非常重要的問題是存在一個問題類之間資料不平衡的問題,這個問題通常通過硬性否定示例挖掘來解決[72]或兩階段目标檢測器中的線上硬示例挖掘[67]。但是示例挖掘方法不适用于一級目标檢測器,因為這種檢測器屬于密集預測架構。是以林等。 [45]建議聚焦損失來處理問題各個類别之間存在的資料不平衡問題。另一個非常重要的問題是很難表達關聯度之間的關系一站式的硬表示形式。執行标記時經常使用此表示方案。在[73]中提出的标簽平滑是将硬标簽轉換為軟标簽以進行訓練,這可以使模型更強大的。為了獲得更好的軟标簽,Islam等。 [33]在設計中引入了知識蒸餾的概念标簽優化網絡。

​ 最後一袋免費贈品是邊界框(BBox)回歸。傳統物品檢測器通常使用均方誤差(MSE)直接對中心點坐标進行回歸BBox的高度和寬度,即{xcenter,ycenter,w,h}或左上點和右下點,即{xtop lef t,ytop lef t,xbottom right,ybottom right}。如對于基于錨點的方法,它是估計相應的偏移量,例如{xcenter_offset,ycenter_offset,woffset, hoffset}和{xtop_left_offset,ytop_left_offset,xbottom_right_offset, ybottom_right_offset}。但是,要直接估算出每個點的坐标值BBox會将這些點視為自變量,但是實際上并不考慮對象本身的完整性。為了更好地解決這個問題,一些研究人員最近提出的IoU損失[90],預測的BBox面積和地面實況BBox面積已考慮在内。 IoU損失計算過程将觸發通過使用地面真相執行IoU,然後将BBox的四個坐标點進行計算,生成的結果變成一個完整的代碼。因為IoU是規模不變表示法,可以解決當傳統方法會計算{x,y,w,

h},損失會随着規模的增加而增加。最近有一些研究人員一直在改善IoU損失。例如,GioU損失[65]包括形狀和方向除覆寫區域外的對象。他們提議找到可以同時覆寫的最小區域BBox預測的BBox和地面真相BBox,并使用此BBox作為分母來替換最初在IoU損耗中使用的分母。至于DIoU損失[99],它另外考慮對象中心的距離,CIoU損失[99],另一方面同時考慮了重疊區域,中心點之間的距離以及長寬比。 CIoU可以實作更好的收斂速度和BBox回歸問題的準确性。

2.3. Bag of specials

​ 對于那些插件子產品和後處理方法隻會少量增加推理成本但是可以大大提高物體檢測的準确性,我們稱它們為“特價袋”。 一般來說,這些插件子產品用于增強某些屬性一種模型,例如擴大接受域,引入注意力機制或增強特征內建能力等,而後處理是一種篩選方法模型預測結果。

​ 可以用來增強感受野的常用子產品是SPP [25],ASPP [5]和RFB [47]。SPP子產品起源于空間金字塔比對(SPM)[39],而SPM的原始方法是将特征圖分成幾個d×d個相等的塊,其中d可以是{1,2,3,…},進而形成空間金字塔,然後提取詞袋特征。 SPP将SPM內建到CNN中并使用最大池操作而不是詞袋操作。由于He等人提出的SPP子產品。 [25]将輸出一維特征向量,這是不可行的在完全卷積網絡(FCN)中應用。是以在YOLOv3的設計[63],Redmon和Farhadi有所改進SPP子產品與最大池輸出的串聯核心大小為k×k,其中k = {1、5、9、13},步幅為

等于1。在這種設計下,較大的k×k最大池有效地增加了主幹的接收場特征。添加改進版的SPP子產品後,YOLOv3-608将MS COCO的AP50更新了2.7%目标檢測任務的成本為0.5%的額外計算量。ASPP [5]子產品與改進的SPP子產品主要是從原始的k×k核心大小開始,跨步的最大合并等于1到幾個3×3核心大小,膨脹比等于k,步幅等于1在膨脹卷積運算中。 RFB子產品是使用k×k核心的幾個膨脹卷積,膨脹比等于到k,并且步幅等于1以獲得更全面的空間覆寫率比ASPP高。 RFB [47]僅需額外支付7%推斷時間以提高MS COCO上SSD的AP50減少了5.7%。

​ 物體檢測中經常使用的注意力子產品主要分為通道注意和點注意,這兩種注意模型的代表是擠壓和激發(SE)[29]和空間注意子產品(SAM)[ 85]。 雖然SE子產品可以将ImageNet圖像分類任務中ResNet50的功能提高到1%top-1精度。僅将計算工作量增加2%的成本,但是在GPU上通常會增加推理時間大約10%,是以更适合在移動裝置中使用裝置。 但是對于SAM,它隻需要支付0.1%的額外費用,就可以在ImageNet圖像分類任務上将ResNet50-SE的top-1準确性提高0.5%。 最好的,它根本不影響GPU上的推理速度。

​ 在功能內建方面,早期的實踐是使用跳過連接配接[51]或超列[22],以将低級實體特征內建到進階語義特征。 以來

FPN等多尺度預測方法已成為流行的許多輕量級子產品,它們內建了已經提出了特征金字塔。 這個的子產品排序包括SFAM [98],ASFF [48]和BiFPN [77]。 的SFAM的主要思想是使用SE子產品對多尺度級聯特征執行通道級重權重

地圖。 對于ASFF,它使用softmax作為逐點級别的權重,然後添加不同比例的特征圖。在BiFPN中,多輸入權重殘餘連接配接為建議執行按比例的級别重新權重,然後添加不同比例的要素地圖。

​ 在深度學習的研究中,有些人把他們的專注于尋找良好的激活功能。一個好的激活功能可以使梯度更有效

傳播,同時也不會造成額外的計算成本。 Nair和Hinton [56]在2010年提出ReLU來實質性解決梯度消除了傳統的tanh和S型激活函數中經常遇到的問題。随後,LReLU [54],PReLU [24],ReLU6 [28],比例指數線性機關(SELU)[35],Swish [59],hard-Swish [27]和Mish [55]等,也用于解決梯度問題消失的問題,已經提出。主要目的LReLU和PReLU用于解決輸出小于零時ReLU的梯度為零的問題。如針對ReLU6和Hard-Swish,它們是專門為量化網絡。為了對神經網絡進行自歸一化,提出了SELU激活函數來滿足目标。要注意的一件事是Swish和Mish具有連續微分的激活功能。

​ 基于深度學習的目标檢測中常用的後處理方法是NMS,可以使用篩選那些不好地預測同一對象的BBox,并僅保留具有較高響應度的候選BBox。 NMS嘗試改進的方式與優化目标函數的方法。 NMS提出的原始方法沒有考慮上下文資訊,是以Girshick等。 [19]添加了分類R-CNN中的置信度得分作為參考,并根據置信度得分順序,進行貪婪的NMS從高分到低分的順序。對于軟網管[1],它考慮了一個問題,一個物體的遮擋可能導緻貪婪NMS的置信度得分下降IoU得分。 DIoU NMS [99]開發人員的方法思維是在軟的基礎上将中心點距離的資訊添加到BBox篩選過程中NMS。值得一提的是,由于上述後處理方法均未直接涉及捕獲的圖像特征,是以在随後的無錨定方法開發中不再需要後處理。

3. Methodology

​ 基本目标是神經網絡的快速運作,生産系統和并行計算的優化,而不是低計算量理論名額(BFLOP)。 我們提出兩種實時選擇神經網絡:

  • 對于GPU,我們使用少量的組(1-8)卷積層:CSPResNeXt50 / CSPDarknet53
  • 對于VPU-我們使用分組卷積,但不要使用擠壓和激發(SE)塊-具體來說,這包括以下模型:

    EfficientNet-lite / MixNet [76] / GhostNet [21] / MobileNetV3

3.1. Selection of architecture

​ 我們的目标是在輸入網絡分辨率,卷積層數,參數号(過濾器大小2 過濾器通道/組),以及層輸出(濾波器)的數量。 例如,我們的大量研究表明CSPResNext50是與CSPDarknet53相比,其性能要好得多ILSVRC2012(ImageNet)上的對象分類資料集[10]。 但是,相反,CSPDarknet53是與在MS COCO資料集上檢測對象相比,CSPResNext50更好。

​ 下一個目标是從不同的骨幹水準針對不同的骨幹選擇額外的區塊以增加感受野和參數聚集的最佳方法檢測器級别:例如 FPN,PAN,ASFF,BiFPN。最适合分類的參考模型是并非總是對探測器最佳。 與分類器相比,檢測器需要滿足以下條件:

  • 更高的輸入網絡規模(分辨率)–用于檢測多個小型物體
  • 更高的層數–更高的接收場覆寫輸入網絡規模擴大
  • 更多參數–提高模型檢測單個圖像中多個大小不同的物體的能力

​ 假設地說,我們可以假設一個模型具有較大的接收場大小(卷積層3×3)和大量參數應被選作主幹。表1顯示了CSPResNeXt50,CSPDarknet53和EfficientNet B3的詳細資訊。 CSPResNext50僅包含16個卷積層3×3、25×425接收場和20.6M個參數,而CSPDarknet53包含29個卷積層3×3、725×725接收場和27.6M個參數。這種理論上的證明,連同我們的大量實驗表明,CSPDarknet53神經網絡是兩者作為骨幹的最佳模型用于探測器。

不同大小的接收場的影響是總結如下:

  • 最大對象尺寸-允許檢視整個對象
  • 取決于網絡大小-允許檢視周圍的環境物體
  • 超出網絡規模-增加映像點和最終激活之間的連接配接

​ 我們将SPP塊添加到CSPDarknet53上,因為它大大增加了感受力,将最重要的上下文特征,幾乎不會降低網絡運作速度。我們使用PANet作為來自不同主幹級别,針對不同檢測器級别的參數聚合方法,而不是FPN在YOLOv3中使用。

​ 最後,我們選擇CSPDarknet53主幹,SPP附加子產品,PANet路徑聚合通道和YOLOv3(基于錨)作為YOLOv4的體系結構。

​ 将來,我們計劃大幅擴充内容檢測器的贈品袋(BoF),理論上可以解決一些問題并增加檢測器準确性,并以實驗方式依次檢查每個功能的影響。我們不使用跨GPU批量标準化(CGBN或SyncBN)或昂貴的專用裝置。這使任何人都可以在以下方面重制我們的最新成果正常圖形處理器,例如GTX 1080Ti或RTX2080Ti。

3.2. Selection of BoF and BoS

為了改進目标檢測訓練,CNN通常使用以下方法:

• Activations: ReLU, leaky-ReLU, parametric-ReLU,ReLU6, SELU, Swish, or Mish

• Bounding box regression loss: MSE, IoU, GIoU,CIoU, DIoU

• Data augmentation: CutOut, MixUp, CutMix

• Regularization method: DropOut, DropPath [36], Spatial DropOut [79], or DropBlock

• Normalization of the network activations by their mean and variance: Batch Normalization (BN) [32],

Cross-GPU Batch Normalization (CGBN or SyncBN) [93], Filter Response Normalization (FRN) [70], or

Cross-Iteration Batch Normalization (CBN) [89]

•Skip-connections:殘餘連接配接,權重殘餘連接配接,多輸入權重殘餘連接配接或跨階段部分連接配接(CSP)

至于訓練激活功能,由于PReLU和SELU較難訓練,而ReLU6特别适合為量化網絡而設計,是以我們删除了

候選者清單中的上述激活功能。在裡面reqularization方法,釋出DropBlock的人們将他們的方法與其他方法進行了比較。細節,其正則化方法赢得了很多。是以,我們毫不猶豫地選擇了DropBlock作為我們的正則化方法。至于歸一化的選擇方法,因為我們專注于僅使用一個GPU,不考慮syncBN。

3.3. Additional improvements

為了使設計的檢測器更适合在單個GPU上進行教育訓練後,我們進行了其他設計和改進,如下所示:

•我們引入了一種新的資料增強 Mosaic, and Self-Adversarial Training (SAT)

•我們在應用時選擇最佳超參數遺傳算法

•我們修改了一些現有方法來進行設計适用于有效的教育訓練和檢測-修改SAM,修改的PAN和交叉微型批處理規範化(CmBN)

​ 馬賽克代表了一種新的資料增強方法混合4個訓練圖像。是以,混合了4個不同的上下文,而CutMix僅混合了2個輸入圖像。這樣可以檢測正常上下文之外的對象。在此外,批量歸一化計算激活統計資訊每層上有4張不同的圖像。這明顯減少了對大批量生産的需求。自我專業訓練(SAT)也代表了新的可在2個前進操作中運作的資料增強技術落後階段。在第一階段,神經網絡發生變化原始圖像而不是網絡權重。在這神經網絡對其自身執行對抗攻擊的方式,改變原始圖像以産生欺騙圖像上沒有所需的對象。在第二階段,訓練神經網絡以檢測此修改後的對象以正常方式顯示圖像。

CmBN代表CBN修改版本,如圖所示在圖4中,定義為交叉微型批處理規範化(CmBN)。 僅收集迷你批次之間的統計資訊在一個批次内。我們将SAM從空間注意改為點注意,并将PAN的快捷連接配接替換為串聯,分别如圖5和圖6所示。

3.4. YOLOv4

在本節中,我們将詳細介紹YOLOv4

YOLOv4 consists of:

• Backbone: CSPDarknet53 [81]

• Neck: SPP [25], PAN [49]

• Head: YOLOv3 [63]

YOLO v4 uses:

• Bag of Freebies (BoF) for backbone: CutMix and Mosaic data augmentation, DropBlock regularization,

Class label smoothing

• Bag of Specials (BoS) for backbone: Mish activation, Cross-stage partial connections (CSP), Multiinput weighted residual connections (MiWRC)

• Bag of Freebies (BoF) for detector: CIoU-loss, CmBN, DropBlock regularization, Mosaic data augmentation, Self-Adversarial Training, Eliminate grid sensitivity, Using multiple anchors for a single ground

truth, Cosine annealing scheduler [52], Optimal hyperparameters, Random training shapes

• Bag of Specials (BoS) for detector: Mish activation, SPP-block, SAM-block, PAN path-aggregation block, DIoU-NMS

4.Experiments

我們在ImageNet上測試了不同訓練改進技術對分類器準确性的影響(ILSVRC 2012 val)資料集,然後對

MS COCO(test-dev 2017)資料集上的檢測器。

4.1. Experimental setup

在ImageNet圖像分類實驗中,預設的超參數如下:訓練步驟為8,000,000; 批量大小和最小批量大小為128

和32,分别; 多項式衰減學習率采用初始學習率為0.1的排程政策;預熱步驟為1000; 動量和權重衰減分别設定為0.9和0.005。 我們所有的BoS實驗使用與預設相同的超參數設定,并且在BoF實驗中,我們添加了一個額外的

50%的教育訓練步驟。 在BoF實驗中,我們驗證MixUp,CutMix,Mosaic,模糊資料增強和标簽平滑正則化方法。 在BoS實驗中,我們比較了LReLU,Swish和Mish的影響激活功能。 所有實驗均使用1080進行訓練Ti或2080 Ti GPU。

在MS COCO對象檢測實驗中,預設的超參數如下:訓練步驟為500,500;逐漸衰減學習率排程政策是采用初始學習率0.01并乘以在40萬步和45萬步處分别為0.1;動量和權重衰減分别設定為0.9和0.0005。所有架構都使用單個GPU以批處理大小執行多尺度訓練最小批量大小為8或4時為64,取決于架構和GPU記憶體限制。除了使用遺傳算法進行超參數搜尋實驗外,所有其他實驗均使用預設設定。遺傳的該算法使用YOLOv3-SPP訓練GIoU損失和在300個紀元内搜尋最小5k集。我們采用搜尋學習率0.00261,動量0.949,IoU門檻值配置設定地面實況0.213和損耗歸一化器0.07遺傳算法實驗。我們已經驗證了BoF數量,包括消除網格敏感性,鑲嵌資料增強,IoU門檻值,遺傳算法,分類标簽平滑,交叉小批量标準化,自我對抗訓練,餘弦退火排程程式,動态迷你批次大小,DropBlock,優化錨點,不同一種IoU損失。我們還進行了各種實驗BoS,包括Mish,SPP,SAM,RFB,BiFPN和高斯YOLO [8]。對于所有實驗,我們僅使用一個GPU進行教育訓練,是以可以優化諸如syncBN之類的技術不使用多個GPU。

4.2. Influence of different features on Classifier training

首先,我們研究不同功能對分類器教育訓練; 具體來說,是類别标簽平滑的影響,不同資料擴充的影響技術,雙邊模糊,MixUp,CutMix和Mosaic,如圖7所示,以及不同激活的影響,例如Leaky-ReLU(預設情況下),Swish和Mish。

在我們的實驗中,如表2所示,通過引入功能可以提高分類器的準确性,例如:CutMix和Mosaic資料擴充,類标簽平滑和Mish激活。 是以,我們用于分類器訓練的BoFbackbone(免費贈品袋)包括以下内容:CutMix和Mosaic資料擴充和類标簽平滑。 此外,我們使用Mish激活作為補充選項,如表2和表所示3。

4.3. Influence of different features on Detector training

進一步的研究涉及不同的免費贈品袋(BoF-detector)對探測器訓練精度的影響,如表4所示。我們大大擴充了BoF清單通過研究增加檢測器的不同功能不影響FPS的準确性:

• S: Eliminate grid sensitivity the equation bx = σ(tx)+cx, by = σ(ty)+cy, where cx and cy are always whole

numbers, is used in YOLOv3 for evaluating the object coordinates, therefore, extremely high tx absolute

values are required for the bx value approaching the cx or cx + 1 values. We solve this problem through

multiplying the sigmoid by a factor exceeding 1.0, so eliminating the effect of grid on which the object is

undetectable.

• M: Mosaic data augmentation - using the 4-image mosaic during training instead of single image

• IT: IoU threshold - using multiple anchors for a single ground truth IoU (truth, anchor) > IoU threshold

• GA: Genetic algorithms - using genetic algorithms for selecting the optimal hyperparameters during network training on the first 10% of time periods

• LS: Class label smoothing - using class label smoothing for sigmoid activation

• CBN: CmBN - using Cross mini-Batch Normalization for collecting statistics inside the entire batch, instead

of collecting statistics inside a single mini-batch

• CA: Cosine annealing scheduler - altering the learning rate during sinusoid training

• DM: Dynamic mini-batch size - automatic increase of mini-batch size during small resolution training by using Random training shapes

• OA: Optimized Anchors - using the optimized anchors for training with the 512x512 network resolution

• GIoU, CIoU, DIoU, MSE - using different loss algorithms for bounded box regression

進一步的研究涉及不同的Bagof-Specials(BoS-探測器)對探測器訓練精度的影響,包括PAN,RFB,SAM,高斯YOLO(G)和ASFF,如表5所示。在我們的實驗中,檢測器使用SPP,PAN和SAM時可獲得最佳性能。

4.4. Influence of different backbones and pretrained weightings on Detector training

進一步,我們研究了不同骨幹的影響探測器精度的模型,如表6所示。請注意,就檢測器而言,具有最佳分類精度的模型并不總是最佳的準确性。

首先,盡管與其他特征訓練的CSPResNeXt50模型相比,分類精度更高到CSPDarknet53模型,CSPDarknet53模型顯示在物體檢測方面具有更高的準确性。

其次,将BoF和Mish用于CSPResNeXt50分類器訓練可提高分類精度,但是這些預訓練權重在檢測器訓練中的進一步應用降低了檢測器精度。但是,使用BoF和Mish進行CSPDarknet53分類器訓練提高分類器和檢測器的精度使用此分類器的預訓練權重。網際網路結果是骨幹CSPDarknet53更适合檢測器比CSPResNeXt50。

我們觀察到CSPDarknet53模型示範了由于提高了檢測器精度的能力各種改進。

4.5. Influence of different mini-batch size on Detector training

最後,我們分析使用模型獲得的結果訓練了不同的小批量大小,結果是如表7所示。根據表7所示的結果,我們

發現在添加BoF和BoS教育訓練政策後,最小批量大小對檢測器的性能幾乎沒有影響。 這個結果表明,引入BoF和BoS,不再需要使用昂貴的用于訓練的GPU。 換句話說,任何人都隻能使用傳統的GPU訓練出色的檢測器。

5. Results

與其他最新的物體檢測器獲得的結果比較如圖8所示。YOLOv4位于帕累托最優曲線上,并且就最快和最準确的探測器而言,速度和準确性。由于不同的方法使用不同架構的GPU進行推理時間驗證,是以我們使用YOLOv4

在Maxwell,Pascal和Volta常用的GPU上架構,并将其與其他最新技術進行比較方法。 表8列出了使用Maxwell GPU,并且可以是GTX Titan X(Maxwell)或Tesla M40 GPU。 表9列出了幀率比較使用Pascal GPU的結果,可以是Titan X(Pascal),Titan Xp,GTX 1080 Ti或Tesla P100 GPU。 至于表10,列出使用Volta的幀率比較結果

GPU,可以是Titan Volta或Tesla V100 GPU。

dl