画像修復 Python デモ#

このデモでは、GMCNN を使用した画像修復を紹介します。タスクは、画像の穴を埋めるため適切なピクセル情報を推定します。 例

どのように動作するか#

このデモは 2 つのモードで動作します:

  • 対話モード: 修復する領域は、マウスペイントを使用してインタラクティブにマークできます。

  • 自動モード (-ac または -ar オプションを使用): 画像は、ランダムに適用されるマスク (-ar オプション) または特定のカラーベースのマスク (-ac オプション) を使用して自動的に処理されます。

実行の準備#

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

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

omz_downloader --list models.lst

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

omz_converter --list models.lst

サポートされるモデル#

  • gmcnn-places2-tf

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

実行する#

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

usage: image_inpainting_demo.py [-h] -m MODEL [-i INPUT] [-d DEVICE] 
                                [-p PARTS] [-mbw MAX_BRUSH_WIDTH] 
                                [-ml MAX_LENGTH] [-mv MAX_VERTEX] [--no_show] 
                                [-o OUTPUT] [-ac C C C] [-ar] 

Options: 
    -h, --help            Show this help message and exit.
    -m MODEL, --model MODEL 
                          Required.Path to an .xml file with a trained model.
    -i INPUT, --input INPUT 
                          Required. Path to image.
    -d DEVICE, --device DEVICE 
                          Optional.Specify the target device to infer on; CPU or 
                          GPU is acceptable.The demo will 
                          look for a suitable plugin for device specified.
                          Default value is CPU 
    -p PARTS, --parts PARTS 
                          Optional. Number of parts to draw mask. Ignored in 
                          GUI mode 
    -mbw MAX_BRUSH_WIDTH, --max_brush_width MAX_BRUSH_WIDTH 
                          Optional. Max width of brush to draw mask. Ignored 
                          in GUI mode 
    -ml MAX_LENGTH, --max_length MAX_LENGTH 
                          Optional. Max strokes length to draw mask. Ignored 
                          in GUI mode 
    -mv MAX_VERTEX, --max_vertex MAX_VERTEX 
                          Optional. Max number of vertex to draw mask. Ignored 
                          in GUI mode 
    --no_show 
                          Optional.Don't show output.Cannot be used in GUI mode 
    -o OUTPUT, --output OUTPUT 
                          Optional.Save output to the file with provided 
                          filename.Ignored in GUI mode 
    -ac C C C, --auto_mask_color C C C 
                          Optional.Use automatic (non-interactive) mode with 
                          color mask.Provide color to be treated as mask (3 RGB 
                          components in range of 0...255).Cannot be used 
                          together with -ar.
    -ar, --auto_mask_random 
                          Optional.Use automatic (non-interactive) mode with 
                          random mask for inpainting (with parameters set by -p, 
                          -mbw, -mk and -mv). Cannot be used together with -ac.

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

自動モード#

CPU 上で推論して自動モードで修復デモを実行するコマンドの例:

python3 ./image_inpainting_demo.py -d CPU -i <path_to_image>/car_1.bmp -m <path_to_model>/gmcnn-places2-tf.xml -ar

対話モード#

対話モードでは、ユーザーはマウスを使用して (マウスの左ボタンを押したまま) マスクを描画できます。ブラシのサイズは、画面上部のスライダーで調整できます。マスクのペイントが完了したら、[スペース] キーまたは [Enter] キーを押すと修復処理を開始できます。

また、次のホットキーも利用できます:

  • [バックスペース] または [C] で現在のマスクをクリアします

  • [スペース] または [Enter] で修復を開始します

  • [R] ですべての変更をリセットします

  • [Tab] 元画像の表示/非表示を切り替えます

  • [Esc] または [Q] で終了します

元の画像を表示しているときに [バックスペース]、[C] または [R] キーを押すと、デモは元の画像を非表示にして編集モードに戻ります。

デモの出力#

自動モードでは、OpenCV を使用して、結果の画像とマスクが適用された画像を表示します。処理した画像をファイルに書き込むこともできます。自動モードではレポートが表示されます

  • レイテンシー: 入力データの処理に必要な合計処理時間 (データの読み取りから結果の表示まで)。

対話モードでは、マスクを適用して処理の結果を即座に確認するインタラクティブな操作を提供します (上記のホットキーを参照)。

関連情報#