LoginSignup
4
0

More than 1 year has passed since last update.

OKI「AE2100」 Ubuntu + OpenVINOコンテナ向け Python環境の構築方法

Last updated at Posted at 2021-05-26

要約

この記事では、AE2100のUbuntu + OpenVINOコンテナ上に、PythonおよびPython向けOpenCVの環境を構築する方法について説明します。

はじめに

OKIのAIエッジコンピュータ「AE2100」の標準コンテナには、ディープラーニングの推論環境であるOpenVINOがインストールされています。
OpenVINOではPythonからディープラーニングの推論を可能にするAPIが提供されています。
また、OpenVINOにはコンピュータビジョン向けライブラリであるOpenCVが付属しています。

@TWATさんはAE2100で動く物体検出プログラムを紹介した記事を投稿しており、当該記事のプログラムではPython 3からOpenVINOとOpenCVを利用しています。

ただしAE2100の標準コンテナは、初期状態ではPythonがインストールされていません。
PythonプログラムからOpenVINOを利用するには、Pythonをインストールする必要があります。
またPythonプログラムからOpenCVを利用するには、OpenCVの依存プログラムをインストールする必要があります。

そこで本記事では、AE2100のUbuntu + OpenVINOコンテナ上に、PythonおよびPython向けOpenCVの環境を構築する方法を説明します。

Pythonとpipのインストール

AE2100のホストOSから、環境構築を行うゲストOSのコンテナ内部へ移動します。

Ubuntuコンテナ内では、ソフトウェアのインストールにaptコマンドを利用することができます。
下記のコマンドを実行しPython 3およびPythonパッケージをインストールする際に用いるpipをインストールします。

# apt update                 # パッケージリストを更新
# apt install -y python3
# apt install -y python3-pip

上記のインストール実行後、下記のコマンドによってPython対話モードが起動すれば、Pythonのインストールは成功です。
対話モードを終了するにはCtrl+Dを押します。

# python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Pythonパッケージのインストール

Pythonでユーザアプリケーションを作成するにあたり、様々なパッケージをインストールして利用します。
例えば数値計算用のパッケージであるNumPyは、標準ではインストールされていないため、pipコマンドなどでインストールする必要があります。

なおPython向けOpenCVを利用するには、NumPyが必要となります。
pip3コマンドを用いてNumPyをインストールするには、下記のコマンドを実行します。

# pip3 install numpy

Python対話モードからnumpyのインポートが成功すれば(ModuleNotFoundErrorが表示されなければ)、NumPyのインストールは成功です。

# python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>>

この他にもPythonプログラム実装にあたって利用したいパッケージがあれば、同様の手順でインストールしましょう。

OpenCV依存プログラムのインストール

OpenCVの依存プログラムであるGTK、FFmpeg、GStreamerをインストールします。
GTKはGUIツールキット、FFmpegは動画の録画・変換・再生のためのソフトウェア、GStreamerはマルチメディアフレームワークです。

下記コマンドを実行し、依存プログラムをインストールします。

# apt install -y libgtk-3-0 ffmpeg libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad

OpenVINOの環境変数を設定します。
なおOpenVINOのバージョンによってシェルスクリプトのファイルパスが異なります。

  • OpenVINO 2021以前の場合
    # source /opt/intel/openvino/bin/setupvars.sh
    
  • OpenVINO 2022以降の場合(2022年12月追記)
    # source /opt/intel/openvino/setupvars.sh
    

上記によりOpenVINOに含まれるPython向けOpenCVのパス(/opt/intel/openvino/python/python3/cv2.abi3.so)が設定されます。

Python対話モードからcv2のインポートが成功すれば、Python向けOpenCVの準備は成功です。

# python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>

まとめ

今回はAE2100のUbuntu + OpenVINOコンテナ上にPythonおよびPython向けOpenCVの環境を構築しました。
PythonプログラムからOpenVINO、OpenCVを利用することができるようになりましたので、
ぜひAE2100で動くコンピュータビジョンプログラムをPythonで作成してみましょう。

なお、@TWATさんの投稿記事「OKI AIエッジコンピューター「AE2100」で動く物体検出プログラムを作ろう (1) ―基礎編―」では、Pythonによる物体検出プログラムのソースコードを記載しています。
このプログラムは今回構築した環境で動作しますので、ぜひ試してみてください。

関連記事

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0