Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

Neural compute stick 2 for raspberry pi 3 B+?

khandelwal__Yash
Beginner
2,006 Views

I purchased  NCS2 for running it pi but after purchasing only i get to know it does'nt support raspbian.

Will intel make it for pi also in future?

 

please tell i am a student and i payed my whole savings in buying NCS2.

0 Kudos
23 Replies
Severine_H_Intel
Employee
1,742 Views

Dear Yash, 

We do not support it yet. However, I invite you to follow this thread to get updated about our support of Raspberry Pi: https://github.com/opencv/dldt/issues/3

Best, 

Severine

0 Kudos
RTasa
New Contributor I
1,742 Views
I would love to see support for your older UP board with the Intel® ATOM™ x5-Z8350 with the reduced price. It would deliver much much better performance than the PI board and really give you and end to end solution for those that want to experiment. Currently from what I understand there is no OpenVino support for older UP board.
0 Kudos
khandelwal__Yash
Beginner
1,742 Views

Does UP boards support OpenVINO? so i can plug NCS2 in it?

0 Kudos
Leini__Mikk
Beginner
1,742 Views

I ran into same problem - bought NCS2 to put on RPi robot and now got hit by this "surprise". Please add RPi 3 support to OpenVINO or to NCSDK2.

0 Kudos
Leini__Mikk
Beginner
1,742 Views

Wishes have been answered: 

Introduced preview support for Raspbian* 9 as a host for Intel® Movidius™ Neural Compute Stick and Intel® Neural Compute Stick 2 targets.

https://software.intel.com/en-us/articles/OpenVINO-RelNotes

0 Kudos
Leini__Mikk
Beginner
1,742 Views

I downloaded OpenVINO R5 for Linux onto RPi and it fails to install:

