INDEXに戻る

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

作業を行った環境

  • Ubuntu 16.04 LTS
  • Python 3.6.12
  • pip 20.3.3

事前準備

最初に、UbuntuからUSBデバイスであるOAKが使えるように、事前にudevルールを追加しておきます。Terminalに次の2行を入力し、[Enter]キーを押します。

echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules
sudo udevadm control --reload-rules && sudo udevadm trigger

次に、pipのバージョンが古いと【手順2】でエラーが発生しますので、pipのバージョンを20.3.3以上にしておいてください。次のコマンドで現在のpipのバージョンが確認できます。

pip3 -V

①Python実行環境の構築

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

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

まず、DepthAIライブラリの実行に必要なシステム依存関係を調べ、不足しているパッケージをインストールします。次のコマンドをTerminalに入力し、[Enter]キーを押します。

sudo wget -qO- http://docs.luxonis.com/_static/install_dependencies.sh | bash

コマンドが完了するまで、しばらくそのまま待機します。コマンドプロンプトが表示されたら完了です。

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

次にDepthAI APIのpython用モジュールをインストールします。Terminalに次のコマンドを入力し、[Enter]キーを押します。

python3 -m pip install depthai

以上で、Python環境の構築が終了しました。あとはDepthAI APIを利用するためのプログラムを用意するだけとなりました。

DepthAI APIを利用する

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

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

まず、Terminalで今回の作業を行うための適当な作業ディレクトリを用意し、移動しておきます。Terminalに次のコマンドを入力し、[Enter]キーを押します。

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

これで現在のディレクトリ直下に「depthai」フォルダが作成され、そこにリポジトリのクローンがダウンロードされました。

  • 以降の作業を実施すると、既存のPython環境に変更が加えられる可能性があります。システム上の他のPythonツールや環境に影響が生じないようにするためには、仮想環境で実行する必要があります。特に運用中の環境もなく、手っ取り早く作業を行いたい場合は、仮想環境を作成せずに【手順5】に進んでください。
  • 仮想環境を利用しない場合は、引き続き、現在のTerminalで作業を行いますので、次のコマンドでリポジトリのあるディレクトリに移動しておいてください。
    cd depthai

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

それでは、PyCharmを使ってPythonの仮想環境を作成する方法を紹介いたします。PyCharmがまだインストールされていない場合は、ランチャーの「Ubuntuソフトウェア」から「pycharm」を検索するなどし、PyCharm CE(Communication Edition)をインストールしてください。

PyCharmをインストール
PyCharmをインストール

インストールが終わったら、PyCharmを起動します。

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での以降の操作は、このターミナルウィンドウにコマンドして実行していきます。

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

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

python3 install_requirements.py

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

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

手順6:OAKとPCを接続する

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

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

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

python3 depthai_demo.py

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

OAK-1デモ画面
「車」で検索した写真を画面に表示し撮影

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

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

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

OAK-1と同様OAK-Dも簡単に動作確認がとれました。今回使用したデモ用プログラムのより詳しい使い方については、別の記事で紹介していますので参考にしてください。

参考記事