画像翻訳デモ

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

どのように動作するか

起動時に、デモ・アプリケーションはコマンドライン・パラメーターを受け取り、モデルを 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 で指定されたフォルダーに保存されます。