主頁 >  其他 > 重磅!YOLOv4閱讀筆記(附思維導圖和論文譯文)!

重磅!YOLOv4閱讀筆記(附思維導圖和論文譯文)!

2020-09-11 19:18:32 其他

今天刷看到了YOLOv4之時,有點激動和興奮,等了很久的YOLOv4,你終究還是出現了

論文地址:https://arxiv.org/pdf/2004.10934.pdf

GitHub地址:https://github.com/AlexeyAB/darknet

覺得作者很地道,論文附上開源,沒有比這更開心的事情了吧!

圖片

首先附上對論文總結的思維導圖,幫助大家更好的理解!

圖片

下邊是對論文的翻譯,有些地方可能翻譯的不是很準備,歡迎指正補充

(思維導圖和論文譯文PDF均可在公眾號【計算機視覺聯盟】回復YOLOv4獲取)

摘要

有很多特征可以提高卷積神經網路(CNN)的準確性,需要在大型資料集上對這些特征的組合進行實際測驗,并需要對結果進行理論證明,某些特征僅在某些模型上運行,并且僅在某些問題上運行,或者僅在小型資料集上運行;而某些特征(例如批歸一化和殘差連接)適用于大多數模型,任務和資料集,我們假設此類通用特征包括加權殘差連接(WRC),跨階段部分連接(CSP),交叉小批量標準化(CmBN),自對抗訓練(SAT)和Mish激活,我們使用以下新功能:WRC,CSP,CmBN,SAT,Mish激活,馬賽克資料增強,CmBN,DropBlock正則化和CIoU丟失,并結合其中的一些特征來實作最新的結果:在MS COCO資料集上利用Tesla V10以65 FPS的實時速度獲得了43.5%的AP(65.7%AP50),開源代碼鏈接:https://github.com/AlexeyAB/darknet,

1、介紹

大多數基于CNN的物體檢測器僅適用于推薦系統,例如,通過慢速精確模型執行的城市攝像機搜索免費停車位,而汽車碰撞警告與快速不精確模型有關,提高實時物體檢測器的精度不僅可以將它們用于提示生成推薦系統,還可以用于獨立的程序管理和減少人工輸入,常規圖形處理單元(GPU)上的實時物件檢測器操作允許以可承受的價格對其進行運行,最精確的現代神經網路無法實時運行,需要使用大量的GPU進行大量的mini-batch-size訓練,我們通過創建在常規GPU上實時運行的CNN來解決此類問題,并且該培訓僅需要一個傳統的GPU,

這項作業的主要目標是在產生式系統中設計一個運行速度快的目標探測器,并對并行計算進行優化,而不是設計一個低計算量的理論指標(BFLOP),我們希望所設計的物件易于訓練和使用,如圖1中的YOLOv4結果所示,任何人使用傳統的GPU進行訓練和測驗,都可以獲得實時、高質量和令人信服的目標檢測結果,我們的貢獻概括如下:

  1. 我們開發了一個高效且功能強大的目標檢測模型,它使每個人都可以使用1080Ti或2080TiGPU來訓練超快、精確的物體探測器,
  2. 我們驗證了當前最新的“免費袋”和“特殊袋”檢測方法在探測器訓練程序中的影響,
  3. 我們修改了最新的方法,使其更有效,更適合于單個GPU的培訓,包括CBN[89]、PAN[49]、SAM[85]等,

圖片

2、相關作業(Related work)

2.1 目標檢測演算法(Object detection models)

