Install OpenVINO™ toolkit for Raspbian* OS¶
Note
These steps apply to 32-bit Raspbian* OS, which is an official OS for Raspberry Pi* boards.
These steps have been validated with Raspberry Pi 3*.
All steps in this guide are required unless otherwise stated.
An internet connection is required to follow the steps in this guide. If you have access to the Internet through the proxy server only, please make sure that it is configured in your OS environment.
Introduction¶
The OpenVINO™ toolkit quickly deploys applications and solutions that emulate human vision. Based on Convolutional Neural Networks (CNN), the toolkit extends computer vision (CV) workloads across Intel® hardware, maximizing performance. The OpenVINO toolkit includes the Intel® Deep Learning Deployment Toolkit (Intel® DLDT).
The OpenVINO™ toolkit for Raspbian* OS includes the Inference Engine and the MYRIAD plugins. You can use it with the Intel® Neural Compute Stick 2 plugged into one of USB ports. This device is required for using the Intel® Distribution of OpenVINO™ toolkit.
Note
There is also an open-source version of OpenVINO™ that can be compiled for arch64 (see build instructions).
Because OpenVINO for Raspbian* OS doesn’t include Model Optimizer, the ideal scenario is to use another machine to convert your model with Model Optimizer, then do your application development on the Raspberry Pi* for a convenient build/test cycle on the target platform.
Included in the Installation Package¶
The OpenVINO toolkit for Raspbian OS is an archive with pre-installed header files and libraries. The following components are installed by default:
Component |
Description |
---|---|
This is the engine that runs the deep learning model. It includes a set of libraries for an easy inference integration into your applications. |
|
OpenCV* community version compiled for Intel® hardware. |
|
A set of simple console applications demonstrating how to use Intel’s Deep Learning Inference Engine in your applications. |
Note
The package does not include the Model Optimizer. To convert models to Intermediate Representation (IR), you need to install it separately to your host machine.
The package does not include the Open Model Zoo demo applications. You can download them separately from the Open Models Zoo repository.
Development and Target Platforms¶
Hardware
Raspberry Pi* board with ARM* ARMv7-A CPU architecture. Check that
uname -m
returnsarmv7l
.Intel® Neural Compute Stick 2, which as one of the Intel® Movidius™ Visual Processing Units (VPUs)
Note
With OpenVINO™ 2020.4 release, Intel® Movidius™ Neural Compute Stick (1) is no longer supported.
Operating Systems
Raspbian* Buster, 32-bit
Raspbian* Stretch, 32-bit
Software
CMake* 3.7.2 or higher
Python* 3.5, 32-bit
Overview¶
This guide provides step-by-step instructions on how to install the OpenVINO™ toolkit for Raspbian* OS. Links are provided for each type of compatible hardware including downloads, initialization and configuration steps. The following steps will be covered:
Run the Object Detection Sample to validate Inference Engine installation
Install the OpenVINO™ Toolkit for Raspbian* OS Package¶
The guide assumes you downloaded the OpenVINO toolkit for Raspbian* OS. If you do not have a copy of the toolkit package file l_openvino_toolkit_runtime_raspbian_p_<version>.tgz
, download the latest version from the OpenVINO™ Toolkit packages storage and then return to this guide to proceed with the installation.
Note
The OpenVINO toolkit for Raspbian OS is distributed without an installer, so you need to perform some extra steps compared to the Intel® Distribution of OpenVINO™ toolkit for Linux* OS.
Open the Terminal* or your preferred console application.
Go to the directory in which you downloaded the OpenVINO toolkit. This document assumes this is your
~/Downloads
directory. If not, replace~/Downloads
with the directory where the file is located.cd ~/Downloads/
By default, the package file is saved as
l_openvino_toolkit_runtime_raspbian_p_<version>.tgz
.Create an installation folder.
sudo mkdir -p /opt/intel/openvino_2021
Unpack the archive:
sudo tar -xf l_openvino_toolkit_runtime_raspbian_p_<version>.tgz --strip 1 -C /opt/intel/openvino_2021
Now the OpenVINO toolkit components are installed. Additional configuration steps are still required. Continue to the next sections to install External Software Dependencies, configure the environment and set up USB rules.
Install External Software Dependencies¶
CMake* version 3.7.2 or higher is required for building the Inference Engine sample application. To install, open a Terminal* window and run the following command:
sudo apt install cmake
CMake is installed. Continue to the next section to set the environment variables.
Set the Environment Variables¶
You must update several environment variables before you can compile and run OpenVINO toolkit applications. Run the following script to temporarily set the environment variables:
source /opt/intel/openvino_2021/bin/setupvars.sh
**(Optional)** The OpenVINO environment variables are removed when you close the shell. As an option, you can permanently set the environment variables as follows:
echo "source /opt/intel/openvino_2021/bin/setupvars.sh" >> ~/.bashrc
To test your change, open a new terminal. You will see the following:
[setupvars.sh] OpenVINO environment initialized
Add USB Rules for an Intel® Neural Compute Stick 2 device¶
This task applies only if you have an Intel® Neural Compute Stick 2 device.
Add the current Linux user to the
users
group:sudo usermod -a -G users "$(whoami)"
Log out and log in for it to take effect.
If you didn’t modify
.bashrc
to permanently set the environment variables, runsetupvars.sh
again after logging in:source /opt/intel/openvino_2021/bin/setupvars.sh
To perform inference on the Intel® Neural Compute Stick 2, install the USB rules running the
install_NCS_udev_rules.sh
script:sh /opt/intel/openvino_2021/install_dependencies/install_NCS_udev_rules.sh
Plug in your Intel® Neural Compute Stick 2.
You are now ready to compile and run the Object Detection sample to verify the Inference Engine installation.
Build and Run Object Detection Sample¶
Follow the next steps to use the pre-trained face detection model using Inference Engine samples from the OpenVINO toolkit.
Navigate to a directory that you have write access to and create a samples build directory. This example uses a directory named
build
:mkdir build && cd build
Build the Object Detection Sample:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=armv7-a" /opt/intel/openvino_2021/deployment_tools/inference_engine/samples/cpp
make -j2 object_detection_sample_ssd
Download the pre-trained Face Detection model with the Model Downloader or copy it from the host machine:
git clone --depth 1 https://github.com/openvinotoolkit/open_model_zoo cd open_model_zoo/tools/model_tools python3 -m pip install -r requirements.in python3 downloader.py --name face-detection-adas-0001
Run the sample specifying the model, a path to the input image, and the VPU required to run with the Raspbian* OS:
./armv7l/Release/object_detection_sample_ssd -m <path_to_model>/face-detection-adas-0001.xml -d MYRIAD -i <path_to_image>
The application outputs an image (
out_0.bmp
) with detected faced enclosed in rectangles.
Congratulations, you have finished the OpenVINO™ toolkit for Raspbian* OS installation. You have completed all required installation, configuration and build steps in this guide.
Read the next topic if you want to learn more about OpenVINO workflow for Raspberry Pi.
Workflow for Raspberry Pi*¶
If you want to use your model for inference, the model must be converted to the .bin and .xml Intermediate Representation (IR) files that are used as input by Inference Engine. OpenVINO™ toolkit support on Raspberry Pi only includes the Inference Engine module of the Intel® Distribution of OpenVINO™ toolkit. The Model Optimizer is not supported on this platform. To get the optimized models you can use one of the following options:
Download public and Intel’s pre-trained models from the Open Model Zoo using Model Downloader tool.
For more information on pre-trained models, see Pre-Trained Models Documentation
Convert the model using the Model Optimizer from a full installation of Intel® Distribution of OpenVINO™ toolkit on one of the supported platforms. Installation instructions are available:
For more information about how to use the Model Optimizer, see the Model Optimizer Developer Guide.