YOLOv4全文閱讀(全文中文翻譯)

 2020-04-29 22:31:33.0

YOLOv4全文閱讀(全文中文翻譯)

YOLOv4: Optimal Speed and Accuracy of Object Detection

論文鏈接:

arxiv.org/pdf/2004.1093

代碼鏈接:

github.com/AlexeyAB/dar

摘要

有大量的特徵被認爲可以提高卷積神經網絡(CNN)的精度。需要在大型數據集上對這些特徵的組合進行實際測試,並對結果進行理論驗證。某些功能只對某些模型進行操作,某些問題只對某些模型進行操作,或只對小規模數據集進行操作;而某些功能(如批處理規範化和剩餘連接)則適用於大多數模型、任務和數據集。本文假設這些通用特徵包括加權剩餘連接(WRC)、跨階段部分連接(CSP)、跨小批量規範化(CmBN)、自對抗訓練(SAT)和Mish激活。本文使用了新功能:WRC、CSP、CmBN、SAT、誤激活、馬賽克數據增強、CmBN、DropBlock正則化和CIoU丟失,並將其中一些功能結合起來,以達到以下效果:43.5%的AP(65.7%的AP50)用於MS COCO數據集,在Tesla V100上以65 FPS的實時速度。

1. Introduction

大多數基於CNN的目標檢測大多隻適用於推薦系統。例如,通過城市攝像機搜索免費停車位是由低精度模型執行的,而汽車碰撞警告則與高精度模型相關。通過提高實時目標檢測的準確性,不僅可以將其用於提示生成推薦系統,還可以用於獨立的過程管理和減少人工輸入。在傳統圖形處理單元(GPU)上進行實時目標檢測,可以以合理的價格大量使用。最精確的現代神經網絡不能實時工作,需要大量的gpu來進行小批量的訓練。本文通過創建一個CNN來解決這些問題,CNN在傳統GPU上實時運行,而訓練只需要一個傳統GPU。

這項工作的主要目標是設計生產系統中目標檢測的快速運行速度和並行計算的優化,而不是低計算量理論指標(BFLOP)。本文希望所設計的對象可以很容易地訓練和使用。例如,任何使用傳統GPU進行訓練和測試的人都可以獲得實時、高質量和令人信服的目標檢測結果,如圖1所示的YOLOv4結果。

本文的貢獻總結如下:

1. 本文開發了一個高效、強大的目標檢測模型。它使得每個人都可以使用1080Ti或2080Ti的GPU來訓練一個超快速和精確的目標檢測。

2. 在檢測訓練期間,本文驗證了最先進的免費包和特殊包目標檢測方法的影響。 3. 本文修改了最新的方法,使之更有效,更適合於單一GPU訓練,包括CBN[89]、PAN[49]、SAM[85]等。


2. Related work

2.1. Object detection models

現代檢測通常由兩部分組成,一部分是在圖像網上預先訓練的主幹,另一部分是用來預測物體類別和邊界盒的頭部。對於運行在GPU平臺上的檢測,它們的主幹可以是VGG[68]、ResNet[26]、ResNeXt[86]或DenseNet[30]。對於運行在CPU平臺上的檢測,它們的主幹可以是SqueezeNet[31]、MobileNet[28、66、27、74]或Shuf flenet[97、53]。

頭部一般分爲一級目標檢測和兩級目標檢測。最具代表性的兩級目標檢測是R-CNN[19]系列,包括fast R-CNN[18]、fasterR CNN[64]、R-FCN[9]和Libra R-CNN[58]。也可以使兩級目標檢測成爲無錨目標檢測,例如RepPoints[87]。

對於一級目標檢測,最有代表性的模型是YOLO[61、62、63]、SSD[50]和RetinaNet[45]。近年來,無錨單級目標檢測得到了發展。這類檢測有CenterNet[13]、CornerNet[37,38]、FCOS[78]等,近年來發展起來的目標檢測往往在主幹和頭部之間插入一些層,這些層通常用於收集不同階段的特徵圖。本文可以稱之爲目標檢測的頸部。通常,頸部由幾個自下而上的路徑和幾個自上而下的路徑組成。具有這種機制的網絡包括特徵金字塔網絡(FPN)[44]、路徑聚合網絡(PAN)[49]、BiFPN[77]和NAS-FPN[17]。

