This article will set up your Raspberry Pi* 4 Model B with Raspbian 10 and the tools needed to use the Intel® Neural Compute Stick 2. If your device is already set up and running Raspbian 10, then download and compile the toolkit and its dependencies to verify your installation.
Make sure you have the following:
The Raspberry Pi Foundation provides Raspbian for use with the Pi. Select and download a Raspbian 10 image. We recommend choosing the Raspbian Buster with desktop (without additional programs) or the Raspbian Buster Lite images for use with the Intel® Distribution of OpenVINO™ toolkit.
For writing the image to the microSD card, use balenaEtcher, an image writing program:.
Download and install the program:
Your Pi will boot up to a desktop, asking you to confirm some settings before restarting the device. As soon as setup is finished, you’re ready to go.
Your board is now set up to build and run the Intel® Distribution of OpenVINO™ toolkit. Your next step is to review the OpenCV Installation section below and then follow the instructions here to install dependencies, grab the source code, and build and verify the toolkit itself. Remember to follow the OpenCV Installation instructions below rather than the instructions in the article linked above.
The article linked above asks you to download OpenCV from source directly from OpenCV’s public GitHub repository. However, as of 7/18/2019, the current repository fails to build on Raspbian 10. Instead, download the stable OpenCV-4.1.0 and build from that source package. Commands are below to build and install OpenCV from that package in a folder called OpenVINO on the current user’s home directory. This will also build the Python* 3 libraries for OpenCV:
cd ~/OpenVINO wget https://github.com/opencv/opencv/archive/4.1.0.zip unzip 4.1.0.zip cd opencv-4.1.0 mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/ -DPYTHON3_EXECUTABLE=/usr/lib/python3.7 –DPYTHON_INCLUDE_DIR=/usr/include/python3.7 –DPYTHON_INCLUDE_DIR2=/usr/include/arm-linux-gnueabihf/python3.7m –DPYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so .. make && make install
This will build a compatible version of OpenCV. You can continue on to build the Deep Learning Deployment Toolkit at this point. Don't forget to set the OpenCV_DIR environment variable to the install location of OpenCV:
To verify the correct version of OpenCV, use the commands below. These commands require the OpenCV Python 3 wrapper, which is built with the commands above:
python3 >>> import cv2 >>> cv2.__version__
The command should return ‘4.1.0’.
OpenVINO should build correctly on your Raspberry Pi 4 if you've built the correct version of OpenCV. However, an issue with the GCC* compiler's default settings may cause runtime issues. To solve this, build the toolkit with the following CMake flag:
Your full CMake command should look like the following:
cd ~/dldt/inference-engine mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS='-march=armv7-a' \ -DENABLE_MKL_DNN=OFF \ -DENABLE_CLDNN=OFF \ -DENABLE_GNA=OFF \ -DENABLE_SSE42=OFF \ -DTHREADING=SEQ \ .. make
Your board is now set up to build and run the Intel® Distribution of OpenVINO™ toolkit. Make sure that you’ve verified the correct version of OpenCV above and then follow the instructions at this page to install dependencies, grab the source code, and build and verify the toolkit itself.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804