- YOLO #まとめ編
Index
YOLO v4 とは
物体検出のアルゴリズムのひとつ.
- 物体検出 #まとめ編
CNN の精度向上に利用されるテクニックを導入して、YOLO を改善した.
- Weighted-Residual Connections (WRC)
- Cross-Stage-Partial-connections (CSP)
- Cross mini-Batch Normalization (CmBN)
- Self-Adversarial-Training (SAT)
- Mish Activation Function
- DropBlock Regularization
- CIoU Loss
この論文の注目ポイント
- 効率的なネットワークアーキテクチャを採用することで、
一般的な GPU で高速な学習を行うことができる. - Bag of Freebies および Bag of Specials の影響を検証.
- CBN 、PAN 、Spatial Attention Module (SAM) などの最先端の方法を調整し、
より効率的で、シングルGPUの学習に適したものにする.
Bag of Freebies / Bag of Specials
Bag of Freebies : 推論コストを上げずに、精度を上げようと試みる
- DropBlock Regularization
- CIoU Loss
Bag of Specials : 僅かな推論コストを許容することで、精度を上げようと試みる
- Spatial Attention Module / SAM
- Mish Activation Function
Bag of Freebies
物体検出はリアルタイムではなく、オフラインで学習できる.
この利点を利用して、推論のコスト(処理時間)を増やすことなく、
トレーニング方法を改善する.
トレーニング戦略・トレーニングコストを増やすだけで、
推論時の精度をあげる戦略をBag of Freebiesと呼ぶ.
しかし、その方法では、推論時のコストが大きくなってしまう.
Bag of Freebies では、トレーニング戦略を改良することで、 推論時の精度を上げると考える.
- Bag of Freebies
Bag of Specials
僅かな推論コストを許容することで、精度を上げようする考え.
- Convolution の改善
- Attention の導入
- 特徴量の扱い方の改善
- 活性化関数の改善
後処理
Bag of Specials
ネットワークアーキテクチャ
この論文の基本方針として、計算量 (FLOPS) の最小化ではなく、
あくまで本番システムにて、ニューラルネットワークが高速・並列に
動作・計算するように最適化すること.
そこで、以下の実行環境にてネットワークアーキテクチャを比較する.
-
- CSP ResNeXt-50
- CSP Darknet-53
VPU
- EfficientNet-lite
- MixNet
- GhostNet
- MobileNetV3
Backbone
入力の解像度、畳み込み層の数、パラメータ数、出力の大きさの
4つの間で、バランスが良いネットワークアーキテクチャを見つけたい.
以下のアーキテクチャから比較して、CSP Darknet-53を採択.
- CSP ResNeXt-50
- CSP Darknet-53
- EfficientNet B3
Neck
Spatial Pyramid Pooling / SPP を CSP Darknet-53 に導入する.
YOLO v3 で利用していた Feature Pyramid Network / FPN の代わりに
Path Aggregation Network / PAN を利用する.
Head
YOLO v3 と同様 Anchor Base / Dense Prediction を採用する.
アーキテクチャまとめ
部分 | 手法名 |
---|---|
Backbone | CSP Darknet-53 |
Neck | Spatial Pyramid Pooling / SPP |
Neck | Path Aggregation Network / PAN |
Head | Ancker Base / Dense Prediction |
改善・工夫
Data Augmentation
Self-Adversarial Training / SAT
Nomalization
- BN
- CBN
CmBN
Normalization
Spatial Attention Module / SAM の改善
画像に適用される Attention.
ネットワークアーキテクチャ に利用される.
Path Aggregation Network / PAN の改善
ネットワークアーキテクチャのNeckで利用される PAN の改善.
参考
- YOLOv4: Optimal Speed and Accuracy of Object Detection
- [2020]
- Abstract
- 1 Introduction
- 2 Related work
- 2.2 Bag of freebies
- 2.3 Bag of specials
- 3 Methodology
- 3.1 Selection of architecture
- 3.3 Additional improvements
- 3.4 YOLOv4
- arxiv.org
Web サイト
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
物体認識モデルYOLOv3を軽く凌駕するYOLOv4の紹介 - ほろ酔い開発日誌
3番煎じぐらいだけど YOLOv4 をまとめてみた
What's the complete loss function used by yolov4?