第二部:OpenCV AI KITのインストール方法(Windows10編)

だれでもWindows10のPowerShellを使ってOAKに接続できるよう、PowerShellでの環境設定からPython用デモプログラムをダウンロードして実行するまでの手順を詳しく紹介いたします。

OpenCV AI KIT (以下OAK)を、Windows10のPowerShellから操作するためのインストール方法を紹介いたします。

作業を行った環境

  • Windows 10 Home 1903(18362.778)
  • PowerShell 5.1

①Python実行環境の構築

DepthAI APIのpython用モジュール(Python API)を利用するため、最初にPython環境を構築していきます。以下の手順で必要なパッケージをインストールしてください。

手順1:PowerShellを管理者モードで起動

それでは、まずPowerShellを管理者モードで起動します。タスクバーの「検索ボックス」に「PowerShell」と入力し、[Windows PowerShell]を右クリックして、[管理者として実行]をクリックするか、下図のような画面が表示された場合は、[管理者として実行する]を選択してください。

PowerShellを管理者モードで起動
PowerShellを管理者モードで起動

PowerShellを管理者モードで起動できない場合は、通常モードで起動後、次のコマンドを入力してください。

Start-Process powershell.exe -Verb runas

手順2:Chocolateyパッケージマネージャーをインストール

Chocolateyは、【手順3】で「cmake」「git」「python」「pycharm」をインストールするために使用します。すでにこれらのパッケージがインストール済みの場合は、この手順をスキップして【手順4】に進んでください。

次に、Windows用のパッケージ管理ソフトウェアであるChocolateyをインストールします。PowerShellに次のコマンドを入力し、[Enter]キーを押します。

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

コマンドが完了するまで、しばらくそのまま待機します。インストールされたパッケージのリストが表示され、コマンドプロンプトが表示されたら完了です。

この段階で一旦PowerShellを閉じ、再度PowerShellを管理者モードで起動します。

手順3:必要なパッケージをインストール

PyCharmは、【手順6】でPythonの仮想環境を作成する際に利用します。物理環境でそのまま使用する場合はインストール不要です。

Chocolateyがインストールされたら、PythonやPyCharmなど必要なパッケージをまとめてインストールします。PowerShellに次のコマンドを入力し、[Enter]キーを押します。

choco install cmake git python pycharm-community -y

Pythonが正しくインストールされて実行できる状態になっているかを確認してみましょう。

python --version

「3.7.5」など、Pythonのバージョンが表示されればOKです。

手順4:DepthAI APIのインストール

Pythonが実行できる状態になったら、次にDepthAI APIのpython用モジュールをインストールします。PowerShellに次のコマンドを入力し、[Enter]キーを押します。

python -m pip install depthai

コマンドが実行されず直ぐにプロンプトが表示されてしまう場合、PowerShellの再起動を忘れていないか確認してください。

以上で、管理者モードでの環境構築が終了しました。ここで一旦、管理者モードで起動したPowerShellを閉じておきます。あとはDepthAI APIを利用するためのプログラムを用意するだけとなりました。

②DepthAI APIを利用する

DepthAI APIを利用するためのPython版デモ用プログラムが、開発元のLuxonis社から公開されていますので、今回はそれをダウンローして使用します。

手順5:デモ用プログラムをダウンロードする

まずPowerShellを通常モードで起動し、今回の作業用に適当な名前のディレクトリをユーザーフォルダ配下に作成し、移動しておきます。(通常モードで起動した場合の初期ディレクトリはユーザーフォルダになっていますが、特に支障がなければそのままでも構いません。)PowerShellに次のコマンドを入力し、[Enter]キーを押します。

git clone https://github.com/luxonis/depthai.git

これで現在のディレクトリ直下に「depthai」フォルダが作成され、そこにリポジトリのクローンがダウンロードされました。さらに、次のコマンドでリポジトリのあるディレクトリに移動しておきます。

cd depthai
  • 以降の作業を実施すると、既存のPython環境に変更が加えられる可能性があります。システム上の他のPythonツールや環境に影響が生じないようにするためには、仮想環境で実行する必要があります。特に運用中の環境もなく、手っ取り早く作業を行いたい場合は、仮想環境を作成せずに【手順7】に進んでください。
  • 仮想環境を利用しない場合は、引き続きPowerShellを使用します。

