LoginSignup
1
0

More than 5 years have passed since last update.

Intel® RealSense™ D400シリーズをOpenBlocks IoT VX2で利用するためのdockerコンテナイメージの使い方と、buildに関するメモ

Last updated at Posted at 2018-11-15

Intel® RealSense™ D400シリーズは、SDK2.0にてサポートされています。
realsense01.jpg
D415およびD435をOpenBlocks IoT VX2シリーズで利用するにあたり、SDKであるlibsenseおよびOpenCV 3.4.3をbuildするとともに、dockerコンテナのイメージとして、dockerhubにてpublic公開しました。

今回は、dockerコンテナイメージをOpenBlocks IoT VX2で利用する方法と合わせて、SDKおよびOpenCV3.4.3のソースコードからのビルドする方法についてのTipsを書いておきます。

Dockerコンテナイメージの使い方

dockerコンテナイメージは以下の場所で公開しています。

OpenBlocks IoT VX2に拡張機能として、docker (WebUI付き)をインストールし、WebUIより検索しダウンロードするか、コンソールから、以下の様にpullしてください。

docker pull goto2048/obsvx2_realsense_sdk20

上記ページのDescriptionにも記述していますが、初期起動のオプションは、

-ti --name realsense --privileged --net=host -v /dev:/dev --restart always

となります。

サンプルのアプリケーションを利用するにあたり、Linux版のOpenCVの場合は、X11の環境が必要となりますが、OpenBlocks IoTシリーズには基本ディスプレイはつきませんので、別にXサーバを用意する必要があります。Linuxデスクトップ環境をお持ちであれば、それを、Windows環境の場合は、VcXsrvなどをインストールして下さい。

コンテナへ入るには、以下のコマンドおよびオプションを使います

docker exec -ti --privileged realsense /bin/bash

XサーバのIPアドレス(もしくはサーバ名)を指定してください。

export DISPLAY=xxx.xxx.xxx.xxx:0

librealsenseをビルドした時のソースツリーを~/の下へ置きました。
サンプルプログラムは、~/librealsense/build/examples/ の下にあります。

capture/rs-captureを実行してみました
rs-capture.jpg
なお、本コンテナイメージは3GBを超えており、OpenBlocks IoT VX1シリーズで使用する場合は、eMMCサイズが非常に厳しい状況となります。VX2でのご利用をお勧めします。

ソースコードからのビルドに関してのTips

上記コンテナを構築するにあたり、OpenCV 3.4.3をOpenBlocks IoT VX2のCPUに対応したビルドおよび、RealSense™ SDK2.0であるlibsenseのビルドを行いました。
すべての手順はここでは書きませんが、構築にともなうTipsについてそれぞれ書いておきます。

opencv 3.4.3

先にビルドに必要な各種パッケージをインストールします。

sudo apt-get install --assume-yes build-essential cmake git
sudo apt-get install --assume-yes pkg-config unzip ffmpeg qtbase5-dev python-dev python3-dev python-numpy python3-numpy
sudo apt-get install --assume-yes libopencv-dev libgtk-3-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libtiff5-dev
sudo apt-get install --assume-yes libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install --assume-yes libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev
sudo apt-get install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils vtk6
sudo apt-get install --assume-yes liblapacke-dev libopenblas-dev libgdal-dev checkinstall<br>
libfaac-devは、non-freeですので、/etc/apt/sources.listにnon-freeを追加して、apt-get updateする必要があります。

ソースコードは以下より入手します。

wget https://github.com/opencv/opencv/archive/3.4.3.tar.gz

ビルドの手順は、以下の通り

