retinaface-resnet50-pytorch

ユースケースと概要説明

retinaface-resnet50-pytorch モデルは、顔位置特定用の ResNet50 バックボーンを備えた中規模 RetinaFace モデルの PyTorch* 実装です。一度の順方向パスで顔の境界ボックスと 5 つの顔のランドマークを出力できます。詳細については、論文およびリポジトリーで説明されています。

仕様

メトリック

AP (WIDER)

91.78%

GFLOPs

88.8627

MParams

27.2646

ソース・フレームワーク

PyTorch*

平均精度 (AP) は、精度/再現率曲線の下の領域として定義されます。すべての数値は、64 x 64 ピクセルより大きい顔のみを考慮して評価されました。

精度検証のアプローチは、元のリポジトリーで説明されているものとは異なります。セット全体が評価される精度チェッカーとは対照的に、検証セットは 3 つの事前定義されたサブセット (ハード、ミディアム、イージー) に分割され、元の評価方法ではすべてのサブセットが個別に検証されます。オリジナルの WIDER 結果の詳細は、リポジトリーを参照してください。

入力

元のモデル

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

説明:

  • B - バッチサイズ

  • C - チャネル

  • H - 高さ

  • W - 幅

チャネルの順番は BGR です。平均値: [104.0、117.0、123.0]

変換されたモデル

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

説明:

  • B - バッチサイズ

  • C - チャネル

  • H - 高さ

  • W - 幅

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

出力

元のモデル

モデルの出力は浮動小数点テンソルです。

  1. 名前: face_rpn_cls_prob、形状: 1, 16800, 2、形式: B, A*C, 2、は、背景と顔の 2 つのクラスの検出スコアを表します。

  2. 名前: face_rpn_bbox_pred、形状: 1, 16800, 4、形式: B, A*C, 4、は検出ボックスデルタを表します。

  3. 名前: face_rpn_landmark_pred、形状: 1, 16800, 10、形式: B, A*C, 10 は、顔のランドマークを表します。

各出力形式について:

  • B - バッチサイズ

  • A - アンカーの数

  • C - 各ストライドの次元の積の合計、C = H32 * W32 + H16 * W16 + H8 * W8

  • H - 特徴の高さと対応するストライド

  • W - 特徴の幅と対応するストライド

検出ボックスデルタの形式は [dx, dy, dh, dw] です。
説明:

  • (dx, dy) - 境界ボックスの中心の回帰

  • (dh, dw) - 境界ボックスの高さと幅による回帰

顔のランドマークの形式は [x1, y1, x2, y2, x3, y3, x4, y4, x5, y5] です。
説明:

  • (x1, y1) - 左目の座標

  • (x2, y2) - 右目の座標

  • (x3, y3) - 鼻の座標

  • (x4, y4) - 左口角の座標

  • (x5, y5) - 右口角の座標

変換されたモデル

変換されたモデルは、元のモデルと同じ出力を持ちます。

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

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

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

omz_downloader --name <model_name>

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

omz_converter --name <model_name>

デモの使い方

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