目標檢測演算法一般有兩部分組成:一個是在ImageNet預訓練的骨架(backbone),,另一個是用來預測物件類別和邊界框的頭部,對于在GPU平臺上運行的檢測器,其骨干可以是VGG [68],ResNet [26],ResNeXt [86]或DenseNet [30],對于在CPU平臺上運行的那些檢測器,其主干可以是SqueezeNet [31],MobileNet [28、66、27、74]或ShuffleNet [97、53],對于頭部,通常分為兩類,即一級物件檢測器和二級物件檢測器,最具有代表性的兩級物件檢測器是R-CNN [19]系列,包括fast R-CNN [18],faster R-CNN [64],R-FCN [9]和Libra R-CNN [ 58],還可以使兩級物件檢測器成為無錨物件檢測器,例如RepPoints [87],對于一級目標檢測器,最具代表性的模型是YOLO [61、62、63],SSD [50]和RetinaNet [45],近年來,開發了無錨的(anchor free)一級物體檢測器,這類檢測器是CenterNet [13],CornerNet [37、38],FCOS [78]等,近年來,無錨點單級目標探測器得到了發展,這類探測器有CenterNet[13]、CornerNet[37,38]、FCOS[78]等,近年來發展起來的目標探測器經常在主干和頭部之間插入一些層,這些層通常用來收集不同階段的特征圖,我們可以稱它為物體探測器的頸部,通常,頸部由幾個自下而上的路徑和幾個自上而下的路徑組成,具有這種機制的網路包括特征金字塔網路(FPN)[44]、路徑聚集網路(PAN)[49]、BiFPN[77]和NAS-FPN[17],除上述模型外,一些研究人員將重點放在直接構建用于檢測物件的新主干(DetNet [43],DetNAS [7])或新的整個模型(SpineNet [12],HitDe-tector [20])上,

總而言之,普通的檢測器由以下幾個部分組成:

  • 輸入:影像,斑塊,影像金字塔
  • 骨架:VGG16 [68],ResNet-50 [26],SpineNet [12],EfficientNet-B0 / B7 [75],CSPResNeXt50 [81],CSPDarknet53 [81]
  • 頸部:
    • 其他塊:SPP [25],ASPP [5],RFB [47],SAM [85]
    • 路徑聚合塊:FPN [44],PAN [49],NAS-FPN [17] ],Fully-connected FPN,BiFPN [77],ASFF [48],SFAM [98]
  • Heads :
    • 密集預測(一階段):
      • RPN[64],SSD [50],YOLO [61], RetinaNet [45](基于錨)
      • CornerNet[37],CenterNet [13],MatrixNet [60],FCOS [78](無錨)
  • 稀疏預測(兩階段):
    • Faster R-CNN [64],R-FCN [9],Mask R-CNN [23](基于錨)
    • RepPoints[87](無錨)

圖片

2.2 Bag of freebies

通常,傳統的物體檢測器是離線訓練的,因此,研究人員一直喜歡采用這種優勢并開發出更好的訓練方法,從而可以使目標檢測器獲得更好的精度而又不會增加推理成本,我們稱這些僅改變培訓策略或僅增加培訓成本的方法為“免費贈品”,資料檢測是物件檢測方法經常采用的并符合免費贈品的定義,資料增強的目的是增加輸入影像的可變性,從而使設計的物體檢測模型對從不同環境獲得的影像具有更高的魯棒性,例如,光度失真和幾何失真是兩種常用的資料增強方法,它們無疑有利于物體檢測任務,在處理光度失真時,我們調整影像的亮度,對比度,色相,飽和度和噪點,對于幾何失真,我們添加了隨機縮放,裁剪,翻轉和旋轉,

上面提到的資料增強方法是全像素調整,并且保留了調整區域中的所有原始像素資訊,此外,一些從事資料增強的研究人員將重點放在模擬物件遮擋問題上,他們在影像分類和目標檢測方面取得了良好的成果,例如,random erase[100]和CutOut [11]可以隨機選擇影像中的矩形區域,并填充零的隨機或互補值,至于hide-and-seek[69]和grid mask[6],他們隨機或均勻地選擇影像中的多個矩形區域,并將其替換為所有零,如果類似的概念應用于要素地圖,則有DropOut [71],DropConnect [80]和DropBlock [16]方法,另外,一些研究人員提出了使用多個影像一起執行資料增強的方法,例如,MixUp [92]使用兩個影像對具有不同系數的影像進行乘法和疊加,然后使用這些疊加的系數來調整標簽,對于CutMix [91],它是將裁切后的影像覆寫到其他影像的矩形區域,并根據混合區域的大小調整標簽,除了上述方法之外,樣式轉移GAN [15]還用于資料擴充,這種用法可以有效地減少CNN所學習的紋理偏差,

