TensorFlow* オブジェクト検出マスク R-CNN セグメント化 C++ デモ

ここでは、オブジェクト検出 API で作成された画像セグメント化ネットワークを使用して推論を行うセグメント化のデモ・アプリケーションを実行する方法を説明します。

デモには、検出出力レイヤーから高確率で取得された境界ボックスに対応するマスク配列を収集する後処理があります。次に、デモでは識別されたマスクを使用して画像を生成します。

どのように動作するか

起動時に、デモ・アプリケーションはコマンドライン・パラメーターを受け取り、モデルと画像を OpenVINO™ ランタイムプラグインにロードします。推論が完了すると、アプリケーションは出力イメージを作成します。

注: デフォルトでは、Open Model Zoo のデモは BGR チャネル順序での入力を期待します。RGB 順序で動作するようにモデルをトレーニングした場合は、サンプルまたはデモ・アプリケーションでデフォルトのチャネル順序を手動で再配置するか、--reverse_input_channels 引数を指定したモデル・オプティマイザー・ツールを使用してモデルを再変換する必要があります。引数の詳細については、[前処理計算の埋め込み](@ref openvino_docs_MO_DG_Additional_Optimization_Use_Cases) の入力チャネルを反転するセクションを参照してください。

実行の準備

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

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

omz_downloader --list models.lst

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

omz_converter --list models.lst

サポートされるモデル

  • mask_rcnn_inception_resnet_v2_atrous_coco

  • mask_rcnn_resnet50_atrous_coco

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

実行

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

mask_rcnn_demo [OPTION]
Options:

                                    -h                                Print a usage message.
                                    -i "<path>"                       Required. Path to a .bmp image.
                                    -m "<path>"                       Required. Path to an .xml file with a trained model.
                                    -d "<device>"                     Optional. Specify the target device to infer on (the list of available devices is shown below). Use "-d HETERO:<comma-separated_devices_list>" format to specify HETERO plugin. The demo will look for a suitable plugin for a specified device (CPU by default)
                                    -detection_output_name "<string>" Optional. The name of detection output layer. Default value is "reshape_do_2d"
                                    -masks_name "<string>"            Optional. The name of masks layer. Default value is "masks"

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

次のコマンドを使用すると、トレーニングされたネットワークを使用して CPU で推論を実行できます。

./mask_rcnn_demo -i <path_to_image>/inputImage.bmp -m <path_to_model>/mask_rcnn_inception_resnet_v2_atrous_coco.xml

デモの出力

入力画像ごとに、アプリケーションはセグメント化された画像を出力します。例えば、バッチサイズが 2 のネットワークに対して out0.pngout1.png が作成されます。
デモレポート:

  • レイテンシー: 1 フレームの処理 (フレームの読み取りから結果の表示まで) に必要な平均時間。

このメトリックを使用して、アプリケーション・レベルのパフォーマンスを測定できます。