tar xzf 3.4.3.tar.gz
cd opencv-3.4.3
mkdir build
cd build
cmake -G "Unix Makefiles" --build . -D BUILD_CUDA_STUBS=OFF -D BUILD_DOCS=OFF \
-D BUILD_EXAMPLES=OFF -D BUILD_JASPER=OFF -D BUILD_JPEG=OFF -D BUILD_OPENEXR=OFF \
-D BUILD_PACKAGE=ON -D BUILD_PERF_TESTS=OFF -D BUILD_PNG=OFF -D BUILD_SHARED_LIBS=ON \
-D BUILD_TBB=OFF -D BUILD_TESTS=OFF -D BUILD_TIFF=OFF -D BUILD_WITH_DEBUG_INFO=ON \
-D BUILD_ZLIB=OFF -D BUILD_WEBP=OFF -D BUILD_opencv_apps=ON -D BUILD_opencv_calib3d=ON \
-D BUILD_opencv_core=ON -D BUILD_opencv_cudaarithm=OFF -D BUILD_opencv_cudabgsegm=OFF \
-D BUILD_opencv_cudacodec=OFF -D BUILD_opencv_cudafeatures2d=OFF -D BUILD_opencv_cudafilters=OFF \
-D BUILD_opencv_cudaimgproc=OFF -D BUILD_opencv_cudalegacy=OFF -D BUILD_opencv_cudaobjdetect=OFF \
-D BUILD_opencv_cudaoptflow=OFF -D BUILD_opencv_cudastereo=OFF -D BUILD_opencv_cudawarping=OFF \
-D BUILD_opencv_cudev=OFF -D BUILD_opencv_features2d=ON -D BUILD_opencv_flann=ON \
-D BUILD_opencv_highgui=ON -D BUILD_opencv_imgcodecs=ON -D BUILD_opencv_imgproc=ON \
-D BUILD_opencv_java=OFF -D BUILD_opencv_ml=ON -D BUILD_opencv_objdetect=ON \
-D BUILD_opencv_photo=ON -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=ON \
-D BUILD_opencv_shape=ON -D BUILD_opencv_stitching=ON -D BUILD_opencv_superres=ON \
-D BUILD_opencv_ts=ON -D BUILD_opencv_video=ON -D BUILD_opencv_videoio=ON \
-D BUILD_opencv_videostab=ON -D BUILD_opencv_viz=OFF -D BUILD_opencv_world=OFF \
-D CMAKE_BUILD_TYPE=RELEASE -D WITH_1394=ON -D WITH_CUBLAS=OFF -D WITH_CUDA=OFF \
-D WITH_CUFFT=OFF -D WITH_EIGEN=ON -D WITH_FFMPEG=ON -D WITH_GDAL=OFF -D WITH_GPHOTO2=OFF \
-D WITH_GIGEAPI=ON -D WITH_GSTREAMER=OFF -D WITH_GTK=ON -D WITH_INTELPERC=OFF -D WITH_IPP=ON \
-D WITH_IPP_A=OFF -D WITH_JASPER=ON -D WITH_JPEG=ON -D WITH_LIBV4L=ON -D WITH_OPENCL=ON \
-D WITH_OPENCLAMDBLAS=OFF -D WITH_OPENCLAMDFFT=OFF -D WITH_OPENCL_SVM=OFF -D WITH_OPENEXR=ON \
-D WITH_OPENGL=ON -D WITH_OPENMP=OFF -D WITH_OPENNI=OFF -D WITH_PNG=ON -D WITH_PTHREADS_PF=OFF \
-D WITH_PVAPI=OFF -D WITH_QT=ON -D WITH_TBB=ON -D WITH_TIFF=ON -D WITH_UNICAP=OFF \
-D WITH_V4L=ON -D WITH_VTK=OFF -D WITH_WEBP=ON -D WITH_XIMEA=OFF -D WITH_XINE=OFF \
-D WITH_LAPACKE=ON -D WITH_MATLAB=OFF ..
make -j $(($(nproc) + 1))
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

librealsense

opencvのビルド後であれば、以下のパッケージを追加する必要がありました。

apt-get install libglfw3-dev
apt-get install libusb-1.0-0-dev

ソースコードは以下より入手します。

git clone https://github.com/IntelRealSense/librealsense.git

Tipなどは特にありません。
librealsenseのビルド手順は以下の通りです。

cd librealsense
mkdir build
cd build
cmake .. -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=Release
make -j1
make install

続けて、OpenCV用wrapperやpythonモジュールもビルドします。

最後に

今回は、主としてdockerhubにpushしたdockerコンテナイメージの使い方について説明しました。
同じアカウントで、Myriad™に対応したIntel® OpenVINO™ Toolkit環境を提供するdockerコンテナイメージも公開しました。次回の記事にてコンテナイメージの使い方などを紹介します。

1
0
1

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