YOLOV4所用到的一些tricks


原文鏈接http://arxiv.org/abs/2004.10934

整體框架

      

Bag of Freebies(BoF) & Bag  of Specials (BoS)

  Bag of Freebies(BoF)  指那些能夠提高精度而不增加推斷時間的技術。比如數據增廣的方法圖像幾何變換、CutOut、grid mask等,網絡正則化的方法DropOut、DropBlock等,類別不平衡的處理方法、難例挖掘方法、損失函數的設計等。

  Bag  of Specials (BoS)是指那些增加稍許推斷代價,但可以提高模型精度的方法,比如增大模型感受野的SPP、ASPP、RFB等,引入注意力機制Squeeze-and-Excitation (SE) 、Spatial Attention Module (SAM)等 ,特征集成方法SFAM , ASFF , BiFPN等,改進的激活函數Swish、Mish等,或者是后處理方法如soft NMS、DIoU NMS等。

Backbone: CSPDarknet53

source: CSPNet: A new backbone that can enhance learning capability of cnn論文;

CSPNet提出主要是為了解決三個問題: a.增強CNN的學習能力,能夠在輕量化的同時保持准確性。

                  b.降低計算瓶頸。

                  c.降低內存成本。 

CSP 在 DenseNet的使用

Neck: SPP(Spatial pyramid pooling) 、PANet(Path Aggregation Network)

source: 

    SPP:Spatial pyramid pooling in deep convolutional networks for visual recognition。

       PANet: Path Aggregation Network for Instance Segmentation .(實力分割中提出)

PANet 網絡框架

  關鍵:更好的利用特征融合 1.為了提高低層信息的利用率,加快低層信息的傳播效率,提出了Bottom-up Path Augmentation; 2.通常FPN在多層進行選anchors時,根據anchors的大小,將其分配到對應的層上進行分層選取。這樣做很高效,但同時也不能充分利用信息了,提出了Adaptive Feature Pooling。 3.為了提高mask的生成質量,將卷積-上采樣和全連接層進行融合,提出了Fully-connected Fusion。

CutMix and Mosaic data augmentation, DropBlock regularization, Class label smoothing

source:

    CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features (開源)

Mixup:將隨機的兩張樣本按比例混合,分類的結果按比例分配(個人看法:如果是使用一個隨機數來控制權重,可能AP會增);

Cutout:隨機的將樣本中的部分區域cut掉,並且填充0像素值,分類的結果不變;

CutMix:就是將一部分區域cut掉但不填充0像素而是隨機填充訓練集中的其他數據的區域像素值,分類結果按一定的比例分配

Mosaic data augmentation:可以見論文給的示例圖,提出了一種混合四幅訓練圖像的數據增強方法。

DropBlock regularization(來自知乎):

                                  各種Dropout 組合

Mish activation, Cross-stage partial connections (CSP), Multi- input weighted residual connections (MiWRC)

source:

    Mish: A Self Regularized Non-Monotonic Neural Activation Function論文(開源)

激活函數公式:Mish=x * tanh(ln(1+e^x))

  描述:x軸無邊界(即正值可以達到任何高度)避免了由於封頂而導致的飽和。理論上對負值的輕微允許允許更好的梯度流,而不是像ReLU中那樣的硬零邊界。最后,平滑的激活函數允許更好的信息深入神經網絡,從而得到更好的准確性和泛化。

 

Mish 激活函數的曲線

CSP、MiWRC 都是一種讓網絡更好訓練的跳接方式。

CIoU-loss, CmBN

發展歷程: IoU loss -> Giou loss -> Diou loss & Cious loss

主要依據:geometric factors:overlap area, central point distance and aspect ratio

IOU loss :依據交並比的loss, 不做介紹了。

Giou loss:

                                   GIOU核心算法

Diou loss

切入點:

第一:直接最小化預測框與目標框之間的歸一化距離是否可行,以達到更快的收斂速度。

第二:如何使回歸在與目標框有重疊甚至包含時更准確、更快。

 

 

 

R(B, Bgt)為預測框與真實框的懲罰項。

b, bgt分別為框的中心,P^2即兩個點的歐式距離,c^2為包含兩個框的最小框的對角線長度。

 

 

 

 Ciou loss 

在Diou loss 的基礎上考慮了—— the consistency of aspect ratio   即公式中的 ν參數,α 為權衡參數。 

CmBN

 

CMBN示意圖

Self-Adversarial Training (SAT)

  SAT 為一種新型數據增強方式。在第一階段,神經網絡改變原始圖像而不是網絡權值。通過這種方式,神經網絡對其自身進行一種對抗式的攻擊,改變原始圖像,制造圖像上沒有目標的假象。在第二階段,訓練神經網絡對修改后的圖像進行正常的目標檢測。

注意力機制——SAM、PAN 

所做改進: 將SAM從空間注意力機制修改為點上的注意力機制,並將PAN的相加模塊改為級聯。

讀完結論

一系列堆料,結果建立在好的backbone 上面,好的backbone 再加入一系列訓練提高方式, 必然長點。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM