ターゲット検出: YOLOV2

CVPR2017に掲載されました

1. YOLOV1と比較してYOLOV2を改善する試み:

1) BN レイヤーの追加: YOLOv2 の 2 番目の改良点は、ネットワークにバッチ正規化を追加し、バッチ正規化を使用してネットワークを最適化することで、ネットワークの収束性を向上させ、同時に他の形式の正則化 (正則化) を排除できるようにすることです。依存。BN を使用すると、モデルの過学習を回避するためにドロップアウトを使用する操作を削除できます。mAPが約2%増加します。

2) より高い解像度の分類器 (HighResolution Classifier) を使用します。448×448 の大きな解像度の入力を使用します。この高解像度分類ネットワークにより、mAP がほぼ 4% 向上します。

3) アンカーベースのメカニズムを試してみる:著者は、アンカー オフセットに基づく予測は、座標を直接予測する場合と比較してバウンディング ボックス予測の問題を単純化でき、ネットワークの学習と収束も容易にできると考えています。(高速 R-CNN は、座標値を直接予測しません。高速 R-CNN は、RPN の完全な接続を使用して、各ボックスのオフセット (座標オフセットまたはリファインメント量) と信頼度 (スコア) を予測するだけです。 (説明: ボックス本体高速な r-cnn の値はアンカーから取得され、RPN は洗練されたアンカーのオフセット量を提供するだけです))

4) ディメンション クラスター: Faster RCNN、SSD、およびその他のネットワークのプリセット アンカーは、基本的に経験に基づいて取得されるか、手動で選択されます。YOLOV2 は、トレーニング セット内のすべてのターゲット bbox の位置を使用して、k-means 法を通じて対応するアンカーをクラスター化します。最初からより適切なアンカーを選択すると、ネットワーク学習が容易になります。

5) 直接位置予測: YOLO のアンカー ボックス メカニズムを使用すると、モデルが不安定になります。特に初期のイテレーションでは。不安定要因は主に、ボックスの (x, y) 位置を予測するときに発生します。この式には制限がないため、アンカー ボックスはこのグリッド内だけでなく、画像内の任意の位置にオフセットできます。ランダムに初期化されたモデルは、安定して信頼性の高いオフセットを生成するまでに長い時間がかかることがあります。「オフセットを予測」しませんでしたが、YOLO の方法に従い、グリッド単位 (sigmod 関数によって 0 と 1 の間で変化) に対する相対位置を直接予測しました。

6) きめ細かい特徴:調整された yolo は、13X13 特徴マップ上で検出タスクを実行します。大きなオブジェクトの検出にはこのようなきめの細かい特徴マップは必要ありませんが、小さなオブジェクトの検出には非常に役立ちます。Fast R-CNN と SSD はどちらも、さまざまな解像度を取得するためにさまざまな機能マップで推奨されるネットワークです。YOLOV2 は異なるアプローチを採用し、26x26 解像度から機能を取得するためにパススルー レイヤーを追加するだけです。

パススルー層は、さまざまな解像度の低レベル機能と高レベル機能を融合します。

高解像度の低レベル特徴マップは下図のようになり、4つの低解像度特徴マップを生成し、チャネル数を4倍にして、低解像度の高レベル特徴マップとconcat fusionを実行します。

7) マルチスケールトレーニング:さまざまな解像度の入力画像を使用したトレーニング

YOLOv2 モデルには畳み込み層とプーリング層のみがあるため、YOLOv2 の入力は 416x416 サイズの画像に限定されません。モデルの堅牢性を高めるために、YOLOv2 はマルチスケール入力トレーニング戦略を採用しており、具体的には、トレーニング プロセス中に一定のエポック間隔の後にモデルの入力画像サイズを変更します。YOLOv2 の合計ダウンサンプリング ステップ サイズは 32 であるため、入力画像サイズは 32 の倍数である一連の値を選択します。

最小入力ピクチャは 320x320、対応する特徴マップ サイズはこの時点で 10x10 ですが、最大入力ピクチャは 608x608、対応する特徴マップ サイズは 19x19 です。トレーニング プロセス中に、入力ピクチャ サイズは 10 ごとにランダムに選択されます再トレーニングするには、最後の検出層の処理を変更する必要があります。

2.バックボーンネットワーク

yolo_v2 のバックボーン ネットワークとして darknet-19 を使用します。畳み込み層は合計 19 層あります。

各畳み込み層には、Conv2d、BN、LeakyReLU の 3 つのステップが含まれています。Conv2d にはバイアスが含まれていないため、BN レイヤーを使用する場合、バイアスは影響を受けません。

検出ネットワークは、下の図に示すように、darknet-19 の最後の畳み込み層、平均プーリング層、ソフトマックスを削除し、その後の検出を追加します。

最後の層の conv2d には BN 層と活性化関数がなく、結果: (5+C)*K を直接出力します。ここで、C はカテゴリの数、K はアンカーの数です。

おすすめ

転載: blog.csdn.net/wanchengkai/article/details/124398931