- YOLO #まとめ編
Index
YOLO v2 とは
ニューラルネットの導入により検出フレームワークは高速かつ正確になっているが
物体検出のデータセットが不足している.
(分類やタグ付け等の別タスクのデータに比べ「物体の種類」が不足している)
この手法では、大量の分類データを使用して物体検出の範囲を広げる.
- 物体検出 #まとめ編
「YOLO」をベースに改良した「YOLO v2」を作成し、分類データセットを利用し、
9000種類以上を分類する「YOLO9000」を作成する.
改善点
- 精度 / Better
- Batch Nomalization
- High Resolution Classifier
- Convolutional with Anchor Boxes
- Dimension Clusters
- Direct location prediction
- Fine-Grained Feature
- Multi-Scale Training
- 速度 / Faster
- Darknet
Better
「YOLO」の精度面の問題点として
- 「Fast R-CNN」と比べると物体検出の位置のエラーが大きい(ローカライゼーション)
- 他の手法に比べ、リコールが低い
分類精度を維持しながら、上記の二点の改善を目指す.
精度を向上させるために、ネットワーク構造を複雑にする方法はよくあるが、 高速な検出を目指すため、単純なネットワーク構造で精度を上げる.
Batch Nomalization
「YOLO」の全ての畳み込み層の後にBatch Normalization を行う.
- Batch Nomalization
High Resolution Classifier
AlexNetをはじめとするほとんどの分類器は、256 x 256 より小さい画像を入力画像としていた.
また、「YOLO」も入力画像サイズを224 x 224で学習していた.
「YOLO v2」では 448 x 448の画像( ImageNet)でfine tuningを行う.
これは、高解像のインプットでも良い精度を出すのが目的.
Convolutional with Anchor Boxes
「YOLO」ではBBの座標を畳み込み層の特徴抽出で直接推定する.
それに対し、BBの座標の推定を行わず「anchor boxes (priors)」を使って間接的に推定する.
「YOLO」では1つのグリッドに対し、物体のクラスの確率を推定していた.
しかし、「YOLOv2」では「anchor boxes」1つに対し、物体のクラスの確率を推定する.
「YOLO」で「anchor boxes」 を使用する場合、2つの問題が発生する.
- anchor box の次元の設定を人が行う点 → Dimension Clusters
- 初期の学習で安定しない → Direct Location Prediction
それぞれの問題の解決案として、2 つの手法を適用する.
Dimension Clusters
使用する「anchor boxes」を決定する方法.
学習用のデータのBBの座標を k-means でクラスタリングする. (k=5)
要素の多いクラスターを選択する等の方法で、使用する「anchor boxes」を選別する.
Direct Location Prediction
「YOLO」の初期の学習が不安定になる大きな理由は
BBの予測を座標から行なっていること.
提案手法では を推定し、
BBの座標と信頼度 を以下の方法で計算する(シグモイド関数)
Fine-Grained Feature
細かい粒度の特徴を抽出することが目的.
passthrough layer を使用して、隣接する特徴を異なるチャネルに重ねる.
これにより、高解像度の特徴と低解像度の特徴を連結する.
- ResNet
Multi-Scale Training
YOLO v2 では、ロバストにするために様々なサイズの画像を学習させる.
10バッチごとに新しいサイズの画像を無作為に選択する.
Faster
多くの物体検出フレームワークは基本的な特徴抽出にVGG-16を使用しているが、
複雑なため、処理が遅い.
- VGG-16
高速に処理をするためのネットワーク構造を提案する.
Darknet-19
19の畳み込み層と5のプーリング層で構成されている Darknet を使用する.
- Darknet
Training
学習に関するパラメータ
- dataset : ImageNet 1000 class classification dataset
- learning rate : 0.1
- polynomial rate decay with a power : 4
- weight decay : 0.0005
- momentum : 0.9
- epoch : 160
data augmentation tricks :
- random crops
- rotation
- hue
- saturation
- exposure shifts
224 x 224 画像で学習後、448 x 448 のサイズで 再学習する.
- epoch : 10
- learning rate : 10e-3
参考
- YOLO9000: Better, Faster, Stronger
- [2016]
- 1 Introduction
- 2 Better
- 3 Faster
- arxiv.org