前提条件
こちらの記事ではRaspberry PiにOpenVINOとNCS2のセットアップする手順について書きました。今日はWindows 10で同じことをしてみようと思います。手元の環境は以下の通りです。
- Windows 10(64bit) バージョン1909
- Core-i5-4210U
- メモリ 8GB
システム要件には「6th-10th Generation Intel® Core™ processors」とありましたが、上記環境でも動作しています(自己責任でお願いいたします)。
Visual Studioのインストール
Visual Studioをインストールします。

インストール途中でどの環境をセットアップするか尋ねられますので、C++を含めるようにしておきましょう。
Cmakeのインストール
Cmakeをインストールします。こちらからダウンロードしましょう。
ただし、今回初めてVisual Studioをインストールされた場合はバージョンが2019になりますが、この場合Cmakeのバージョンは3.14が指定されています。旧バージョンの入手先はこちらです。
私は上記リンク先からcmake-3.14.7-win64-x64.msiを入手しました。インストール実行時「Add Cmake to the system PATH…」のいずれかを選択します。通常は「for the current user」を選んでおけば良いでしょう。
Python3.6のインストール
以下のサイトからダウンロードします。私は3.6.1をダウンロードしました。

インストーラーを実行します。最初の画面で「Add Python3.6 to PATH」にチェックをつけて「Install Now」をクリックし、インストール完了後「Disable path length limit」を選択してインストーラーを終了します。環境変数を読み込ませるため、ここでPCを再起動しておきましょう。
再起動後、コマンドプロンプトで下記コマンドを実行します。
Python -V
「Python 3.6.1」と表示されればOKです。
OpenVINOのインストール
下記サイトからインストーラーをダウンロードします。
https://software.intel.com/en-us/openvino-toolkit/choose-download/free-download-windows
「Register & Download」から必要事項を入力して「Submit」をクリックします。 Companyは必須入力ですが、IndとかDevとか何か入力しておけばOKです。
ダウンロードしたファイル名は「w_openvino_toolkit_p_<version>.exe」になります。私がダウンロードしたファイルは「w_openvino_toolkit_p_2020.1.033.exe」でした。インストーラーの実行時に選択が必要なのは「情報収集に同意・不同意」だけで、あとは規定値のままインストールを進めます。インストールが完了すると公式ドキュメントのページが表示されます。
インストール完了後に必要なコマンドを順に記載します。コマンドプロンプトを起動してください。
cd C:\Program Files (x86)\IntelSWTools\openvino\bin\
setupvars.bat
このバッチファイルでパスを通しますので、OpenVINOを利用する際は毎回実行が必要です。環境変数に書き込む方法もありますので、お好みでお選びください。
cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\install_prerequisites
install_prerequisites.bat
OpenVINOが対応するフレームワークに応じ必要なファイルをダウンロード・インストールします。上記コマンドでは全フレームワーク分を一括ダウンロードします。必要に応じセットアップしたい場合は公式ドキュメントの「Option 2: Configure the Model Optimizer for each framework separately:」を参照してください。
cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\
demo_squeezenet_download_convert_run.bat
セットアップが正常に行われたことを確認します。上記を実行し「Classification demo completed successfully」と表示されればOKです。では、デモを実行してみましょう。
demo_security_barrier_camera.bat
このような画像が表示されれば成功です!

NCS2ドライバのインストール
公式ドキュメントはこちらです。
https://software.intel.com/en-us/articles/get-started-with-neural-compute-stick
冒頭プラットフォームごとにYouTubeのリンクがありますが、いずれも死んでいて参照できませんでした。
こちらの手順はあっさりしています。OpenVINOのインストールフォルダにあるMovidius_VSC_Device.infを右クリック⇒「インストール」を選択するだけです。
iniファイルのありかはこちらです。
C:\Program Files (x86)\IntelSWTools\openvino_2020.1.033\deployment_tools\inference_engine\external\MovidiusDriver\Movidius_VSC_Device.inf
早速動作確認しましょう。
cd C:\"Program Files (x86)"\IntelSWTools\openvino\deployment_tools\demo
.\demo_security_barrier_camera.bat -d MYRIAD
先ほどと同じ車の画像が表示されたら成功です!
NCS2を使ってみて
冒頭に記したスペックのマシンで同じスクリプトを「NCS2あり」「NCS2無し」で実行し、負荷をタスクマネージャーで確認しました。体感的にはNCS2無し、つまりノートPC単体で実行した方がややスムーズですが、NCS2ありのときと比べCPU使用率が25-30%上昇しました。
Core-i搭載マシンではNCS2をあえて使わなくても良いように思いますが、裏を返せばRaspberry Piのように非力なマシンでは絶大な威力を発揮すると言えるでしょう。
サンプルのビルド
C:\Users\%userprofile%\Documents\Intel\OpenVINO\inference_engine_samples_buildにある「Samples.sln」をVisual Studioで開き、「ALL_BUILD」をReleaseモードでビルドします。

ビルドが終わると、上記ディレクトリに「intel64」というフォルダが生成され、その中の「Release」直下にビルドしたファイルが保存されています。
Visual Studioを終了させ、コマンドプロンプトに戻りましょう。
モデルファイルの一括ダウンロード
推論で利用するモデルファイルですが、都度ダウンロードするのは面倒なので一括でダウンロードできる手段が用意されています。しかし、一括ダウンロードにはかなり時間がかかりますので、時間に余裕があるときに実行してください。私の環境では2時間半かかりました。
python "C:\Program Files (x86)\IntelSWTools\openvino_2020.1.033\deployment_tools\tools\model_downloader\downloader.py" --all
コマンド中の「2020.1.033」はインストールしたバージョンに合わせてください。Enterキーを押下した瞬間からモリモリダウンロードが始まります。ゆっくりお風呂に入ってご飯を食べて、イッパイ飲んでも多分まだ終わっていません。。。
終わりに
こうやって文書にしてみると、意外とボリュームがあったので驚きました。本当は推論を行うコードにも触れたかったのですが、それはまたいずれかの機会にしようと思います。さて、最近情シス業務とは程遠いことばかりやっていました。私は一体何処へ向かおうとしているのでしょう??

コメント