pi@raspberrypi:~/Downloads/l_openvino_toolkit_p_2018.5.445 $ sudo ./install.sh
./install.sh: 60: [: -lt: unexpected operator
./install.sh: 63: [: -eq: unexpected operator
The IA-32 architecture host installation is no longer supported.
The product cannot be installed on this system.
Please refer to product documentation for more information.

Quitting!

When i look into "rpm" folder i don't see any Raspbian package - there was supposed to be a compiled package for OpenCV for example.

Is it the right toolkit? How to install it?
Or is the Linux package for cross-compilation for RPi ?

0 Kudos
Leini__Mikk
Beginner
1,742 Views

Found the right package and instructions: https://software.intel.com/en-us/articles/OpenVINO-Install-RaspberryPI
There's a link to package under "Installation steps".

0 Kudos
Monique_J_Intel
Employee
1,742 Views

HI Mikk, 

Yes, sorry for your trouble. We are working on fixing how the document has you skip over the box that actually points you to the link. Let us know if you have any other issues with your installation.

Kind Regards,

Monique Jones

0 Kudos
Stephch
Beginner
1,742 Views

Hi Monique,

I have followed the instructions provided by the link: https://software.intel.com/en-us/articles/OpenVINO-Install-RaspberryPI

However after starting from a fresh Raspbian Stretch OS install and following the instructions, I cannot get OpenCV example to work. I installed OpenCV 4.0.0 and now getting the following error: 

  • Build OpenCV with Inference Engine to enable loading models from Model Optimizer. in function 'readFromModelOptimizer' 

Do I have to build OpenCV 4 with specific flags enabled (Inference Engine, etc) or what extra steps do I have to do beyond the ones listed in the instructions list?

Thanks

0 Kudos
Jelbert__Richard
Beginner
1,742 Views

I have also just purchased a NCS2 and found it is not compatible with the Raspberry Pi. I followed the instructions in the post above by downloading and modifying various files and environment variables (from here: https://software.intel.com/en-us/articles/OpenVINO-Install-RaspberryPI )

I am on a fresh Rpi install reporting:Linux turbopi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l which is raspbian stretch

The first problem I spotted when following the install instructions is that there are two copies of setupvars.sh :

/home/pi/Downloads/inference_engine_vpu_arm/bin/setupvars.sh
/home/pi/Downloads/inference_engine_vpu_arm/opencv/setupvars.sh

... so I followed the instructions and only updated the one in /bin and not in opencv. I changed the path to /home/pi/ncs2/

after modifying the .bashrc I now get an error message:

Last login: Thu Jan  3 10:12:30 2019 from 192.168.0.27
[setupvars.sh] 64 bitness for Python 3.5 is requred
[setupvars.sh] OpenVINO environment initialized

... I can not find any reference to the 64 bitness error but the next message says OpenVINO is initialized so I continue...

when I try and run the rules script :

sh ~/Downloads/inference_engine_vpu_arm/install_dependencies/install_NCS_udev_rules.sh

... I get an error saying:

Update udev rules so that the toolkit can communicate with your neural compute stick
File '97-myriad-usbboot.rules' is missing. Please check that you installed 'Inference Engine Runtime for Intel® Movidius™ VPU'.
/home/pi/Downloads/inference_engine_vpu_arm/install_dependencies/install_NCS_udev_rules.sh: 30: exit: Illegal number: -1

... so unfortunately I can't continue to test the examples.

Are you able to identify the errors I am seeing?

Would it be possible to write a bash script to automatically modify the toolkit and update the things necessary?

I'd like to set up a cluster of RPi's with Neural Compute Stick v2's

Many thanks for any help

Richard

 

 

 

0 Kudos
Peniak__Martin
Beginner
1,742 Views

OpenVINO does support RPi as a host. I have made two AI Edge cameras and one is based on Raspberry Pi 3 B+ with 2 x NCS 2. All works like a charm. 

https://software.intel.com/en-us/forums/computer-vision/topic/802104

 

0 Kudos
Monique_J_Intel
Employee
1,742 Views

Hi Richard,

The file should be in ~/Downloads/inference_engine_vpu_arm/deployment_tools/inference_engine/external.

The file has the following contents if you want to just create the file manually and put it in the directory mentioned above and rerun the script that'd work to:

SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1"

Also, the reason why you got the error" [setupvars.sh] 64 bitness for Python 3.5 is requred"is on line 106 in the setupvars.sh script (located in the bin directory) is looking for the OS to be Raspbian the python bitness variable to be set to 32 and of course not be empty. So my question to you is what OS are you using and what are the result of you doing:

import sys
sys.maxsize

Another question is are you using Rasberry pi 3B+ or using a rasberry pi with a 64 bit OS? If so, the package won't work as all of the scripts and software dependencies expect for the OS to be 32 bit. However, i'm sure there are some workarounds that can be done to enable 64 bit platforms. I just received the Rpi 3B+ and once I set it up and get it running with OpenVINO I will post a sticky note to an article I'll create showing the steps.

Kind Regards,

Monique Jones

0 Kudos
Jelbert__Richard
Beginner
1,742 Views

Hello Monique

Thanks for the pointers. I started from a fresh Raspbian Stretch November 2018 SD card download and managed to get it working.  I have created a bash script that fully automates the installation process. It is based on your installation notes from an earlier message. See https://github.com/rjelbert/openvino-rpi 

I am building a docker container so I can deploy on our RPi cluster but having USB issues at the moment. More on that later. As such we have tested my install script on Hyperiot OS ( https://blog.hypriot.com/ ) as well as Raspbian Stretch and it works fine (but not yet in a docker container).

Richard

0 Kudos
Keady__Thomas
Beginner
1,742 Views

Monique and Richard, thank you for your help. I am running a Raspberry Pi 3B v1.2 with Raspbian Stretch November 2018 (not sure if its the BCM2836 or BCM2837 because I have a heat sink on it and apparently the OS might incorrectly report it as ARMv7

Running Richard's script at https://github.com/rjelbert/openvino-rpi almost worked out of the box. About halfway through making the face detector test I got a "No space left on device" error. Not sure if this will help others but following the recommendations here from "Anonymousqqq" fixed it. Running Richard's script again did the trick. 

I came here because I was having the same problem that John Lawton is currently having here

Thanks again, 
Thomas

 

0 Kudos
Nunez-Yanez__Jose
New Contributor I
1,742 Views

Hello,

I was wondering if you could comment how you have managed to get this working on a ARM64 raspberry pi 3 b+ ?

The available packages are targeted to the 32-bit architecture but I can see that some people are having success with the raspberry pi 3 b+ that has a Cortex A53 64-bit ?

PS. I guess in the raspberry pi 3 b+ is possible to target the ARMv7 architecture a? 

 

Thanks for your help,

0 Kudos
fu__xiaocong
Beginner
1,742 Views

Hi,

Just managed to enable NCSDK2 and OpenVINO toolkit in an Arm64 machine. Hope it to be helpful.

1. Install a bootable linux system with armhf Debian 9 rootfs, which can be download from https://releases.linaro.org/debian/images/developer-armhf/17.06/

Then install a desktop, for example:

$ sudo apt-get install task-xfce-desktop

 

2. Download NCSDK2

Modify install.sh, uncomment the OS check part in “function check_supported_os()” and in “function install_python_dependencies()”

Edit ncsdk.conf, INSTALL_TENSORFLOW=no

Run sudo make install, you will have error:

cannot stst '/opt/movidius/NCSDK/ncsdk-aarch64/tk': No such file or directory

You should run:

$ cd ~/workspace/ncsdk

$ sudo tar -zxvf NCSDK-2.10.01.01.tar.gz

$ cd NCSDK-2.10.01.01

$ sudo cp -r ncsdk-arm71l ncsdk-aarch64

$ cd ..

$ mv NCSDK-2.10.01.01.tar.gz NCSDK-2.10.01.01.tar.gz.bak

$ tar -zcvf NCSDK-2.10.01.01.tar.gz NCSDK-2.10.01.01

 

$ cd ~/workspace/ncsdk

$ sudo make install

 

3. Install OpenVINO Toolkit

Download OpenVINO Toolkit for Raspbian from: https://download.01.org/openvinotoolkit/2018_R5/packages/l_openvino_toolkit_ie_p_2018.5.445.tgz

Modify inference_engine_vpu_arm/bin/setupvars.sh, In line 63, change "Raspbian" to "Debian"

Modify inference_engine_vpu_arm/deployment_tools/inference_engine/share/InferenceEngineConfig.cmake:

elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")

            set(_ARCH armv7l)

elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")

            set(_ARCH aarch64)

 

elseif (${os_name} STREQUAL "Raspbian 9")

set(_OS_PATH "raspbian_9/")

elseif (${os_name} STREQUAL "Debian 9")

set(_OS_PATH "raspbian_9/")

modify inference_engine_vpu_arm/deployment_tools/inference_engine/samples/CMakeLists.txt:

if(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")

set (ARCH armv7l)

if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")

set (ARCH aarch64)

$ cd ~/workspace/inference_engine_vpu_arm/inference_engine/lib/raspbian_9/

$ sudo cp armv7l/ aarch64

$ cd ~/workspace/inference_engine_vpu_arm/deployment_tools/inference_engine/lib/raspbian_9/

$ sudo cp armv7l/ aarch64

 

Lastly build the demo:

$ cd inference_engine_vpu_arm/deployment_tools/inference_engine/samples

$ ./build_samples.sh

The built demo can be found in: ~/inference_engine_samples_build/aarch64/Release/

 

0 Kudos
Nunez-Yanez__Jose
New Contributor I
1,742 Views

Thanks Fu,

So this setup you have created is working fine on the NCS2 ? I read that the ncsdk is just for NCS1.

Best Regards,

 

 

0 Kudos
Nunez-Yanez__Jose
New Contributor I
1,742 Views

I followed your instructions but my system is ubuntu 16.04 on a 64bit ARM board. 

When I do the final build_samples.sh it errors out trying to link:

root/openvino/inference_engine_vpu_arm/deployment_tools/inference_engine/lib/ubuntu_16.04/aarch64/libinference_engine.so: error adding symbols: File in wrong format
 

Seems obvious that the .so is 32bit but the generated code is 64bit so the cannot be linked.  It seems that this is not a problem in your debian system ? 

0 Kudos
Nunez-Yanez__Jose
New Contributor I
1,742 Views

OK, I can see that your debian is armhf but I only have a toochain for aarch64 so that must be the problem.  Is there anything I can do ?  I cannot change my rootfs. 

0 Kudos
Nunez-Yanez__Jose
New Contributor I
1,371 Views

Hello Intel,

Would it be possible for you to recompile the openvino .so etc for AARCH64, please ?

Hopefully this is not a big ask since you have the sources ready.

Thank you,

0 Kudos
Reply