與上面提出的各種方法不同,其他一些免費贈品方法專用于解決資料集中語意分布可能存在偏差的問題,在處理語意分布偏向問題時,一個非常重要的問題是不同類之間存在資料不平衡的問題,這一問題通常是通過兩階段物件設計器中的難例挖掘[72]或在線難例挖掘[67]來解決的,但是實體挖掘方法不適用于一級目標檢測器,因為這種檢測器屬于密集預測架構,因此Linet等 [45]提出了焦點損失,以解決各個類別之間存在的資料不平衡問題,另一個非常重要的問題是,很難用one-hot representation來表達不同類別之間的關聯度,這種表示方法經常在執行標簽時使用,[73]中提出的標簽平滑是將硬標簽轉換為軟標簽以進行訓練,這可以使模型更加健壯,為了獲得更好的軟標簽,Islamet等人[33]引入知識蒸餾的概念來設計標簽優化網路,

最后一袋贈品是邊界框回歸的目標函式,傳統的目標檢測器通常使用均方誤差(MSE)直接對BBox的中心點坐標和高度、寬度進行回歸,即{xcenter,ycenter,w,h},或者對左上角和右下點,即{xtopleft,ytopleft,xbottomright,ybottomright}進行回歸,對于基于錨點的方法,是估計相應的偏移量,例如{xcenterOffset,ycenterOffset,wOffset,hoffset}和{xtopleftoffset,ytopleftoffset,xbottomright toffset,ybottomright toffset},例如{xtopleftoffset,ytopleftoffset}和{xtopleftoffset,ytopleftoffset},然而,直接估計BBox中每個點的坐標值是將這些點作為獨立變數來處理,而實際上并沒有考慮物件本身的完整性,為了更好地處理這一問題,最近一些研究人員提出了IoU loss[90],將預測BBOX區域的覆寫率和地面真實BBOX區域的覆寫率考慮在內,IOU loss計算程序將觸發BBOX的四個坐標點的計算,方法是執行具有地面實況的借條,然后將生成的結果連接到一個完整的代碼中,由于IOU是一種標度不變的表示,它可以解決傳統方法計算{x,y,w,h}的l1或l2個損失時,損失會隨著尺度的增大而增大的問題,最近,搜索者不斷改善欠條損失,例如,GIOU損失[65]除了包括覆寫區域外,還包括物件的形狀和方向,他們提出找出能同時覆寫預測BBOX和實際BBOX的最小面積BBOX,并用這個BBOX作為分母來代替原來在欠條損失中使用的分母,對于DIoU loss[99],它另外考慮了物體中心的距離,而CIoU損失[99]則同時考慮了重疊面積、中心點之間的距離和縱橫比,在求解BBox回歸問題時,Ciou可以達到較好的收斂速度和精度,

2.3 Bag of spedials

對于那些僅增加少量推理成本但可以顯著提高物件檢測準確性的插件模塊和后處理方法,我們將其稱為“特價商品”,一般而言,這些插件模塊用于增強模型中的某些屬性,例如擴大接受域,引入注意力機制或增強特征集成能力等,而后處理是用于篩選模型預測結果的方法,

可以用來增強接收域的通用模塊是SPP [25],ASPP [5]和RFB [47], SPP模塊起源于空間金字塔匹配(SPM)[39],SPM的原始方法是將功能圖分割成若干x不等的塊,其中{1,2,3,...}可以是空間金字塔,然后提取詞袋特征, SPP將SPM集成到CNN中,并使用最大池操作而不是詞袋運算,由于Heet等人提出了SPP模塊, [25]將輸出一維特征向量,在全卷積網路(FCN)中應用是不可行的,因此,在YOLOv3的設計中[63],Redmon和Farhadi將SPP模塊改進為內核大小為k×k的最大池輸出的串聯,其中k = {1,5,9,13},步長等于1,在這種設計下,相對大k×kmax池有效地增加了骨干特征的接受范圍,在添加了改進版本的SPP模塊之后,YOLOv3-608在MS COCOobject檢測任務上將AP50升級了2.7%,而額外的計算費用為0.5%,ASPP[5]模塊和改進的SPP模塊之間的操作差異主要來自于原始k× kkernel大小,最大卷積步長等于1到3×3內核大小,膨脹比等于tok,步長等于1, RFB模塊將使用k×kkernel的幾個擴張卷積,擴張比率equalstok和步幅等于1來獲得比ASPP更全面的空間覆寫范圍, RFB [47]僅花費7%的額外推斷時間即可將MS COCO上SSD的AP50提高5.7%,

