画像翻訳デモ¶
このデモ・アプリケーションは、ニューラル・ネットワークを使用して、サンプル画像に基づいて写実的な画像を合成する例を示します。
どのように動作するか¶
起動時に、デモ・アプリケーションはコマンドライン・パラメーターを受け取り、モデルを OpenVINO™ ランタイムプラグインにロードします。結果を取得するためデモでは次の手順を実行します。
入力データ (翻訳対象画像のセマンティック・セグメント化マスク、見本画像、見本画像のマスク) の読み取り。
入力画像とマスクの前処理。
ネットワーク推論 (セグメント化ネットワーク (オプション) + 変換ネットワーク)。
結果をフォルダーに保存します。
実行の準備¶
デモの入力画像またはビデオファイルについては、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 つの方法があります。
-
翻訳モデルに加えてセグメント化モデルを使用して実行します。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>
-
翻訳モデルのみで実行します。次のコマンドを使用すると、変換モデルとして 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
で指定されたフォルダーに保存されます。