gmcnn-places2-tf#

ユースケースと概要説明#

gmcnn-places2-tf は、GMCNN 画像修復モデルの TensorFlow* 実装であり、画像の穴を埋めるために適切なピクセル情報を推定することを目的としています。gmcnn-places2-tf は、自由形式のマスクを使用して Places2 データセットでトレーニングされます。元々チェックポイント・ファイルとして再配布されていましたが、フリーズされたグラフに変換されました。詳細についてはリポジトリーを参照してください。

凍結グラフへの変換を再現する手順#

  1. 元のリポジトリーのクローンを作成します

git clone https://github.com/shepnerd/inpainting_gmcnn.git 
cd inpainting_gmcnn/tensorflow
  1. 変換がテストされたコミットをチェックアウトします:

git checkout ba7f710
  1. freeze_model.patch パッチを適用します

git apply path/to/freeze_model.patch
  1. 元の依存関係をインストールします。(TensorFlow* バージョン 1.14.0、CPU)。

  2. 事前トレーニングされた重みをダウンロードします

  3. サンプルの変換スクリプトを実行します:

python3 freeze_model.py --ckpt_dir path/to/downloaded_weights --save_dir path/to/save_directory

仕様#

メトリック

タイプ

画像の修復

GFlops

-

MParams

-

ソース・フレームワーク

TensorFlow*

精度#

精度メトリックは、VOC2012 データセットの 2000 画像サブセットで取得されます。画像は入力サイズに合わせてトリミングされ、事前に生成された自由形式のマスクを使用してランダムな位置に偽装されました。

メトリック

PSNR

33.41 dB

入力#

元のモデル#

  1. 画像、名前: Placeholder、形状: 1, 512, 680, 3、形式: B, H, W, C、ここで:

    • B - バッチサイズ

    • H - 画像の髙さ

    • W - 画像の幅

    • C - チャネル数

    予想される色の順序: BGR

  2. マスク、名前: Placeholder_1、形状: 1, 512, 680, 1、形式: B, H, W, C、ここで:

    • B - バッチサイズ

    • H - マスクの髙さ

    • W - マスクの幅

    • C - チャネル数

変換されたモデル#

  1. 画像、名前: Placeholder、形状: 1, 512, 680, 3、形式: B, H, W, C、ここで:

    • B - バッチサイズ

    • H - 画像の髙さ

    • W - 画像の幅

    • C - チャネル数

    予想される色の順序: BGR

  2. マスク、名前: Placeholder_1、形状: 1, 512, 680, 1、形式: B, H, W, C、ここで:

    • B - バッチサイズ

    • H - マスクの髙さ

    • W - マスクの幅

    • C - チャネル数

出力#

元のモデル#

リストアされた画像、名前: Cast、形状: 1, 512, 680, 3、形式: B, H, W, C、ここで:

  • B - バッチサイズ

  • H - 画像の髙さ

  • W - 画像の幅

  • C - チャネル数

予想される色の順序: BGR

変換されたモデル#

リストアされた画像、名前: Cast、形状: 1, 3, 512, 680、形式: B, C, H, W、ここで:

  • B - バッチサイズ

  • C - チャネル数

  • H - 画像の髙さ

  • W - 画像の幅

予想される色の順序: BGR

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

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

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

omz_downloader --name <model_name>

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

omz_converter --name <model_name>

デモの使い方#

このモデルは、Open Model Zoo が提供する次のデモで使用して、その機能を示します: