- YOLO #まとめ編
Index
YOLO X とは
今までの YOLO シリーズ (v3 / v4/ v5) を基に、複数の改善手法を導入することで、精度を向上させた.
ネットワークアーキテクチャ
Backbone
YOLO v3 で使用されたネットワーク (Darknet-53) に SPP を追加したネットワーク (YOLO v3 - SPP) を基本とする.
Darknet-53
SPP
Neck
最適化されすぎないために、PAN ではなく、YOLO v3 で利用していた FPN を利用.
Decoupled Head
従来の YOLO (v3 / v4/ v5) では、クラス分類の情報 / BB の位置情報 / 物体の確信度
をひとつのテンサー(= Coupled Head) を使って表現していた.
しかし、それを Decoupled Head に変更.
ロスの収束速度を上昇させる効果がある.
各ヘッドから座標の算出
正確には、left_top_x, left_top_y に関する offset 情報?
改善点
- Decoupled Head
- Strong Augmentation
- Anchor Free
- Multi Positives
- SimOTA
Strong Augmentation
データ拡張 / Data Augmentation に以下を利用する.
- Mosaic
- MixUp
Anchor Free
従来の YOLO (v3 / v4 / v5) は、Anchor Base を利用している.
Anchor Base には以下のような課題がある.
- クラスタリング分析を用いた、Anchor のサイズを決定する必要がある.
- 検出の出力が複雑になり、予測数が増える.
Anchor Free のすることで、各グリッド(の Anchor ) に依存せず、位置情報を直接推定する.
FCOS
- Fcos: Fully convolutional one-stage object detection.
- [2019]
- arxiv.org
Multi Positives
従来の手法では、GT の BB の中心点のみが、Anchor に含まれていた場合のみ、
その Anchor を有効 (Positive) をみなし、それ以外は、検出が失敗されたとみなした.
しかし、有効になる範囲を、中心点から 3 x 3 の範囲にして、
その判定に余裕を持たせることで、損失関数の制約を緩和している.
SimOTA
物体検出において、「GT と 予測の割り当てアルゴリズム」は、重要な要素である.
そのアルゴリズムとして、OTA / Optimal Transport Assignment がある.
OTA のアルゴリズムをシンプル (Simplify) にすることで、 計算量を軽量化したアルゴリズムが、SimOTA である.
他アルゴリズムとの比較
実装編
- YOLO X #実装編
参考
- YOLOX: Exceeding YOLO Series in 2021
- [2021]
- Abstract
- 1 Introduction
- 2 YOLOX
- 2.1 YOLOX-DarkNet53
- Implementation details
- Anchor-free
- 2.1 YOLOX-DarkNet53
- 3 Comparison with the SOTA
- arxiv.org