yolo-v4-tf

ユースケースと概要説明

YOLO v4 は、論文 YOLOv4: Optimal Speed and Accuracy of Object Detection に基づいたリアルタイムの物体検出モデルです。Keras* フレームワークで実装され、TensorFlow* フレームワークに変換されました。詳細についてはリポジトリーを参照してください。このモデルは、80 クラスの Common Objects in Context (COCO) データセットで事前トレーニングされました。

仕様

メトリック

タイプ

検出

GFLOPs

129.5567

MParams

64.33

ソース・フレームワーク

Keras*

精度

変換されたモデルの Common Objects in Context (COCO) 検証データセットで取得された精度メトリック。

メトリック

mAP

71.23%

COCO mAP (0.5)

77.40%

COCO mAP (0.5:0.05:0.95)

50.26%

入力

元のモデル

画像、名前: image_input、形状: 1, 608, 608, 3、形式: B, H, W, C

説明:

  • B - バッチサイズ

  • H - 高さ

  • W - 幅

  • C - チャネル

チャネルの順番は RGB です。スケール値 - 255。

変換されたモデル

画像、名前: image_input、形状: 1, 608, 608, 3、形式: B, H, W, C

説明:

  • B - バッチサイズ

  • H - 高さ

  • W - 幅

  • C - チャネル

チャネルの順番は BGR です。

出力

元のモデル

  1. 検出概要情報の配列、名前 - conv2d_93/BiasAdd、形状 - 1, 76, 76, 255。anchor 値は、12,16, 19,36, 40,28 です。

  2. 検出概要情報の配列、名前 - conv2d_101/BiasAdd、形状 - 1, 38, 38, 255。anchor 値は、36,75, 76,55, 72,146 です。

  3. 検出概要情報の配列、名前 - conv2d_109/BiasAdd、形状 - 1, 19, 19, 255。anchor 値は、142,110, 192,243, 459,401 です。

各ケースの形式は B, Cx, Cy, N*85, です。
説明:

  • B - バッチサイズ

  • CxCy - セル・インデックス

  • N - セルの検出ボックスの数

検出ボックスの形式は、[x, y, h, w, box_score, class_no_1, …, class_no_80]。

説明:

  • (x, y) - ボックスの中心の生の座標。sigmoid 関数を適用してセル座標に対する相対値を取得します

  • h, w - ボックスの生の高さと幅、指数関数を適用し、対応するアンカーを乗算して、絶対的な高さと幅の値を取得します

  • box_score - 検出の信頼度ボックス。sigmoid 関数を適用して [0, 1] 範囲の信頼度を取得します

  • class_no_1, …, class_no_80 - クラス全体の確率分布をロジット形式で計算し、sigmoid 関数を適用し、取得した信頼値を乗算して各クラスの信頼度を取得します

このモデルは、80 カテゴリーのオブジェクトを含む Common Objects in Context (COCO) データセットでトレーニングされました。<omz_dir>/data/dataset_classes/coco_80cl.txt ファイルで提供されるクラス名へのマッピング。

変換されたモデル

  1. 検出概要情報の配列、名前 - StatefulPartitionedCall/model/conv2d_93/BiasAdd/Add、形状 - 1, 76, 76, 255。anchor 値は、12,16, 19,36, 40,28 です。

  2. 検出概要情報の配列、名前 - StatefulPartitionedCall/model/conv2d_101/BiasAdd/Add、形状 - 1, 38, 38, 255。anchor 値は、36,75, 76,55, 72,146 です。

  3. 検出概要情報の配列、名前 - StatefulPartitionedCall/model/conv2d_109/BiasAdd/Add、形状 - 1, 19, 19, 255。anchor 値は、142,110, 192,243, 459,401 です。

各ケースの形式は B, Cx, Cy, N*85 です。
説明:

  • B - バッチサイズ

  • N - セルの検出ボックスの数

  • CxCy - セル・インデックス

検出ボックスの形式は、[x, y, h, w, box_score, class_no_1, …, class_no_80]。

説明:

  • (x, y) - ボックスの中心の生の座標。sigmoid 関数を適用してセル座標に対する相対値を取得します

  • h, w - ボックスの生の高さと幅、指数関数を適用し、対応するアンカーを乗算して、絶対的な高さと幅の値を取得します

  • box_score - 検出の信頼度ボックス。sigmoid 関数を適用して [0, 1] 範囲の信頼度を取得します

  • class_no_1, …, class_no_80 - クラス全体の確率分布をロジット形式で計算し、sigmoid 関数を適用し、取得した信頼値を乗算して各クラスの信頼度を取得します

このモデルは、80 カテゴリーのオブジェクトを含む Common Objects in Context (COCO) データセットでトレーニングされました。<omz_dir>/data/dataset_classes/coco_80cl.txt ファイルで提供されるクラス名へのマッピング。

モデルをダウンロードして OpenVINO™ IR 形式に変換

以下の例に示すように、モデルをダウンロードし、必要に応じてモデル・ダウンローダーやその他の自動化ツールによってモデルを OpenVINO™ IR 形式に変換できます。

モデル・ダウンローダーの使用例:

omz_downloader --name <model_name>

モデル・コンバーターの使用例:

omz_converter --name <model_name>

デモの使い方

Open Model Zoo が提供する次のデモでこのモデルを使用して、その機能を確認できます。