| 手記 |
|
OpenVINO™ツールキットは、人間の視覚をエミュレートするアプリケーションとソリューションを迅速に展開します。同ツールキットは、畳み込みニューラル・ネットワーク (CNN) をベースとするインテル®のハードウェア全体でコンピューター・ビジョン (CV) ワークロードを拡張し、パフォーマンスを最大化します。これらの手順は、通常、 インテル® ニューラル・コンピュート・スティック 2 およびオープンソースOpenVINO™ツールキットに関するこの記事の後で行いますが、ボード上ですべてを実行するための特定の変更が含まれています。
このガイドでは、Raspbian* OS 向け OpenVINO™ ツールキットのオープンソース・ディストリビューションの構築手順と、インテル® ニューラル・コンピュート・スティック 2 (インテル® NCS2) での使用について説明します。
トピックをクリックして詳細を参照してください。
| 手記 | このガイドでは、Raspberry Pi* ボードが以下のオペレーティング・システムで稼働していることを前提としています。 |
ハードウェア
ターゲット・オペレーティング・システム
Debian* Bullseye、64 ビット
| 手記 | このガイドには、正しくインストールするためにrootまたはsudoアクセスとして実行する必要のあるコマンドが含まれています。 |
デバイスソフトウェアが最新であることを確認してください。
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential libclang-11-dev clang-11 clang-format-9 libssl-dev cmake
インテル® OpenVINO™ ツールキットは、 OpenCV* のパワーを活用して、ビジョンベースの推論を加速します。サポートされているプラットフォーム用にバージョンがインストールされていない場合、インテル® OpenVINO™ ツールキットの CMake プロセスでは OpenCV* がダウンロードされますが、ソースから OpenCV をビルドする必要があります。
pip インストール OpenCV-Python
sudo apt-get install python3-opencv
| 手記 | デフォルトでマスターブランチを直接クローンするのではなく、openvinotoolkit GitHub ページからリポジトリをクローンするときに、最新で安定したブランチまたはタグを指定することをお勧めします。 |
インテル® OpenVINO™ ツールキットのオープンソース版は、GitHub から入手できます。リポジトリー・フォルダーの名前は openvino です。
cd ~/
git clone --recurse-submodules --single-branch --branch=2022.1.0 https://github.com/openvinotoolkit/openvino.git
インテル® OpenVINO™ ツールキットには、多数のビルド依存関係があります。install_build_dependencies.shスクリプトはあなたのためにそれらをフェッチします。スクリプトの実行中に問題が発生した場合は、各依存関係を個別にインストールする必要があります。
スクリプトを実行して、インテル® OpenVINO™ ツールキットの依存関係をインストールします。
cd openvino
sed -i 's/raspbian/debian/g' install_build_dependencies.sh
sudo ./install_build_dependencies.sh
スクリプトが正常に終了したら、ツールキットをビルドする準備が整います。この時点で何かが失敗した場合は、リストされている依存関係をインストールし、再試行してください。
Python API ラッパーをビルドするには、以下に示すすべての追加パッケージをインストールします。
python3 -m pip install --upgrade pip
python3 -m pip install clang==11.0 pyaml
python3 -m pip install -r ~/openvino/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
python3 -m pip install -r ~/openvino/src/bindings/python/wheel/requirements-dev.txt
| 手記 | -DENABLE_PYTHON=ON オプションを使用します。正確な Python バージョンを指定するには、次のオプションを使用します。 -DPYTHON_EXECUTABLE=`which python3.9` \ -DCMAKE_INSTALL_PREFIX={BASE_dir}/openvino_distを使用して、CMake ビルをビルドするディレクトリを指定します。 たとえば、 -DCMAKE_INSTALL_PREFIX=~/openvino_dist |
このツールキットは、CMake構築システムを使用して、構築プロセスをガイドおよび簡素化します。推論エンジンと インテル® ニューラル・コンピュート・スティック 2 向け MYRIAD プラグインの両方を構築するには、以下のコマンドを使用します。
| 手記 | 以下のコマンドを実行するときは、すべての円記号 (\) を削除します。円記号は、これらのコマンドが分離されていないことを通知するために使用されます。 |
cd ~/openvino
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=~/openvino_dist \
-DENABLE_INTEL_MYRIAD=ON \
-DENABLE_INTEL_CPU=OFF \
-DENABLE_INTEL_GPU=OFF \
-DENABLE_CLDNN=OFF \
-DENABLE_AUTO=OFF \
-DENABLE_MULTI=OFF \
-DENABLE_HETERO=OFF \
-DENABLE_TEMPLATE=OFF \
-DENABLE_TESTS=OFF \
-DENABLE_OV_ONNX_FRONTEND=OFF \
-DENABLE_OV_PADDLE_FRONTEND=OFF \
-DENABLE_OV_TF_FRONTEND=OFF \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_SSE42=OFF \
-DTHREADING=SEQ \
-DENABLE_OPENCV=OFF \
-DENABLE_PYTHON=ON \
-DPYTHON_EXECUTABLE=$(which python3.9) \
-DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.9.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.9 ..
make -j4
sudo make install
OpenCV ライブラリーの問題が原因で make コマンドが失敗した場合は、OpenCV のインストール先をシステムに伝えていることを確認してください。この時点でビルドが完了すると、インテル® OpenVINO™ ツールキットを実行する準備が整います。ビルドは ~/openvino/bin/aarch64/Release フォルダに配置されることに注意してください。
推論エンジンの構築が正常に完了したら、すべてが正しく設定されていることを確認する必要があります。ご使用のデバイスでツールキットとインテル® ニューラル・コンピュート・スティック 2が機能することを確認するには、以下の手順を実行します。
インテル® OpenVINO™ ツールキットには、推論エンジンとインテル® ニューラル・コンピュート・スティック 2を活用したサンプル・アプリケーションが含まれています。プログラムの1つは benchmark_appで、 次の場所にあります。
~/openvino/bin/aarch64/Release
次のコマンドを実行して benchmark_appをテストします。
cd ~/openvino/bin/aarch64/Release
./benchmark_app -h
プログラムで利用可能なオプションを説明するヘルプダイアログを印刷する必要があります。
プログラムには、入力をパススルーするためのモデルが必要です。インテル® OpenVINO™ ツールキットのモデルは、次の方法で IR 形式で入手できます。
私たちの目的のために、直接ダウンロードするのが最も簡単です。次のコマンドを使用して、人-車両-バイク検出モデルを取得します。
cd ~/Downloads
wget https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.bin
wget https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml
| 手記 | このインテル® ニューラル・コンピュート・スティック 2には、FP16として知られる16ビット浮動小数点フォーマットに最適化されたモデルが必要です。お使いのモデルが例と異なる場合、モデル・オプティマイザーを使用して FP16 に変換する必要がある場合があります。 |
最後に必要な項目は、ニューラルネットワークへの入力です。ダウンロードしたモデルには、3チャンネルの画像が必要です。必要なファイルをボードにダウンロードします。
cd ~/Downloads
wget https://cdn.pixabay.com/photo/2018/07/06/00/33/person-3519503_960_720.jpg -O person.jpg
システムがインテル® NCS2 USBデバイスを認識できるようにするには、いくつかのudevルールを追加する必要があります。
| 手記 | 現在のユーザーが users グループのメンバーでない場合は、次のコマンドを実行してデバイスを再起動します。 |
sudo usermod -a -G users "$(whoami)"
OpenVINO™環境をセットアップします。
source ~/openvino_dist/setupvars.sh
インテル® ニューラル・コンピュート・スティック 2 で推論を実行するには、 install_NCS_udev_rules.sh スクリプトを実行して USB ルールをインストールします。
sh ~/openvino_dist/install_dependencies/install_NCS_udev_rules.sh
これで USB ドライバが正しくインストールされるはずです。デモの実行時にインテル® ニューラル・コンピュート・スティック 2が検出されない場合は、デバイスを再起動して再試行してください。
モデルがダウンロードされ、入力イメージが使用可能になり、インテル® ニューラル・コンピュート・スティック 2がUSBポートに接続されたら、次のコマンドを使用して benchmark_appを実行します。
cd ~/openvino/bin/aarch64/Release
./benchmark_app -i ~/Downloads/person.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD
これにより、選択したオプションを使用してアプリケーションが実行されます。-d フラグは、推論に使用するデバイスをプログラムに指示します。-MYRIAD は、 インテル® ニューラル・コンピュート・スティック 2を利用してMYRIAD プラグインをアクティブにします。コマンドが正常に実行されると、端末は推論の統計情報を表示し、画像出力を生成します。
INFO ] First inference took 267.43 ms
[Step 11/11] Dumping statistics report
Count: 12 iterations
Duration: 1620.69 ms
Latency:
Median: 532.82 ms
AVG: 494.30 ms
MIN: 278.83 ms
MAX: 557.00 ms
Throughput: 7.40 FPS
インテル® NCS2 でアプリケーションが正常に実行されると、OpenVINO™ツールキットとインテル® ニューラル・コンピュート・スティック 2デバイスが使用できるように正しく設定されます。
source ~/openvino_dist/setupvars.sh
cd ~/openvino/tools/benchmark_tool
python3 benchmark_app.py -i ~/Downloads/person.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD
アプリケーションがインテル® NCS2で正常に実行された場合、nGraph モジュールは Python に正しくバインドされています。
OpenVINO・ツールキット・アプリケーションをコンパイルして実行する前に、いくつかの環境変数を更新する必要があります。次のスクリプトを実行して、環境変数を一時的に設定します。
source ~/openvino_dist/setupvars.sh
**(オプション)** シェルを閉じると、OpenVINO環境変数が削除されます。オプションとして、次のように環境変数を永続的に設定できます。
echo "source ~/openvino_dist/setupvars.sh" >> ~/.bashrc
変更をテストするには、新しいターミナルを開きます。次のように表示されます。
[setupvars.sh] OpenVINO environment initialized
これで、Raspbian* OS 用 OpenVINO™ ツールキットのオープンソース・ディストリビューションおよびインテル® ニューラル・コンピュート・スティック 2での使用に関するビルド手順は完了です。