Open Model Zoo のデモ¶
Open Model Zoo デモは、特定のディープラーニング推論シナリオの実装に役立つテンプレートを提供するコンソール・アプリケーションです。これらのアプリケーションは、モデル推論のためデータを前処理および後処理し、処理パイプラインを編成する方法を示します。一部のパイプラインは、同時に推論される複数のモデルから分析データを収集します。例えば、ビデオストリーム内の人物を検出し、その人物の年齢、性別、感情状態などの身体的属性も検出します。
デモのソースコードは、Open Model Zoo の GitHub リポジトリーから入手できます。
git clone --recurse-submodules https://github.com/openvinotoolkit/open_model_zoo.git
C++、C++ G-API、および Python* バージョンは、それぞれ cpp
、cpp_gapi
および python
サブディレクトリーにあります。
Open Model Zoo には次のデモが含まれています。
3D 人物姿勢推定 Python* デモ - 3D 人物の姿勢推定のデモ。
3D セグメント化 Python* デモ - セグメント化のデモでは、3D 畳み込みネットワークを使用して 3D 画像をセグメント化します。
行動認識の Python* デモ - 入力ビデオ上で実行されているアクションを分類する行動認識アルゴリズムのデモ・アプリケーション。
背景減算 Python* デモ - インスタンスのセグメント化ベースのモデルを使用した背景の減算。
背景減算 C++ G-API* デモ - 背景減算の G-API バージョン。
BERT 名前付きエンティティー認識 Python* デモ - CONLL2003 で調整された BERT モデルを推論に使用する NER デモ・アプリケーション。
BERT 質問応答埋め込み Python* デモ - このデモでは、質問応答タスクに BERT ベースのモデルを実行する方法を示します。
分類 Python* デモ - 画像分類にニューラル・ネットワークを使用する例を示します。
分類ベンチマーク C++ デモ - 画像分類のニューラル・ネットワークの推論における OpenVINO のパフォーマンスを視覚化します。
分類ベンチマーク C++ G-API デモ - 分類ベンチマーク C++ G-API バージョン。
カラー化 Python* デモ - 色付けデモでは、入力フレームに色を付けます。
交差点カメラ C++ デモ - 人物検出に続いて人物属性認識と人物再識別リテイルは、画像/ビデオおよびカメラ入力をサポートします。
顔認識 Python* デモ - 対話型顔認識デモ。
数式認識 Python* デモ - このデモでは、Im2latex 数式認識モデルを実行し、Latex 数式を認識する方法を示します。
視線推定 C++ デモ - 顔検出に続いて、視線推定、頭姿勢推定、顔のランドマーク回帰を行います。
視線推定 C++ G-API* デモ - 顔検出に続いて、視線推定、頭姿勢推定、顔のランドマーク回帰が行われます。G-API バージョン。
ジェスチャー認識 Python* デモ - 入力ビデオ上で実行されているジェスチャー・アクションを分類する、ジェスチャー認識アルゴリズム (アメリカ手話のジェスチャーなど) のデモ・アプリケーション。
ジェスチャー認識 C++ G-API* デモ - 入力ビデオ上で実行されているジェスチャー・アクションを分類する、ジェスチャー認識アルゴリズム (アメリカ手話のジェスチャーなど) のデモ・アプリケーション。G-API バージョン。
GPT-2 テキスト予測 Python* デモ - GPT-2 テキスト予測のデモ。
手書きテキスト認識 Python* デモ - このデモでは、日本語、簡体字中国語、英語の手書きテキスト認識モデルを実行する方法を示します。
人間の姿勢推定 C++ デモ - 人間の姿勢推定のデモ。
人間の姿勢推定 Python* デモ - 人間の姿勢推定のデモ。
画像修復 Python* デモ - GMCNN 修復ネットワーク用のデモ・アプリケーション。
画像処理 C++ デモ - 入力画像の解像度を向上するデモ・アプリケーション。
画像取得 Python* デモ - このデモでは、OpenVINO™ を使用して画像取得モデルを実行する方法を示します。
画像のセグメント化 C++ デモ - セマンティック・セグメント化ネットワークの推論 (ビデオおよびカメラ入力をサポート)。
画像のセグメント化 Python* デモ - セマンティック・セグメント化ネットワークの推論 (ビデオおよびカメラ入力をサポート)。
画像変換 Python* デモ - サンプル画像に基づいて写実的な画像を合成するデモ・アプリケーション。
インスタンスのセグメント化 Python* デモ -
Detectron
またはmaskrcnn-benchmark
でトレーニングされたインスタンスのセグメント化ネットワークの推論。対話型顔検出 C++ デモ - 年齢/性別、頭のポーズ、感情、および顔のランドマーク検出器と組み合わせた顔検出。ビデオとカメラの入力をサポートします。
対話型顔検出 G-API* デモ - G-API ベースの顔検出と、年齢/性別、頭のポーズ、感情、顔のランドマーク検出器を組み合わせます。ビデオとカメラの入力をサポートします。
機械翻訳 Python* デモ - このデモでは、非自己回帰機械翻訳モデルを実行する方法を示します。
TensorFlow* 物体検出 API のマスク R-CNN C++ デモ - TensorFlow* 物体検出 API で作成されたインスタンス・セグメント化ネットワークの推論。
Monodepth Python* デモ - このデモでは、単眼深度推定モデルを実行する方法を示します。
MRI 再構成 C++ デモ - 医療画像の圧縮センシングのデモ。
MRI 再構成 Python* デモ - 医療画像の圧縮センシングのデモ。
マルチカメラのマルチターゲット追跡 Python* デモ 複数のカメラで複数のターゲット (人または車両) を追跡するデモ・アプリケーション。
マルチチャネル顔検出 C++ デモ - このデモでは、マルチチャネル顔検出シナリオの推論パイプラインを示します。
マルチチャネルの人物姿勢推定 C++ デモ - このデモでは、マルチチャネルの人物の姿勢推定シナリオの推論パイプラインを示します。
マルチチャネルの物体検出 Yolov3 C++ デモ - このデモでは、マルチチャネル共通物体検出シナリオの推論パイプラインを示します。
ノイズ抑制 Python* デモ - このデモでは、OpenVINO™ ツールキットを使用して音声オーディオのノイズを低減する方法を示します。
ノイズ抑制 C++* デモ - このデモでは、OpenVINO™ ツールキットを使用して音声オーディオのノイズを低減する方法を示します。
物体検出 Python* デモ - いくつかの物体検出モデルタイプ (SSD、Yolo など) のデモ・アプリケーション。
物体検出 C++ デモ - 物体検出ネットワーク用のデモ・アプリケーション (さまざまなモデル・アーキテクチャーがサポートされています)、非同期 API ショーケース、シンプルな OpenCV 相互運用性 (ビデオおよびカメラ入力をサポート)。
歩行者追跡 C++ デモ - 歩行者追跡シナリオのデモ・アプリケーション。
場所認識 Python* デモ - このデモでは、OpenVINO™ を使用して場所認識モデルを実行する方法を示します。
セキュリティー・バリア・カメラ C++ デモ - 車両検出に続いて車両属性とナンバープレート認識が行われ、画像/ビデオおよびカメラ入力をサポートします。
音声認識 DeepSpeech Python* デモ - 音声認識デモ: 英語のフレーズを含む音声ファイルを入力として受け入れてテキストに変換します。このデモはストリーミング・オーディオ・データ処理を実行し、オプションで処理された部分の文字起こしを提供できます。
音声認識 QuartzNet Python* デモ - QuartzNet の音声認識デモ: 英語フレーズを含む音声ファイル全体を入力として受け取ってテキストに変換します。
音声認識 Wav2Vec Python* デモ - Wav2Vec の音声認識デモ: 英語フレーズを含む音声ファイル全体を入力してテキストに変換します。
単一人物の姿勢推定 Python* デモ - 2D の人物姿勢推定のデモ。
スマート・クラスルーム C++ デモ - 教室環境向けの顔認識とアクション検出のデモ。
スマート・クラスルーム C++ G-API デモ - 教室環境向けの顔認識とアクション検出のデモ。G-PI バージョン。
Smartlab Python* デモ - SmartLab の行動認識と物体検出。
ソーシャル・ディスタンスの C++ デモ - このデモでは、人々を検出し、人々の間の距離を測定する小売ソーシャル・ディスタンス・アプリケーションを紹介します。
音響分類 Python* デモ - 音声分類アルゴリズムのデモ・アプリケーション。
テキスト検出 C++ デモ - テキスト検出デモ。入力画像上の複数方向のシーンテキストを検出して認識し、検出された領域の周囲に境界ボックスを配置します。
テキスト・スポッティング Python* デモ - このデモでは、テキスト・スポッティング・モデルを実行する方法を示します。
テキスト読み上げ Python* デモ - テキスト読み上げタスクに Forward Tacotron および WaveRNN ニューラル・ネットワークを使用する例を示します。
時系列予測 Python* デモ - このデモでは、OpenVINO™ ツールキットを使用して時系列予測を行う方法を示します。
ホワイトボード修復 Python* デモ - このデモでは、OpenVINO™ ツールキットを使用してビデオ上の人物を検出して非表示にし、ホワイトボード上のすべてのテキストが表示されるようにする方法を示します。
デモに利用可能なメディアファイル¶
デモ・アプリケーションを実行するには、https://storage.openvinotoolkit.org/data/test_data/videos のビデオを参照できます。
事前トレーニングされたモデルをサポートするデモ¶
OpenVINO モデル・ダウンローダーを使用して、インテルの事前トレーニング・モデルまたは公開の事前トレーニング・モデルをダウンロードできます。
デモ・アプリケーションをビルド¶
デモをビルドするには、OpenVINO™ 環境を source し、OpenCV を取得する必要があります。OpenVINO™ ツールキットは、インテル® ディストリビューションの OpenVINO™ ツールキットのインストール・パッケージからインストールすることも、ビルド手順に従って OpenVINO GitHub リポジトリーから入手可能なオープンソース・バージョンをビルドすることもできます。インテル® ディストリビューションの OpenVINO™ ツールキットがマシンの <INSTALL_DIR>
ディレクトリーにインストールされている場合は、デモをビルドする前に、次のコマンドでビルド済みの OpenCV をダウンロードして環境変数を設定します。
source <INSTALL_DIR>/setupvars.sh
注: Python* デモのみを使用する場合は、OpenVINO Python* パッケージをインストールできます。
pip install openvino
OpenVINO のオープンソース・バージョンでは、次の変数を設定します。
OpenVINO_DIR
はOpenVINOConfig.cmake
を含むフォルダーを指しています。OpenCV_DIR
は OpenCV を指します。OpenVINO とデモのビルドの両方で同じ OpenCV バージョンを使用する必要があります。
あるいは、cmake
実行中にコマンドラインでこれらの値を指定することもできます。CMake 検索手順を参照してください。また、デモをビルドする前に、ビルドされた OpenVINO™ ランタイム・ライブラリーへのパスを LD_LIBRARY_PATH
(Linux*) または PATH
(Windows*) 環境変数に追加します。
Linux* でデモ・アプリケーションをビルド¶
公式にサポートされている Linux* ビルド環境は次のとおりです。
Ubuntu* 18.04 LTS 64 ビット、または Ubuntu* 20.04 LTS 64 ビット
GCC* 7.5.0 (Ubuntu* 18.04 向け) または GCC* 9.3.0 (Ubuntu* 20.04 向け)
CMake* バージョン 3.10 以降
Linux 用のデモ・アプリケーションをビルドするには、build_demos.sh
スクリプトのあるディレクトリーに移動し、スクリプトを実行します。
build_demos.sh
デモ・アプリケーションを手動でビルドすることもできます。
書き込みアクセス権のあるディレクトリーに移動し、demos ビルド・ディレクトリーを作成します。この例では、
build
という名前のディレクトリーを使用します。mkdir build
作成したディレクトリー移動します。
cd build
CMake を実行して、リリースまたはデバッグ構成用の Make ファイルを生成します。
リリース構成:
cmake -DCMAKE_BUILD_TYPE=Release <open_model_zoo>/demos
デバッグリリース構成:
cmake -DCMAKE_BUILD_TYPE=Debug <open_model_zoo>/demos
cmake --build
ツールを実行してデモをビルドします。cmake --build .
リリース構成の場合、デモ・アプリケーションのバイナリーは <path_to_build_directory>/intel64/Release/
にあります。デバッグ構成の場合、<path_to_build_directory>/intel64/Debug/
にあります。
Microsoft Windows* でデモ・アプリケーションをビルド¶
推奨される Windows* のビルド環境は次のとおりです。
Microsoft* Windows* 10
Microsoft Visual Studio* 2019
CMake* バージョン 3.14 以降
Windows* 用のデモ・アプリケーションをビルドするには、build_demos_msvc.bat
バッチファイルのあるディレクトリーに移動して、それを実行します。
build_demos_msvc.bat
デフォルトでは、スクリプトはマシンにインストールされている Microsoft Visual Studio* の最新バージョンを自動的に検出し、デモコード用のソリューションを作成および構築します。オプションで、スクリプトで使用する Microsoft Visual Studio* のバージョンを指定することもできます。サポートされるバージョンは、VS2019
です。例えば、Microsoft Visual Studio* 2019 を使用してデモをビルドするには、次のコマンドを使用します。
build_demos_msvc.bat VS2019
デフォルトで、デモ・アプリケーションのバイナリーは、C:\Users\<username>\Documents\Intel\OpenVINO\omz_demos_build\intel64\Release
ディレクトリーにビルドされます。デフォルトのビルドフォルダーは、-b
オプションで変更できます。例えば、次のコマンドは Open Model Zoo のデモを c:\temp\omz-demos-build
フォルダーにビルドします。
build_demos_msvc.bat -b c:\temp\omz-demos-build
例えば、デバッグ構成でバイナリーをビルドする場合など、生成されたソリューションを自身でビルドすることもできます。適切なバージョンの Microsoft Visual Studio を実行し、C:\Users\<username>\Documents\Intel\OpenVINO\omz_demos_build\Demos.sln
ディレクトリーから生成されたソリューション・ファイルを開きます。
cmake --build
ツールを使用してデモ・アプリケーションをビルドすることもできます。
書き込みアクセス権のあるディレクトリーに移動し、demos ビルド・ディレクトリーを作成します。この例では、
build
という名前のディレクトリーを使用します。md build
作成したディレクトリー移動します。
cd build
CMake を実行してプロジェクト・ファイルを生成します。
cmake -A x64 <open_model_zoo>/demos
cmake --build
ツールを実行してデモをビルドします。リリース構成の場合:
cmake --build . --config Release
デバッグ構成の場合:
cmake --build . --config Debug
Python* デモの依存関係¶
Python デモの依存関係は、実行前にインストールする必要があります。これは次のコマンドで実現できます。
python -mpip install --user -r <omz_dir>/demos/requirements.txt
Python* モデル API パッケージ¶
Python* モデル API は別のパッケージとして抽出されます。インストールについては、Python モデル API のドキュメントを参照してください。同時に、デモはこのパッケージを検出できます。デモのためモデル API をインストールする必要はありません。
ネイティブ Python* 拡張モジュールをビルド¶
一部の Python デモ・アプリケーションでは、実行する前にネイティブ Python 拡張モジュールをビルドする必要があります。これには、Python 開発ファイル (ヘッダーとインポート・ライブラリー) がインストールされている必要があります。これらのモジュールをビルドするには、上記のデモ・アプリケーションのビルド手順に従いますが、使用するコマンドに応じて、cmake
または build_demos*
コマンドに -DENABLE_PYTHON=ON
を追加します。
例:
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON <open_model_zoo>/demos
モジュールがビルドされたら、デモのビルドフォルダーを PYTHONPATH
環境変数に追加します。
特定のデモをビルド¶
特定のデモをビルドするには、上記のデモ・アプリケーションのビルド手順に従いますが、--target <demo1> <demo2> ...
を cmake --build
コマンドの追加するか、--target="<demo1> <demo2> ..."
を build_demos*
コマンドに追加します。cmake --build
ツールは、バージョン 3.15 以降で複数ターゲットをサポートしますが、それ以前のバージョンでは 1 つのターゲットのみを指定できることに注意してください。
Linux*:
cmake -DCMAKE_BUILD_TYPE=Release <open_model_zoo>/demos
cmake --build . --target classification_demo segmentation_demo
または
build_demos.sh --target="classification_demo segmentation_demo"
Microsoft Windows*:
cmake -A x64 <open_model_zoo>/demos
cmake --build . --config Release --target classification_demo segmentation_demo
または
build_demos_msvc.bat --target="classification_demo segmentation_demo"
デモ・アプリケーションの実行を準備¶
Linux* でデモ・アプリケーションの実行を準備¶
コンパイルされたバイナリーファイルを実行する前に、アプリケーションが OpenVINO™ および OpenCV ライブラリーを検出できることを確認してください。独自のディストリビューションでデモをビルドする場合、setupvars
スクリプトを実行して必要な環境変数をすべて設定します。
source <INSTALL_DIR>/setupvars.sh
独自の OpenVINO™ および OpenCV バイナリーでデモをビルドする場合、それらが LD_LIBRARY_PATH
環境変数に追加されていることを確認してください。
(オプション): OpenVINO 環境変数は、シェルを閉じると解除されます。オプションとして、次のように環境変数を永続的に設定できます。
<user_home_directory>
にある.bashrc
ファイルを開きます。vi <user_home_directory>/.bashrc
次の行をファイルの最後に追加します。
source <INSTALL_DIR>/setupvars.sh
ファイルを保存して閉じます: Esc キーを押し、
:wq
と入力して Enter キーを押します。変更をテストするには、新しいターミナルを開きます。
[setupvars.sh] OpenVINO environment initialized
というメッセージが確認できます。
ネイティブ Python 拡張モジュールを必要とする Python デモ・アプリケーションを実行するには、さらに次のように PYTHONPATH
環境変数を設定する必要があります。<bin_dir>
は、ビルドされたデモ・アプリケーションが含まれるディレクトリーです。
export PYTHONPATH="<bin_dir>:$PYTHONPATH"
デモ・アプリケーションを実行する準備ができました。特定のデモを実行する方法は、上のデモリストでデモ名をクリックしてドキュメントをお読みください。
Microsoft Windows* でデモ・アプリケーションの実行を準備¶
コンパイルされたバイナリーファイルを実行する前に、アプリケーションが OpenVINO™ および OpenCV ライブラリーを検出できることを確認してください。必要に応じて、OpenVINO パッケージのダウンローダー・スクリプト <INSTALL_DIR>\extras\opencv\ffmpeg-download.ps1
を使用して、OpenCV コミュニティーの FFmpeg プラグインをダウンロードします。インテル® ディストリビューションの OpenVINO™ ツールキットを使用してデモをビルドする場合、setupvars
スクリプトを実行して環境変数をすべて設定します。
<INSTALL_DIR>\setupvars.bat
独自の OpenVINO™ および OpenCV バイナリーを使用してデモをビルドする場合、PATH
環境変数に追加されていることを確認してください。
ネイティブ Python 拡張モジュールを必要とする Python デモ・アプリケーションを実行するには、さらに次のように PYTHONPATH
環境変数を設定する必要があります。<bin_dir>
は、ビルドされたデモ・アプリケーションが含まれるディレクトリーです。
set PYTHONPATH=<bin_dir>;%PYTHONPATH%
Windows* の Microsoft Visual Studio* でデモをデバッグまたは実行するには、デバッグ構成とリリース構成の両方にデバッグ環境が適切に設定されていることを確認してください。OpenCV ライブラリーへの正しいパスを設定し、OpenVINO™ ライブラリーのバージョンをデバッグおよびリリースします。例えば、デバッグ構成の場合、プロジェクトの [構成プロパティ] の [デバッグ] カテゴリーに移動し、[環境] フィールドの PATH
変数を次のように設定します。
PATH=<INSTALL_DIR>\runtime\bin\intel64\Debug;<INSTALL_DIR>\extras\opencv\bin;%PATH%
ここで、<INSTALL_DIR>
は、OpenVINO ツールキットがインストールされているディレクトリーです。
デモ・アプリケーションを実行する準備ができました。特定のデモを実行する方法は、上のデモリストでデモ名をクリックしてデモのドキュメントをお読みください。