物體檢測中常用的注意模塊主要分為通道式注意和點式注意,這兩種注意模型的代表分別是擠壓激發(SE)[29]和空間注意模塊(SAM)[85],雖然SE模塊在Im-ageNet影像分類任務中可以提高1%的TOP-1準確率,但是在GPU上通常會增加10%左右的推理時間,因此更適合在移動設備上使用,雖然SE模塊在Im-ageNet影像分類任務中可以提高1%的TOP-1準確率,但是在GPU上通常會增加10%左右的推理時間,而對于SAM,它只需要額外支付0.1%的計算量,在ImageNet影像分類任務上可以提高ResNet50-SE 0.5%的TOP-1準確率,最棒的是,它完全不影響GPU上的推理速度,

在特征集成方面,早期的實踐是使用KIP連接[51]或超列[22]將低級物理特征集成到高級語意特征,隨著模糊神經網路等多尺度預測方法的普及,人們提出了許多集成不同特征金字塔的輕量級模塊,這種型別的模塊包括SfAM[98]、ASFF[48]和BiFPN[77],SfAM的主要思想是使用SE模塊對多比例尺拼接的特征地圖進行通道級的加權,ASFF采用Softmax作為逐點層次加權,然后添加不同尺度的特征地圖;BiFPN采用多輸入加權殘差連接進行尺度層次重新加權,再添加不同尺度的特征地圖,

在深度學習的研究中,有些人專注于尋找良好的激活功能,良好的激活函式可以使梯度更有效地傳播,同時不會引起過多的計算成本,在2010年,Nair和Hin-ton [56]提出了ReLU,以基本上解決傳統tanh和sigmoid激活函式中經常遇到的梯度消失問題,隨后,LReLU [54],PReLU [24],ReLU6 [28],比例指數線性單位(SELU)[35],Swish [59],hard-Swish [27]和Mish [55]等,它們也是已經提出了用于解決梯度消失問題的方法, LReLU和PReLU的主要目的是解決當輸出小于零時ReLU的梯度為零的問題,至于ReLU6和hard-Swish,它們是專門為量化網路設計的,為了對神經網路進行自歸一化,提出了SELU激活函式來滿足這一目標,要注意的一件事是,Swish和Mishare都具有連續可區分的激活功能,

在基于深度學習的物件檢測中通常使用的后處理方法是NMS,它可以用于過濾那些無法預測相同物件的BBox,并僅保留具有較高回應速度的候選BBox, NMS嘗試改進的方法與優化目標函式的方法一致, NMS提出的原始方法沒有考慮背景關系資訊,因此Girshicket等人, [19]在R-CNN中添加了分類置信度得分作為參考,并且根據置信度得分的順序,從高分到低分的順序執行貪婪的NMS,對于軟網路管理系統[1],考慮了一個問題,即物體的遮擋可能會導致帶有IoU評分的貪婪的網路管理系統的置信度得分下降, DIoU NMS [99]開發人員的思維方式是在softNMS的基礎上將中心距離的資訊添加到BBox篩選程序中,值得一提的是,由于上述后處理方法均未直接涉及捕獲的影像功能,因此在隨后的無錨方法開發中不再需要后處理,

3、方法(Methodology)

其基本目標是在生產系統中對神經網路進行快速操作,并針對并行計算進行優化,而不是低計算量理論指示器(BFLOP),我們提供了實時神經網路的兩種選擇:

  • 對于GPU,我們使用少量的組(1-8)卷積層:CSPResNeXt50 / CSPDarknet53
  • 對于VPU-我們使用分組卷積,但是我們不再使用擠壓和激發(SE)塊-特別是這包括以下模型:EfficientNet-lite / MixNet [76] / GhostNet [21] / Mo-bileNetV3

