画像変換デモ#

このデモ・アプリケーションは、ニューラル・ネットワークを使用して、サンプル画像に基づいて写実的な画像を合成する例を示します。

どのように動作するか#

起動時に、デモ・アプリケーションはコマンドライン・パラメーターを受け取り、モデルを OpenVINO™ ランタイムプラグインにロードします。結果を取得するためデモでは次の手順を実行します:

  1. 入力データ (変換対象画像のセマンティック・セグメント化マスク、見本画像、見本画像のマスク) の読み取り。

  2. 入力画像とマスクの前処理。

  3. ネットワーク推論 (セグメント化ネットワーク (オプション) + 変換ネットワーク)。

  4. 結果をフォルダーに保存します。

実行の準備#

デモの入力画像またはビデオファイルについては、Open Model Zoo デモの概要デモに使用できるメディアファイルのセクションを参照してください。デモでサポートされるモデルリストは、<omz_dir>/demos/image_translation_demo/python/models.lst ファイルにあります。このファイルは、モデル・ダウンローダーおよびコンバーターのパラメーターとして使用され、モデルをダウンロードし、必要に応じて OpenVINO IR 形式 (*.xml + *.bin) に変換できます。

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

omz_downloader --list models.lst

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

omz_converter --list models.lst

サポートされるモデル#

  • cocosnet

  • hrnet-v2-c1-segmentation

: 各種デバイス向けのモデル推論サポートの詳細については、インテルの事前トレーニング・モデルのデバイスサポートパブリックの事前トレーニング・モデルのデバイスサポートの表を参照してください。

実行する#

-h オプションを指定してアプリケーションを実行すると、使用方法が表示されます:

usage: image_translation_demo.py [-h] -m_trn TRANSLATION_MODEL 
                                 [-m_seg SEGMENTATION_MODEL] [-ii INPUT_IMAGES] 
                                 [-is INPUT_SEMANTICS] -ri REFERENCE_IMAGES 
                                 [-rs REFERENCE_SEMANTICS] -o OUTPUT_DIR 
                                 [-d DEVICE] 

Options: 
  -h, --help            Show this help message and exit.
  -m_trn TRANSLATION_MODEL, --translation_model TRANSLATION_MODEL 
                        Required.Path to an .xml file with a trained 
                        translation model 
  -m_seg SEGMENTATION_MODEL, --segmentation_model SEGMENTATION_MODEL 
                        Optional.Path to an .xml file with a trained 
                        semantic segmentation model 
  -ii INPUT_IMAGES, --input_images INPUT_IMAGES 
                        Optional.Path to a folder with input images or path 
                        to a input image 
  -is INPUT_SEMANTICS, --input_semantics INPUT_SEMANTICS 
                        Optional.Path to a folder with semantic images or 
                        path to a semantic image 
  -ri REFERENCE_IMAGES, --reference_images REFERENCE_IMAGES 
                        Required.Path to a folder with reference images or 
                        path to a reference image 
  -rs REFERENCE_SEMANTICS, --reference_semantics REFERENCE_SEMANTICS 
                        Optional.Path to a folder with reference semantics 
                        or path to a reference semantic 
  -o OUTPUT_DIR, --output_dir OUTPUT_DIR 
                        Required.Path to a folder where output files will 
                        be saved 
  -d DEVICE, --device DEVICE 
                        Optional.Specify the target device to infer on; 
                        CPU or GPU is acceptable. Default value is CPU

オプションの空のリストを指定してアプリケーションを実行すると、上記の使用法メッセージとエラーメッセージが表示されます。

このデモを使用するには 2 つの方法があります:

  1. 変換モデルに加えてセグメント化モデルを使用して実行します。ADE20k データセットでトレーニングされたモデルのみを使用します。例: hrnet-v2-c1-segmentation。の場合、マスクなしで入力イメージと参照イメージのみが必要です。セグメント化マスクはセグメント化モデルを通じて生成されます。

    次のコマンドを使用すると、cocosnet および hrnet-v2-c1-segmentation モデルを使用して CPU 上でデモを実行できます:

    python3 image_translation_demo.py \ 
        -d CPU \ 
        -m_trn <path_to_translation_model>/cocosnet.xml \ 
        -m_seg <path_to_segmentation_model>/hrnet-v2-c1-segmentation.xml \ 
        -ii <path_to_input_image>/input_image.jpg \ 
        -ri <path_to_exemplar_image>/reference_image.jpg \ 
        -o <output_dir>
  2. 翻訳モデルのみで実行します。次のコマンドを使用すると、変換モデルとして cocosnet を使用して CPU 上でデモを実行できます:

    python3 image_translation_demo.py \ 
        -d CPU \ 
        -m_trn <path_to_translation_model>/cocosnet.xml \ 
        -is <path_to_semantic_mask_of_image>/input_mask.png \ 
        -ri <path_to_exemplar_image>/reference_image.jpg \ 
        -rs <path_to_exemplar_semantic>/reference_mask.png \ 
        -o <output_dir>

    : セグメント化マスクは、各ピクセルのクラスを指定するマスク (形状: [高さ x 幅]) である必要があります。クラスの数は 151 (ADE20k から) です。‘0’ はバックグラウンド・クラスです。

デモの出力#

デモの結果は、パラメーター output_dir で指定されたフォルダーに保存されます。

関連情報#