除上述模型外,一些研究者還將重點放在直接構建用於目標檢測的新骨幹網(DetNet[43]、DetNAS[7])或新的整體模型(SpineNet[12]、hitdector[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::

• DensePrediction(one-stage):

◦ RPN[64],SSD[50],YOLO[61],RetinaNet [45] (anchor based)

◦ CornerNet [37], CenterNet [13], MatrixNet [60], FCOS [78] (anchor free)

• SparsePrediction(two-stage):

◦ Faster R-CNN [64], R-FCN [9], Mask RCNN [23] (anchor based) ◦ RepPoints [87] (anchor free)

2.2. Bag of freebies

通常,傳統的目標檢測是離線訓練的。因此,研究者總是希望利用這一優勢,開發出更好的訓練方法,使目標檢測在不增加推理成本的情況下獲得更好的精度。本文將這些只改變訓練策略或只增加訓練成本的方法稱爲「免費包」,目標檢測方法通常採用的滿足免費包定義的方法是數據增強。數據增強的目的是增加輸入圖像的可變性,使所設計的目標檢測模型對來自不同環境的圖像具有更高的魯棒性。例如,光照畸變和幾何畸變是兩種常用的數據增強方法,它們有利於目標檢測任務。在處理光照失真時,本文調整圖像的亮度、對比度、色調、飽和度和噪聲。對於幾何失真,本文添加了隨機縮放、裁剪、偏移和旋轉。上述數據增強方法均爲逐像素調整,並且保留調整區域中的所有原始像素信息。

此外,一些從事數據增強的研究者把重點放在模擬物體遮擋問題上。在圖像分類和目標檢測方面取得了良好的效果。例如,random erase[100]和CutOut[11]可以隨機選擇圖像中的矩形區域,並以0的隨機或互補值填充。至於探測搜索(69)和網格掩碼(6),它們隨機或均勻地選擇圖像中的多個矩形區域,並將它們替換爲全部零。如果將類似的概念應用於特徵地圖,則有DropOut[71]、DropConnect[80]和DropBlock[16]方法。此外,一些研究者還提出了利用多幅圖像進行數據增強的方法。例如,MixUp[92]使用兩個圖像以不同的係數比率進行乘法和疊加,然後使用這些疊加比率調整標籤。

對於CutMix[91],它是將裁剪後的圖像覆蓋到其他圖像的矩形區域,並根據混合區域的大小調整標籤。除了上述方法外,樣式轉移GAN[15]還用於數據增強,這樣的使用可以有效地減少CNN學習到的紋理偏差。與以上提出的各種方法不同,一些其他的免費包方法致力於解決這些數據集中的mantic分佈可能存在偏差的問題。在處理語義分佈偏差問題時,一個非常重要的問題是不同類之間存在數據不平衡的問題,這一問題通常通過兩級對象檢測中的硬負示例挖掘[72]或在線硬示例挖掘[67]來解決。

但示例挖掘方法不適用對於單級目標檢測,由於這種檢測屬於密集預測結構。因此,Lin等人 [45]提出了焦點損失的概念,以解決不同類別之間存在的數據不平衡問題。另一個非常重要的問題是,很難表達不同類別之間的關聯度與一個熱門的硬性表示之間的關係。此表示方案通常在執行標記時使用。文[73]提出的標籤平滑是將硬標籤轉化爲軟標籤進行訓練,使模型更加健壯。爲了獲得更好的軟標籤,Islam 等人[33]引入了知識蒸餾的概念來設計標籤關係網絡。

最後一個亮度是邊界盒迴歸的目標函數。傳統的目標檢測通常採用均方誤差(MSE)直接對BBox的中心點座標和高度、寬度進行迴歸。


然而,直接估計BBox中每個點的座標值就是把這些點作爲自變量來處理,但實際上並不考慮對象本身的完整性。爲了使這個問題得到更好的處理,一些研究人員最近提出了IoU損失[90],其中考慮了預測BBox面積和地面真實BBox面積的覆蓋。IoU損耗計算過程將通過執行IoU和地面真值來觸發BBox四個座標點的計算,然後將生成的結果連接成一個完整的代碼。由於IoU是尺度不變的表示,它可以解決傳統方法計算{x,y,w,h}的l1或l2損失時,損失會隨着尺度的增大而增大的問題。最近,一些研究人員繼續改善借據損失。例如,GIoU loss[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],SPMs最初的方法是將特徵圖分割成若干個d×d相等的塊,其中d可以是{1,2,3,…},從而形成空間金字塔,然後提取一袋字的特徵。SPP將SPM集成到CNN中,使用max池操作而不是包字操作。自He等人提出SPP模塊以來 [25]提出一維特徵向量,不適用於全卷積網絡。

因此,在YOLOv3[63]的設計中,Redmon和Farhadi改進了SPP模塊,將最大池輸出與內核大小k×k(其中k={1,5,9,13},步長等於1)連接起來。在這種設計下,相對較大的k×k最大池有效地增加了主幹特徵的接收範圍。在加入了改進版的SPP模塊後,YOLOv3-608在MS-COCO目標檢測任務中以0.5%的額外計算代價將AP50升級了2.7%。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圖像分類任務中以僅增加2%的計算量爲代價提高ResNet50的功率1%top-1精度,但在GPU上,它通常會增加約10%的推理時間,因此更適合在移動設備中使用。但是對於SAM,它只需要支付0.1%的額外計算,並且它可以提高ResNet50 SE 0.5%在ImageNet圖像分類任務中的top-1精度。最重要的是,它根本不影響GPU上的推理速度。

在特徵集成中,早期的做法是使用skip連接[51]或hyper column[22]將低級物理特徵集成到高級語義特徵。隨着FPN等多尺度預測方法的流行,人們提出了許多集成不同特徵金字塔的輕量級模塊。這類模塊包括SFAM[98]、ASFF[48]和BiFPN[77]。SFAM的主要思想是利用SE模塊對多尺度級聯特徵映射進行信道級重加權。對於ASFF,它使用softmax作爲逐點重加權,然後添加不同尺度的特徵映射。在BiFPN中,提出了多輸入加權殘差連接來進行尺度層次的加權,然後加入不同尺度的特徵映射。

在深度學習的研究中,一些人把注意力放在尋找良好的激活功能上。一個好的激活函數可以使梯度更有效地傳播,同時不會造成太多額外的計算成本。

2010年,Nair和Hinton[56]提出ReLU實質上解決了傳統tanh和sigmoid激活函數中經常遇到的梯度消失問題。隨後,LReLU[54]、PReLU[24]、ReLU6[28]、ScaledExponential線性單元(SELU)[35]、Swish[59]、hard Swish[27]和Mish[55]等也被用來解決梯度消失問題。LReLU和PReLU的主要目的是解決輸出小於零時ReLU的梯度爲零的問題。對於ReLU6和硬開關,它們是專門爲量化網絡設計的。爲了實現神經網絡的自規範化,提出了一種SELU激活函數。值得注意的是Swish和Mish都是連續可微的激活函數。

在基於深度學習的目標檢測中,常用的後處理方法是NMS,它可以過濾那些對同一目標預測不好的bbox,只保留響應較高的候選bbox。NMS試圖改進的方法與優化目標函數的方法是一致的。NMS提出的原始方法不考慮上下文信息,因此採用Girshicketal。[19] 在R-CNN中增加分類可信度得分作爲參考,根據可信度得分的順序,貪婪的NMS按照從高到低的順序進行。

對於SoftMs[1],它考慮了對象的遮擋可能導致貪婪的具有IoU分數的NMS的可信度下降的問題。DIoU NMS[99]開發者的思路是在軟NMS的基礎上,在BBox篩選過程中加入中心點距離的信息,值得一提的是,由於以上的後處理方法都沒有直接涉及到採集到的圖像特徵,在後續的開發中不再需要後處理無錨法。

3. Methodology

其基本目標是神經網絡在生產系統中的快速運行和並行計算的優化,而不是低計算量理論指標(BFLOP)。本文提出了兩種實時神經網絡方案:

•對於GPU,本文在卷積層中使用少量組(1-8):CSPResNeXt50/CSPDarknet53

•對於VPU-本文使用分組卷積,但本文不使用Squeeze-and-excitement(SE)塊-具體來說,這包括以下模型:Ef ficientnet lite/MixNet[76]/GhostNet[21]/mobilenet3

3.1. Selection of architecture

本文的目標是找到輸入網絡分辨率、卷積層數、參數數(濾波器尺寸2*濾波器*信道/組)和層輸出數(濾波器)之間的最佳平衡。例如,本文的大量研究表明,就ILSVRC2012(ImageNet)數據集上的對象分類而言,CSPResNext50比CSPDarknet53要好得多[10]。然而,相反地,CSPDarknet53在MS-COCO數據集上的檢測對象的CSPResNext50 interms上要好於CSPResNext50[46]。

下一個目標是爲增加接收場選擇額外的塊,併爲不同的檢測級別從不同的主幹級別選擇最佳的參數聚集方法:

例如,FPN、PAN、ASFF、BiFPN。對於檢測來說,分類最佳的參考模型並不總是最優的。

與分類不同的是,檢測要求如下:

•更高的輸入網絡尺寸(分辨率)-用於檢測多個小尺寸物體

•更多層-用於更高的接收場,以覆蓋輸入網絡的增大尺寸

•更多參數-使模型能夠在單個圖像中檢測多個不同大小的對象

假設本文可以假設對於較大的接收野尺寸(卷積層的數量較大,爲3×3)和較大數量的參數,應選擇作爲主幹。表1顯示了CSPResNeXt50、CSPDarknet53和Ef ficientnet B3的信息。CSPResNext50僅包含16個卷積層3×3、425×425接收場和20.6 M參數,而CSPDarknet53包含29個卷積層3×3、725×725接收場和27.6 M參數。理論上的證明,加上本文的大量實驗,表明CSPDarknet53神經網絡是兩者作爲檢測主幹的最佳模型。

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

•最大對象大小-允許查看整個對象

•網絡大小允許查看對象周圍的上下文

•超過網絡大小-增加圖像點和最終激活之間的連接數。

本文在CSPDarknet53上添加了SPP塊,因爲它顯著增加了接收字段,分離出了最重要的上下文特徵,並且幾乎不會降低網絡運行速度。本文用PANet代替YOLOv3中的FPN,從不同的主幹層對不同的檢測層進行參數聚合。

最後,選擇CSPDarknet53骨幹網、SPP附加模塊、PANet路徑聚合頸部和YOLOv3(基於錨的)頭部作爲YOLOv4的體系結構。

在未來,本文計劃大幅擴展檢測的免費包(BoF)內容,理論上可以解決一些問題,提高檢測的精度,並以實驗的方式依次檢查每個特徵的影響。本文不使用跨GPU批處理規範化(CGBN或SyncBN)或昂貴的專用設備。這允許任何人在傳統圖形處理器(如GTX 1080Ti或RTX 2080Ti)上覆制本文的最新成果。

3.2. Selection of BoF and BoS

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

•激活:ReLU、泄漏ReLU、參數ReLU、ReLU6、SELU、Swish或Mish

•邊界框迴歸損失:MSE、IoU、GIoU、CIoU、DIoU

•數據增強:剪切、混合、剪切

•正則化方法:DropOut、DropPath[36]、space DropOut[79]或DropBlock

•按平均值和方差對網絡激活進行規範化:批處理規範化(BN)[32]、跨GPU批處理規範化(CGBN或SyncBN)[93]、過濾器響應規範化(FRN)[70]或跨迭代批處理規範化(CBN)[89]

•跳過連接:剩餘連接、加權剩餘連接、多輸入加權剩餘連接或跨級部分連接(CSP) 至於訓練激活功能,由於PReLU和SELU更難訓練,並且ReLU6是專門爲量化網絡設計的,因此本文從候選列表中刪除了上述激活功能。在重新規範化方法中,發表DropBlock的人詳細比較了他們的方法和其他方法,他們的正則化方法贏得了很多。因此,本文毫不猶豫地選擇DropBlock作爲正則化方法。至於規範化方法的選擇,由於本文關注的是一種只使用一個GPU的訓練策略,所以不考慮syncBN。


3.3. Additional improvements

爲了使所設計的檢測更適合單GPU的訓練,本文做了如下的額外設計和改進:

•本文介紹了一種新的數據增強拼接和自我對抗訓練(SAT)方法

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

•本文修改了一些現有的方法,使本文的設計適合於有效的訓練和檢測-修改的SAM、修改的PAN和跨小批量標準化(CmBN)馬賽克代表了一種新的數據增強方法,混合了4幅訓練圖像。

因此,4種不同的背景是混合,而CutMix只混合2個輸入圖像。這允許檢測正常上下文之外的對象。此外,批處理規範化從每一層上的4個不同圖像計算激活統計信息。這大大減少了對大批量生產的需求。自對抗訓練(SAT)也代表了一種新的數據增強技術,它分爲兩個前後階段。在第一階段,神經網絡改變原始圖像而不是網絡權值。通過這種方式,神經網絡對自身進行對抗性攻擊,改變原始圖像,從而產生圖像上存在節點所需對象的欺騙。在第二階段中,訓練神經網絡以正常方式檢測該修改圖像上的目標。

CmBN表示CBN修改版本,如圖4所示,定義爲跨小批量標準化(CmBN)。這隻收集單個批次內小批量之間的統計數據。本文將SAM從空間注意修改爲點注意,並替換PAN到連接的快捷連接,分別如圖5和圖6所示。



3.4. YOLOv4

在本節中,本文將詳細介紹YOLOv4。

YOLOv4包括:

• Backbone: CSPDarknet53 [81]

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

• Head: YOLOv3 [63]

•主幹:CSPDarknet53[81]

•頸部:SPP[25],PAN[49]

•頭部:YOLOv3[63]

Yolov4用途:

•主幹線免費包(BoF):CutMix和Mosaic數據增強、DropBlock正則化、類標籤平滑

•主幹網專用包(BO):誤激活、跨階段部分連接(CSP)、多輸入加權剩餘連接(MiWRC)

•檢測的免費包(BoF):CIoU丟失,CmBN,DropBlock正則化,馬賽克數據增強,自我對抗訓練,消除網格敏感度,使用多個錨實現單一地面真理,cosineanAlingScheduler[52],最佳超參數,隨機訓練形狀

•檢測專用包(BoS):Mish激活、SPP塊、SAM塊、泛路徑聚合塊、DIoU NMS Experiments

4. Experiments

本文測試了不同訓練改進技術對ImageNet(ILSVRC2012val)數據集分類精度的影響,然後測試了MS COCO(test dev 2017)數據集上檢測的精度。

4.1. Experimental setup

在ImageNet圖像分類實驗中,默認的超參數如下:訓練步長爲8000000;批大小爲128,最小批大小爲32;採用多項式衰減學習率調度策略,初始學習率爲0.1;預熱步長爲1000;動量和權重衰減分別設置爲0.9和0.005。本文所有的BoS實驗都使用與默認設置相同的超參數,在BoF實驗中,本文添加了50%的額外訓練步驟。在BoF實驗中,本文驗證了MixUp、CutMix、Mosaic、模糊數據增強和標籤平滑正則化方法。在BoS實驗中,本文比較了sofLReLU、Swish和Mish激活函數的效果。所有實驗均採用a1080 Ti或2080ti GPU進行訓練。

在MS-COCO目標檢測實驗中,默認超參數爲:訓練步長爲500500;採用步長衰減學習速率調度策略,初始學習速率爲0.01,在400000步和450000步分別乘以因子0.1;分別設置動量衰減和權重衰減分別爲0.9和0.0005。所有架構都使用單個GPU執行64批的多尺度訓練,而最小批大小爲8或4取決於體系結構和GPU內存限制。除了使用遺傳算法進行超參數搜索實驗外,所有其他實驗都使用默認設置。遺傳算法利用YOLOv3 SPP進行帶GIoU損失的訓練,搜索300個時間段的最小val 5k集。採用搜索學習率0.00261、動量0.949、IoU閾值指定地面真值0.213、損失歸一化器0.07進行遺傳算法實驗。

本文已經驗證了大量的BoF,包括網格敏感度消除,馬賽克數據增強,IoU閾值,遺傳算法,類標籤平滑,跨小批量規範化,自對抗訓練,餘弦退火調度,動態小批量大小,DropBlock,優化錨,不同種類的oulosses。本文還對各種BoS進行了實驗,包括Mish、SPP、SAM、RFB、BiFPN和Gaussian YOLO[8]。對於所有的實驗,本文只使用一個GPU進行訓練,所以不使用syncBN等優化多個GPU的技術。

4.2. Influence of different features on Classifier training

首先,本文研究不同特徵對分類訓練的影響;具體來說,如圖7所示,類標籤平滑的影響,不同數據增強技術的影響,雙邊模糊、混合、剪切和鑲嵌,以及不同激活的影響,如漏ReLU(默認)、Swish和Mish。

在本文的實驗中,如表2所示,通過引入CutMix和Mosaic數據增強、類標籤平滑和Mish激活等功能,分類精度得到了提高。因此,本文用於分級訓練的BoF骨幹(免費包)包括以下內容:CutMix和Mosaic數據增強和類標籤平滑。此外,本文使用Mish激活作爲補充選項,如表2和表3所示。




4.3. Influence of different features on Detector training

進一步的研究涉及不同的免費包(BoF檢測)對檢測訓練精度的影響,如表4所示。本文通過研究在不影響FPS的情況下提高檢測精度的不同特性,顯著地擴展了BoF列表:

•S:消除網格敏感度——方程bx=σ(tx)+cx,by=σ(ty)+cy,其中cx和cy始終是整數,在YOLOv3中用於評估目標座標,因此,接近cx或cx+1值的bx值需要極高的tx絕對值。本文通過將sigmoid乘以一個超過1.0的因子來解決這個問題,從而消除了物體無法檢測到的網格效應。

•M:在訓練期間使用4-圖像拼接而不是單個圖像進行拼接數據增強 •IT:IoU閾值-使用多個錨定一個地面真相IoU(真相,錨定)>IoU閾值

•GA:遺傳算法-使用遺傳算法在前10%時間段的網絡訓練期間選擇最佳超參數

•LS:類標籤平滑-使用類標籤平滑進行sigmoid激活

•CBN: CmBN-使用跨小批量規範化來收集整個批次內的統計信息,而不是在單個小批量內收集統計信息

•CA:餘弦退火調度器在正弦訓練期間改變學習率

•DM:動態小批量-使用隨機訓練形狀,在小分辨率訓練期間自動增加小批量

•OA:使用用於512x512網絡分辨率訓練的時間軸優化傳感器

•GIoU、CIoU、DIoU、MSE-使用不同的損失算法進行有界盒迴歸如表5所示,進一步的研究涉及不同的特種包(BoS檢測)對檢測訓練精度的影響,包括PAN、RFB、SAM、高斯YOLO(G)和ASFF。在本文的實驗中,當使用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-batchsize on Detector training

最後,本文分析了使用不同小批量訓練的模型得到的結果,結果如表7所示。從表7的結果可以看出,在加入BoF和BoS訓練策略後,小批量對檢測的性能幾乎沒有影響。結果表明,BoF和BoS引入後,不再需要使用昂貴的gpu進行訓練。換句話說,任何人都只能使用傳統的GPU來訓練優秀的檢測。


5. Results

圖8顯示了與其他最先進的目標檢測的比較結果。本文的YOLOv4位於P-are最優曲線上,在速度和精度方面都優於最快和最精確的檢測。由於不同的方法使用不同體系結構的gpu進行推理時間驗證,本文在Maxwell、Pascal和Volta體系結構的常用gpu上操作YOLOv4,並將它們與其他最新方法進行比較。表8列出了使用Maxwell GPU的幀速率比較結果,它可以是GTXTitanX(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。

6. Conclusions

本文提供最先進的檢測,比所有可用的替代檢測更快(FPS)和更精確(MS COCO AP50…95和AP50)。所述檢測可在8-16GB-VRAM的傳統GPU上訓練和使用,這使得其廣泛應用成爲可能。一級錨定檢測的最初概念已經證明了它的可行性。本文已經驗證了大量的特徵,並選擇使用這些特徵來提高分類和檢測的精度。這些特性可以作爲未來研究和開發的最佳實踐。

參考文獻

文章來源:知乎