3.1 Selection of architecture

我們的目標是在輸入網路解析度,卷積層數,引數數(filtersize2 過濾器通道/組)和層輸出(過濾器)數目之間找到最佳平衡,例如,大量研究表明,在ILSVRC2012(ImageNet)資料集的物件分類方面,CSPResNext50比CSPDarknet53更好,然而,相反,就檢測MS COCO資料集上的物件而言,CSPDarknet53比CSPResNext50更好,

下一個目標是為不同的檢測器級別從不同的主干級別中選擇其他塊以增加接收場和引數聚集的最佳方法: FPN,PAN,ASFF,BiFPN,

對于分類最佳的參考模型對于檢測器并非總是最佳的,與分類器相比,檢測器需要滿足以下條件:

  • 更大的網路輸入,用于檢測小目標
  • 更多的層-以獲得更大的感受野來覆寫增大的輸入影像
  • 更多的引數-為了增強從單張影像中檢測出不同大小的多個物件的能力

假設可以選擇接受場較大(卷積層數為3×3)和引數數較多的模型作為主干,表1顯示了CSPResNeXt50、CSPDarknet53和Effi-cientNet B3的資訊,CSPResNext50只包含16個卷積層3×3,425×425感受野和20.6M引數,而CSPDarknet53包含29個卷積層3×3,725×725感受野和27.6M引數,這一理論證明,再加上我們的大量實驗,表明CSPDarknet53神經網路是兩者作為探測器骨干最佳模型

圖片

不同大小的感受野對檢測效果的影響如下所示:

  • 最大物件大小-允許查看整個物件
  • 最大網路大小-允許查看物件周圍的背景關系
  • 超過網路大小-增加影像點和最終激活之間的連接

我們在CSPDarknet53上添加SPP塊,因為它顯著增加了接受場,分離出最重要的背景關系特征,并且幾乎不會降低網路操作速度,我們使用PANET代替YOLOv3中使用的FPN作為不同骨級的引數聚合方法,用于不同的檢測器級別,

最后,我們選擇了CSPDarknet53主干、SPP附加模塊、PANET路徑聚合Neck和YOLOv3(基于錨點的)頭部作為YOLOv4的體系結構,

將來,我們計劃顯著擴展檢測器的贈品袋(BoF)的內容,從理論上講,它可以解決一些問題并提高檢測器的準確性,并以實驗方式依次檢查每個功能的影響,

我們不使用跨GPU批量標準化(CGBNor SyncBN)或昂貴的專用設備,這使任何人都可以在傳統的圖形處理器上重現我們的最新成果,例如GTX 1080Ti或RTX2080Ti,

3.2 Selection of BoF and BoS

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

  • 激活:ReLU,leaky-ReLU,parameter-ReLU,ReLU6,SELU,Swish或Mish
  • 邊界框回歸損失:MSE,IoU,GIoU,CIoU,DIoU
  • 資料增強:CutOut,MixUp,CutMix
  • 正則化方法:DropOut, DropPath [36],Spatial DropOut [79]或DropBlock
  • 通過均值和方差對網路激活進行歸一化:Batch Normalization (BN) [32],Cross-GPU Batch Normalization (CGBN or SyncBN)[93], Filter Response Normalization (FRN) [70], orCross-Iteration Batch Normalization (CBN) [89]
  • 跨連接:Residual connections, Weightedresidual connections, Multi-input weighted residualconnections, or Cross stage partial connections (CSP)

至于訓練激活功能,由于PReLU和SELU更難訓練,并且ReLU6是專門為量化網路設計的,因此我們從候選串列中洗掉了上述激活功能,在重新量化方法中,發布Drop-Block的人們將自己的方法與其他方法進行了詳細的比較,而其正則化方法贏得了很多,因此,我們毫不猶豫地選擇了DropBlock作為我們的正則化方法,至于標準化方法的選擇,由于我們專注于僅使用一個GPU的訓練策略,因此不考慮syncBN,

3.3 Additional improvements

