画像修復 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 を使用して、結果の画像とマスクが適用された画像を表示します。処理した画像をファイルに書き込むこともできます。 自動モードではレポートが表示されます
レイテンシー: 入力データの処理に必要な合計処理時間 (データの読み取りから結果の表示まで)。
対話モードでは、マスクを適用して処理の結果を即座に確認するインタラクティブな操作を提供します (上記のホットキーを参照)。