Index
PP-YOLO とは
YOLO v3 をベースに、計算コストと精度のバランスを考慮して、改善した物体検出の手法.
この論文では、モデルのパラメータと計算コストを増やさずにできる工夫を導入して、
速度を落とさずに、精度を向上させることを目的としている.
また、この論文での実験は、Paddle Paddleという Baidu 製の深層学習ライブラリを
利用している.
改善
YOLO v3 での流れ (以下) は壊さずに、
YOLO v3 の Backbone / Neck / Head を改善する.
Backbone
YOLO v3 では、Darknet-53 を特徴抽出として Backbone に利用していた.
PP-YOLO では、Darknet-53 ではなく、ResNet50-vd に置き換える.
しかし、そのまま置き換えると精度が低下するため、
畳み込み層を一部 Deformable Convolutional Networks / DCN で提案された
Deformable Convolutional Layer に置き換える.
このResNet50-vd に DCN を組み込んだ ResNet50-vd-dcn を利用する.
しかし、すべての畳み込み層を Deformable Convolutional Layer にすると、
推定時間が長くなるため、一部のみを変更する.
Neck
FPN を使用して、特徴量を複数スケールに出力するための Feature Pyramid を構築をする.
Head
2 つの畳み込み層で構成されている.
と の畳み込み層が採用されている.
出力
最終的な出力のチャネル数は になる.
これは、3 つの Anchor それぞれの予測についての情報である.
そして、1 つの Anchor に対する情報は以下のように構成されている.
- K : 各クラスの予測確率
- 4 : BB の予測
- 1 : Object Score
様々な工夫
Larger Batch Size
Batch Size を大きくして学習を行う.
64 -> 192
Exponential Moving Average / EMA
DropBlock
IoU Loss
IoU Aware
Grid Sensitive
Matrix NMS
CoordConv
Spatial Pyramid Pooling / SPP
参考
- PP-YOLO: An Effective and Efficient Implementation of Object Detector
- [2020 Baidu]
- Abstract
- 3 Method
- 3.1 Architecture
- 3.2 Selection of Tricks
- arxiv.org
Web サイト
- 【論文読解】PP-YOLO: An Effective and Efficient Implementation of Object Detector