オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】YOLO X #アルゴリズム編

Index

YOLO X とは

今までの YOLO シリーズ (v3 / v4/ v5) を基に、複数の改善手法を導入することで、精度を向上させた.

ネットワークアーキテクチャ

Backbone

YOLO v3 で使用されたネットワーク (Darknet-53) に SPP を追加したネットワーク (YOLO v3 - 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 に以下を利用する.

Anchor Free

従来の YOLO (v3 / v4 / v5) は、Anchor Base を利用している.

Anchor Base には以下のような課題がある.

  1. クラスタリング分析を用いた、Anchor のサイズを決定する必要がある.
  2. 検出の出力が複雑になり、予測数が増える.

Anchor Free のすることで、各グリッド(の Anchor ) に依存せず、位置情報を直接推定する.

各特徴マップが Anchor のような役割を果たしている.

FCOS

  • Fcos: Fully convolutional one-stage object detection.

Multi Positives

従来の手法では、GT の BB の中心点のみが、Anchor に含まれていた場合のみ、
その Anchor を有効 (Positive) をみなし、それ以外は、検出が失敗されたとみなした.

しかし、有効になる範囲を、中心点から 3 x 3 の範囲にして、
その判定に余裕を持たせることで、損失関数の制約を緩和している.

SimOTA

物体検出において、「GT と 予測の割り当てアルゴリズム」は、重要な要素である.

そのアルゴリズムとして、OTA / Optimal Transport Assignment がある.

OTA のアルゴリズムをシンプル (Simplify) にすることで、 計算量を軽量化したアルゴリズムが、SimOTA である.

アルゴリズムとの比較





実装編

参考

  • YOLOX: Exceeding YOLO Series in 2021
    • [2021]
    • Abstract
    • 1 Introduction
    • 2 YOLOX
      • 2.1 YOLOX-DarkNet53
        • Implementation details
        • Anchor-free
    • 3 Comparison with the SOTA
    • arxiv.org

Web サイト