YOLOv4: Optimal Speed and Accuracy of Object Detection
2020-04-26 11:28:45
Paper: https://arxiv.org/abs/2004.10934
Code: https://github.com/AlexeyAB/darknet
Other collection for the Implementation: link
1. Background and Motivation:
如圖 1 所示,本文 YOLO-v4 在精度和速度上,取得了較好的平衡。
大部分基於 CNN 物體檢測算法僅適用於推薦系統。例如,通過城市視頻攝像頭來搜索免費的停車位,這個過程是通過 slow accurate models 來實現的,而車輛碰撞警告是通過快速的不准確模型來實現的。因此一個實時的准確的物體檢測模型,是非常重要的。本文就想構建一種物體檢測模型來實現一個快速的算法,但是還要求能在單個普通的 GPU 上進行訓練。為了上述目標,作者提出如下的貢獻:
1). 作者開發了一種有效地、強大的物體檢測模型。其可以利用 1080TI 或者 2080TI 顯卡來訓練一個超級快速和准確地物體檢測器;
2). 作者驗證了頂尖的 Bag-of-Freebies 和 Bag-of-Specials 方法的影響;
3). 修改了頂尖的算法,使得他們更加適合單張 GPU 訓練,包括 CBN, PAN, SAM, 等。
2. Related Work:
作者在 related work 中提到了眾多的改進技巧,並且分為兩個部分進行介紹:Bag of freebies 和 Bag of specials。
Bag of freebies:
data augmentation, semantic distribution bias, BBox regression;
Bag of specials:
enhanced receptive field, attention module, feature integration, multi-scale, good activation function, NMS;
3. The Proposed Method:
3.1. Selection of architecture:
作者給出了多個骨干網絡,並且講了選擇的幾個重要標准:
3.2. Selection of BoF and BoS:
3.3. Additional Improvements:
其中,比較有意思的是自我攻擊訓練:Self-Adversarial Training (STA) 這種方法提供了一種新的數據增廣的技術,涉及到兩個前向和后向階段。
在第一個階段,神經網絡會修改原始的圖像;這樣神經網絡就可以進行對抗攻擊,改變原始圖像來創造一些欺騙性的東西。
在第二個階段,神經網絡被訓練按照常規的方式進行物體檢測。