手順6:PyCharmで仮想環境を作成する

それでは、PyCharmを使ってPythonの仮想環境を作成する方法を紹介いたします。まず、タスクバーの「検索ボックス」に「PyCharm」と入力するなどしてPyCharm Communication Editionを起動してください。

PyCharmを起動
PyCharmを起動

初めてPyCharmを起動した場合はWelcome画面が表示されますので、メニューにある「New Project」を選択します。すでに使用したことがある場合はWelcome画面が表示されないので、起動後の「File」メニューから「New Project」を選択してください。

Welcome to PyCharm画面
New Projectを選択

「New Project」ダイアログで、以下のように設定します。

新規プロジェクトを仮想環境で作成
新規プロジェクトを仮想環境で作成
  • Locationに直接入力するか、①のフォルダアイコンをクリックして、「リポジトリを保存したフォルダーのPath」を設定する。
  • ②の「New environment using」の選択が「Virtualenv」になっているか確認する。
  • ③の「Create a main.py welcome script」のチェックを外す。
  • ④の「Create」ボタンを押す。

Project画面が開き「DepthAI Demo Program」と書かれたREADME.mdが表示されていたらOKです。次に画面下にある「Terminal」の文字をクリックし、ターミナルウィンドウを開きます。

Project画面
PyCharmのターミナルウィンドウ

PyCharmでの以降の操作は、このターミナルウィンドウにコマンドして実行していきます。

手順7:ライブラリーの依存関係をチェックする

デモ用プログラムの実行に必要なライブラリーをチェックするため、PyCharmのターミナルウィンドウ(仮想環境を利用しない場合はPowerShell)に次のコマンドを入力し、[Enter]キーを押します。

python install_requirements.py

必要なパッケージを確認し、不足している場合はダウンロードしながらインストールが行われます。少々時間がかかりますのでしばらく待機します。再びコマンドプロンプトが表示されたら完了です。

これで、ようやくDepthAI APIを利用するためのプログラムの準備も整いました。

③OAKとPCを接続する

OAK-1

手始めに、OAK-1の接続を行ってみたいと思います。OAK-1はUSBコネクターがある方が上になります。付属のUSBケーブルのタイプC(形が小さい方)のコネクタをデバイスに差し込み、反対側のタイプAをWindowsパソコンのUSBコネクタに差し込みます。

OAK-1の接続
OAK-1とPCをUSBケーブルで接続

接続が完了したらプログラムを実行させるため、PyCharmのターミナルウィンドウ(仮想環境を利用しない場合はPowerShell)に次のコマンドを入力し、[Enter]キーを押します。

python depthai_demo.py

コマンドが実行されてからしばらくすると、画面に「previewout-rgb」という名前の小さなウインドウが表示されました。(あらかじめ学習済みの)オブジェクトが認識されると、境界ボックスで結果を表示することができるAPIが呼び出されたようです。試しにGoogleの画像検索で「車」を検索し、一覧表示させた画面を撮影してみました。

OAK-1デモ画面
「車」の画像検索の結果を撮影

実行中のプログラムを終了するには、「previewout-rgb」ウィンドウをアクティブにした状態でキーボードの「q」キーを押します。

OAK-D

同様にOAK-Dでも試してみました。デモ用プログラムが終了したことを確認後、OAK-1に刺さったUSBケーブルを抜き、そのままOAK-Dに差し込んでみました。本体内部の赤いLEDらしきものが点灯したため、試しに電源アダプターを接続しないで使ってみたところ問題なく動作するようです。電源アダプターはUSBからの電力供給が足りない場合に使用すればよいのかもしれません。詳しい検証は後ほど行うことにいたします。

OAK-Dの接続
OAK-DとPCをUSBケーブルで接続(外部電源は使用せず)

OAK-1と同様OAK-Dも簡単に動作確認がとれました。

今回使用したデモ用プログラムのより詳しい使い方については、別の記事で紹介していますので参考にしてください。

参考記事