為了使設計的檢測器更適合在單個GPU上進行訓練,我們進行了以下附加設計和改進:

  • 我們引入了一種新的資料增強方法:Mosaic, and Self-Adversarial Training (SAT)
  • 在應用遺傳演算法時,我們選擇最優的超引數
  • 我們修改了一些現有方法,使我們的設計適合進行有效的訓練和檢測-改進的SAM,改進的PAN ,以及跨小批量標準化(CmBN)

Mosaic是一種新的混合4幅訓練影像的資料增強方法,所以四個不同的背景關系資訊被混合,而CutMix只混合了2種,

這允許檢測其正常背景關系之外的物件,此外,批量歸一化從每層上的4個不同的影像計算激活統計,這極大地減少了對large mini-batch-size的需求,

自對抗訓練(SAT)也代表了一種新的資料增強技術,它在兩個前向后向階段運行,在第一階段,神經網路改變原始影像而不是網路權值,通過這種方式,神經網路對其自身執行對抗性攻擊,改變原始影像,以制造影像上沒有所需物件的欺騙,在第二階段,訓練神經網路,以正常的方式在修改后的影像上檢測目標,

CmBN表示CBN的修改版本,如圖4所示,定義為交叉小批量規范化(Cross mini-Batch Normalization,CMBN),這僅在單個批次內的小批次之間收集統計資訊,

圖片

我們將SAM從空間注意修改為點注意,并將PAN的快捷連接分別替換為串聯,如圖5和圖6所示,

圖片

3.4 YOLOv4

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

YOLOv4的組成:

圖片

YOLOv4的使用:

圖片

4、Experiments

我們在ImageNet(ILSVRC 2012 Val)資料集上測驗了不同訓練改進技術對分類器精度的影響,然后在MS Coco(test-dev 2017)資料集上測驗了不同訓練改進技術對檢測器精度的影響,

4.1 Experimental setup

在ImageNet影像分類實驗中,預設超引數如下:訓練步數為800萬步;batch size和mini-batch size分別為128和32;采用多項式衰減學習率調度策略,初始學習率為0.1;預熱步數為1000步;動量和權值分別設定為0.9和0.005,我們所有的BoS實驗都使用與默認設定相同的超引數,并且在BoF實驗中,我們增加了50%的訓練步驟,在BoF實驗中,我們驗證了MixUp、CutMix、Mosaic、Bluring資料增強和標記平滑正則化方法,在BoS實驗中,我們比較了LReLU、SWISH和MISHISH激活函式的效果,所有實驗均使用1080Ti或2080Ti GPU進行訓練,

在MS COCO目標檢測實驗中,預設超引數如下:訓練步數為500,500;采用階躍衰減學習率調度策略,初始學習率為0.01,在400,000步和450,000步分別乘以因子0.1;動量衰減和權重衰減分別設定為0.9和0.0005,所有的體系結構都使用單個GPU來執行批處理大小為64的多尺度訓練,而小批處理大小為8或4,具體取決于體系結構和GPU記憶體的限制,除采用遺傳演算法進行超引數搜索實驗外,其余實驗均采用默認設定,遺傳演算法使用YOLOv3-SPP演算法在有GIoU損失的情況下進行訓練,在300個歷元中搜索Min-Val5k集,我們采用搜索學習率0.00261,動量0.949,IOU閾值分配地面真值0.213,損失歸一化0.07%進行遺傳演算法實驗,我們驗證了大量的BoF演算法,包括網格敏感度消除、moSAIC資料增強、IOU閾值、遺傳演算法、類標簽平滑、交叉小批量歸一化、自對抗訓練、余弦退火調度器、動態小批量大小、DropBlock、優化錨點、不同型別的IOU損失,我們還在不同的BoS上進行了實驗,包括MISH、SPP、SAM、RFB、BiFPN和Gaus-Sian YOLO[8],對于所有的實驗,我們只使用一個GPU進行訓練,因此不使用諸如優化多個GPU的syncBN之類的技術,

4.2 Influence of different features on Classifier training

首先,我們研究了不同特征對分類器訓練的影響;具體地說,類標簽平滑的影響,不同資料擴充技術的影響,雙邊模糊,混合,CutMix和馬賽克,如圖7所示,以及不同活動的影響,如Leaky-relu(默認情況下),SWISH和MISH,

