- YOLO #まとめ編
Index
YOLO とは
深層学習を用いた Object Detection の手法のひとつ.
- Object Detection #まとめ編
既存手法との比較
「DPM」 や 「R-CNN」 では
bounding box の候補を生成してから、bounding box の分類を行なっていた.
「bounding box の生成(物体の領域推定)」と「物体の分類」を別々に行なっていた.
→処理が複雑かつ時間がかかる
YOLO の利点
YOLO では、単純なネットワーク(単一のCNN)で
「bounding box」 と 「クラスの確率」を同時に予測する.
そのため、既存手法より 3 つの点で性能が良い.
- 処理時間が早い
- 画像全体を見て予測できる
- 汎用性が高い
処理時間が早い
「BBの推定」と「クラス分類の確率の推定」 を回帰問題にすることで複雑な処理を行わない.
画像全体を見て予測できる
「sliding window」「region proposal」のような手法を使わずに、
画像の全体を見て物体の候補領域を検出する.
「R-CNN」では背景を物体と誤認識することが多かったが、 「YOLO」は半分以下になっている.
汎用性が高い
芸術作品を検証データとして精度測定をした際、 「DPM」、「R-CNN」より精度が良い.
Unified Detection
この手法では、画像を S x S の「grid cell」に分割する.
各「grid cell」は B 個の 「bounding box(物体の候補領域)」(x, y, w, h)と
「bounding boxの信頼度」(= IOU) を計算する.
また、各「grid cell」 は以下のような条件付き確率をクラスの数分 ( 個) だけ持っている.
ネットワークアーキテクチャ
全体のネットワークアーキテクチャ
出力データの詳細
学習 / Training
最初の20層の畳み込み層で事前学習を行う.
その後の畳み込み層(4層)と全結合層(2層)の初期パタメータはランダムに設定する.
正規化
「bounding box」の座標、横幅、高さについて0〜1で正規化する.
活性化関数
誤差関数
使いやすいため、最小二乗誤差を使用している.
しかし、「BBの領域の誤差」と「分類の誤差」を同等に扱っており、
物体を含む「grid cell」が少ない場合に勾配消失が起き学習が
うまくいかないため理想的ではない.
前の問題を解決するために下記の2つのパラメータを導入する.
学習パラメータ
epoch : 135
learning rate :
- 0 ~ 75 epoch (70) : 10e-2
- 76 ~ 85 epoch (30) : 10e-3
- 86 ~ 135 epoch (30) : 10e-4
batch size : 64
momentum : 0.9
decay : 0.5 x 10e-3
Non-Maximal Suppression
一つのオブジェクトに複数のBBが適用されることがあり、 一つのオブジェクトに一つのBBを適用するために Non-Maximal Suppression を利用されている.
YOLO の欠点
1つの「grid cell」で分類できるオブジェクトはパラメータとして設定した
BBの数に制限されてしまう.
各BBにおける予測クラスは1つのみになるので「小さな物体の集まり(鳥の群れ)」などの識別が弱い.
新しいまたは異常なアスペクト比のオブジェクトに弱い.
参考
- You Only Look Once: Unified, Real-Time Object Detection
- [2015]
- 1 Introduction
- 2 Unified Detection
- 2.1 Network Design
- 2.2 Training
- 2.3 Inference
- 2.4 Limitations of YOLO
- arxiv.org
Web サイト
YOLO(v1)論文の要約
物体検出におけるNon-Maximum Suppressionのアルゴリズム
- Non-Maximum Suppression
- meideru.com