0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OpenVINOをインストールしてからサンプルを動かすまでのメモ

Last updated at Posted at 2023-10-14

基本的には以下公式サイトの「Get started」に従っていけば良い。

諸元

  • Ubuntu 20.04
  • OpenVINO 2023.1

OpenVINO本体

インストール

以下サイトで要件を選択するとインストールの方法が表示されるので、それに従う。

自分の場合はC++のAPIも利用したいので、「OpenVINO Archives」を選択。PythonのAPIだけ利用する場合は「PIP」でよいかと。そういえば、前までアカウントの登録を要求された思うんですけどいつの間にか不要になったんですね。

image.png

インストールは以下の手順に従う。他のOSやDistributionの場合もそれぞれ別ページに手順が乗っているので、それを参考にする。

以下、コマンドのみ抽出したもの。

# /opt/intelにインストールする
sudo mkdir /opt/intel

# パッケージをダウンロードして/opt/intelに移動
cd <user_home>/Downloads
curl -L https://storage.openvinotoolkit.org/repositories/openvino/packages/2023.1/linux/l_openvino_toolkit_ubuntu20_2023.1.0.12185.47b736f63ed_x86_64.tgz --output openvino_2023.1.0.tgz
tar -xf openvino_2023.1.0.tgz
sudo mv l_openvino_toolkit_ubuntu20_2023.1.0.12185.47b736f63ed_x86_64 /opt/intel/openvino_2023.1.0

# 依存パッケージをインストール
cd /opt/intel/openvino_2023.1.0
sudo -E ./install_dependencies/install_openvino_dependencies.sh

デモプログラムのビルド

以下手順でデモプログラムをビルドできる。

全デモプログラムをビルドする場合はbuild_samples.shを使えば早い。<user_home>/openvino_cpp_samples_build/intel64/Releaseにインストールされる。

cd /opt/intel/openvino_2023.1.0
source setupvars.sh
cd samples/cpp
./build_samples.sh

Open Model Zoo(OMZ)

OMZをインストールすることで、より多くのサンプルプログラムも動かすことができます。

インストール

# OMZのリポジトリをクローン
cd <user_home>/
git clone --recurse-submodules https://github.com/openvinotoolkit/open_model_zoo.git

OMZのモデルがダウンロードできるツールomz_downloaderを使いたい場合は、pipでopenvino-devをインストールしておきます。

# 適当な場所にvenv環境を作る
cd <user_home>/open_model_zoo
python3 -m venv venv
source venv/bin/activate
pip install openvino-dev

また、デモプログラムの一部でOpenCVを使って動画の読み込みを行うので、OpenCVをビルドインストールしておきます。今回はVideoIOのバックエンドにFFmpegを使います。

# 必要なパッケージインストール
sudo apt install nasm libgtk2.0-dev

# OpenH264のビルドインストール
cd ~
git clone -b v2.3.1 https://github.com/cisco/openh264
cd openh264
make -j4
sudo make install
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

# FFmpegのビルドインストール
cd ~
git clone -b n4.3.5 https://github.com/FFmpeg/FFmpeg ffmpeg-n4.3.5
cd ffmpeg-n4.3.5
./configure \
    --enable-libopenh264 \
    --enable-optimizations \
    --enable-static \
    --enable-version3 \
    --enable-shared \
    --disable-gpl \
    --disable-logging \
    --disable-doc \
    --disable-htmlpages \
    --disable-manpages \
    --disable-podpages \
    --disable-txtpages \
    --disable-avdevice \
    --disable-postproc \
    --disable-bzlib \
    --disable-iconv \
    --disable-cuda \
    --disable-cuvid \
    --disable-debug \
    --extra-ldflags="-static-libgcc -static-libstdc++"
make -j4
sudo make install

# OpenCVのビルドインストール
cd ~
wget https://github.com/opencv/opencv/archive/4.6.0.zip -O opencv-4.6.0.zip
unzip opencv-4.6.0.zip
cd opencv-4.6.0
mkdir build
cd build
cmake \
    -DCMAKE_BUILD_TYPE=RELEASE \
    -DOPENCV_FFMPEG_USE_FIND_PACKAGE=ON \
    -DBUILD_DOCS=OFF \
    -DBUILD_TESTS=OFF \
    -DBUILD_EXAMPLES=OFF \
    -DBUILD_JAVA=OFF \
    -DWITH_1394=OFF \
    -DWITH_CUDA=OFF \
    -DWITH_CUFFT=OFF \
    -DWITH_FFMPEG=ON \
    -DWITH_GSTREAMERE=OFF \
    -DWITH_GTK=ON \
    -DWITH_IPP=OFF \
    -DWITH_JASPERE=OFF \
    -DWITH_JPEG=ON \
    -DWITH_OPENEXR=OFF \
    -DWITH_PNG=ON \
    -DWITH_TIFF=ON \
    -DWITH_V4L=OFF \
    -DWITH_GPHOTO2=OFF \
    -DWITH_CUBLAS=OFF \
    -DWITH_VTK=OFF \
    -DWITH_NVCUVID=OFF \
    ..
# 以下のログが出力され、FFmpegを認識していることが確認できる
# --   GUI:                           GTK2
# --     GTK+:                        YES (ver 2.24.32)
# --       GThread :                  YES (ver 2.64.6)
# --       GtkGlExt:                  NO
#   (略)
# --   Video I/O:
# --     FFMPEG:                      YES (find_package)
# --       avcodec:                   YES (58.91.100)
# --       avformat:                  YES (58.45.100)
# --       avutil:                    YES (56.51.100)
# --       swscale:                   YES (5.7.100)
# --       avresample:                NO
# --     GStreamer:                   NO
make -j4
sudo make install

デモプログラムのビルド

こちらも全デモプログラムをビルドする場合はbuild_samples.shを使えば早い。

source /opt/intel/openvino_2023.1.0/setupvars.sh
cd <user_home>/open_model_zoo/demos
./build_demos.sh

OMZのサンプルプログラムを動かしてみる

デモの一覧はインストールガイドのサイトから確認できます。

image.png

Object Detection

物体検知のタスクを試してみます。PythonとC++がありますが、今回はC++で。

image.png

デモ個別のページには、そのデモプログラムが対応しているモデルの情報などが閲覧できます。

image.png

今回はperson-detection-0303を使います。omz_downloaderを使ってモデルをダウンロードしておきます。

omz_downloader --name person-detection-0303

ダウンロードしたモデルは<user_home>/open_model_zoo/intelに保存されます。(2023/10/15訂正)ダウンロードしたモデルはカレントディレクトリにintelディレクトリが生成され、そこに保存されるようでした。

では試しに動かしてみます。

cd <user_home>/Downloads
wget https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4
cd <user_home>/omz_demos_build/intel64/Release
./object_detection_demo -at ssd -i <user_home>/Downloads/person-bicycle-car-detection.mp4 -m <user_home>/open_model_zoo/intel/person-detection-0303/FP32/person-detection-0303.xml

image.png

期待どおり人を検知した結果が描画されました。

終わりに

次はデモプログラムを参考に自前のアプリケーション作ってみたい。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?