圖片

在我們的實驗中,如表2所示,通過引入諸如:CutMix和Mosaic資料增強、類標簽平滑和Mish激活等特征,提高了分類器的精度,因此,我們用于分類器訓練的BoF-Backbone(Bag Of Freebies)包括以下內容:CutMix和Mosaic資料增強以及類標簽平滑,此外,我們還使用MISH激活作為補充選項,如表2和表3所示,

圖片

圖片

4.3 Influence of different features on Detector training

進一步的研究涉及不同的免費袋(BOF探測器)對探測器訓練精度的影響,如表4所示,我們通過研究在不影響FPS的情況下提高探測器精度的不同特性,顯著擴展了BOF串列:

圖片圖片

進一步研究了不同的專業袋(BOS檢測器)對檢測器訓練精度的影響,包括PAN、RFB、SAM、高斯YOLO(G)和ASFF,如表5所示,在我們的實驗中,當使用SPP、PAN和SAM時,檢測器的性能最佳,

圖片

4.4 Influence of different backbones and pretrained weightings on Detector training

進一步,我們研究了不同主干模型對檢測器精度的影響,如表6所示,請注意,具有最佳分類精度的模型在檢測器精度方面并不總是最佳,

圖片

首先,盡管與CSPDarknet53模型相比,經過不同功能訓練的CSPResNeXt-50模型的分類準確性更高,但CSPDarknet53模型在物件檢測方面顯示出更高的準確性,

其次,使用BoF和Mish進行CSPResNeXt50分類器訓練會提高其分類準確性,但是將這些預先訓練的權重進一步應用于檢測器訓練會降低檢測器準確性,但是,將BoF和Mish用于CSPDarknet53分類器訓練可以提高分類器和使用該分類器預訓練加權的檢測器的準確性,結果是,與CSPResNeXt50相比,主干CSPDarknet53更適合于檢測器,

我們觀察到,由于各種改進,CSPDarknet53模型具有更大的能力來提高檢測器精度,

4.4 Influence of different mini-batch size on Detector training

最后,我們分析了在不同最小批量大小下訓練的模型所獲得的結果,結果如表7所示,從表7所示的結果中,我們發現在添加BoF和BoS訓練策略之后,最小批量大小幾乎沒有影響在檢測器的性能上,該結果表明,在引入BoF和BoS之后,不再需要使用昂貴的GPU進行訓練,換句話說,任何人都只能使用傳統的GPU來訓練出色的探測器,

圖片

5、Results

與其他最先進的物體探測器獲得的結果比較如圖8所示,YOLOv4在速度和準確性方面均優于最快,為最準確的探測器,

圖片

由于不同的方法使用不同體系結構的GPU進行推理時間驗證,我們在常用的Maxwell、Pascal和VoltaArchitecture體系結構的GPU上運行YOLOv4,并將它們與其他先進的方法進行了比較,表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列出了使用VoltaGPU的幀率對比結果,可以是Titan Volta,也可以是Tesla V100 GPU,

圖片

圖片

圖片

6、Conclusions

我們提供最先進的檢測器,其速度(FPS)和準確度(MS COCO AP50 ... 95和AP50)比所有可用的替代檢測器都高,所描述的檢測器可以在具有8-16GB-VRAM的常規GPU上進行訓練和使用,這使得它的廣泛使用成為可能,一階段基于錨的探測器的原始概念已證明其可行性,我們已經驗證了大量特征,并選擇使用其中的一些特征以提高分類器和檢測器的準確性,這些功能可以用作將來研究和開發的最佳實踐,

7、Acknowledgements

作者要感謝Glenn Jocher進行Mosaic資料增強的想法,通過使用遺傳演算法選擇超引數并解決網格敏感性問題的方法https://github.com/ultralytics/yolov3.10,

計算機視覺聯盟 報道 | 公眾號 CVLianMeng

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/6825.html

標籤:其他

上一篇:使用Excel創建線性回歸模型

下一篇:神經網路中的激活函式

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more