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.

Raspberry Pi 4, 64bit, Arm8 and OpenVino

Isaac_s__Paul
Beginner
3,564 Views

I'm REALLY hoping that now the RPi4 with Arm8 is shipping that OpenVino and the Neural Compute Stick 2 software/libraries are updated to run 64bit on a real 64bit OS rather than the current Arm7/32bit.

I know it's not an 'Intel' CPU but the sheer quantity of devices out there says the number of NCS2 unit sales would jump significantly!

So, Intel, what's the timeline for supporting Arm8/64bit?

0 Kudos
6 Replies
Dmitry_K_Intel3
Employee
3,567 Views

1) OpenVINO is open source library. You can build it for every platform: https://github.com/opencv/dldt

2) Raspberry Pi 3 already had ARMv8 CPU. Raspbian OS is a 32-bit OS that is why CPU is detected as ARMv7

3) New version, Raspbian 10 (Buster) has no huge difference with previous one (Raspbian 9, Stretch). You can try to build existing Raspbian 9 binaries. Source: https://www.raspberrypi.org/blog/buster-the-new-version-of-raspbian/

0 Kudos
Isaac_s__Paul
Beginner
3,567 Views

There are some Python 3.5 .so compiled library files in the OpenVINO package.

The OpenVINO setupvars script specifically checks for Raspbian version '9' otherwise the script points to x86 library locations rather than arm7l. Changing the '9' to '10' does repoint but...

Trying to compile Python 3.5.7 from source highlights that libssl has been upgraded from Raspbian 9 to Raspbian 10 and so the compile fails with ssl test certificates being too short (1024 bits rather than the new requirement of >2048 bits). Using ssl files from Python 3.7.4 in place of ssl files in Python 3.5.7 is no good because the code has been developed with some functions that were only introduced in Python 3.6!

So, please please can we have the source files for the 3.5 .so compiled library - or release a new version of OpenVino that will work on the Raspberry Pi 4.

Also, the Raspberry Pi platform is only being used as an inference model loader into the NCS2, i.e. no OpenVino training of models can be carried out on this platform. Yet, by comparison, the Google Coral TPU with Raspberry Pi combo Does allow training to take place.

If you say 'Open' in your package 'OpenVino' then please be 'Open'!

 

0 Kudos
Michael_H_14
Beginner
3,567 Views

I have openvino currently working on the new PI4. I had to recompile everything from scratch. Here is how you do it:

1. Download & install the latest raspbian image: https://www.raspberrypi.org/downloads/raspbian/

2. Clone & build openvino (dldt) and follow instructions at: https://github.com/opencv/dldt/tree/2019/inference-engine#native-compilation

3. Call cmake with these flags:

cmake -DCMAKE_BUILD_TYPE=Release \

-DENABLE_SSE42=OFF \

-DTHREADING=SEQ \

-DENABLE_GNA=OFF \

-DENABLE_OPENCV=OFF \

-DENABLE_PYTHON=ON \

-DPYTHON_EXECUTABLE=/usr/bin/python3.7 \

-DPYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \

-DPYTHON_INCLUDE_DIR=/usr/include/python3.7 \

.. && make -j4

4. Then refer to this link to build opencv 4.1: https://www.pyimagesearch.com/2018/09/26/install-opencv-4-on-your-raspberry-pi/

cmake -D CMAKE_BUILD_TYPE=RELEASE \

    -D CMAKE_INSTALL_PREFIX=/usr/local \

    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \

    -D ENABLE_NEON=ON \

    -D ENABLE_VFPV3=ON \

    -D BUILD_TESTS=OFF \

    -D OPENCV_ENABLE_NONFREE=ON \

    -D INSTALL_PYTHON_EXAMPLES=OFF \

    -D WITH_INF_ENGINE=ON \

    -D INF_ENGINE_LIB_DIRS="/home/pi/dldt/inference-engine/bin/armv7l/Release/lib" \

    -D INF_ENGINE_INCLUDE_DIRS="/home/pi/dldt/inference-engine/include" \

    -D CMAKE_FIND_ROOT_PATH="/home/pi/dldt/inference-engine/" \

    -D BUILD_EXAMPLES=OFF ..

5. Test your installation with this example: https://www.pyimagesearch.com/2019/04/08/openvino-opencv-and-movidius-ncs-on-the-raspberry-pi/

6. Note that you won't have the setupvars.sh script. Instead just add this to your .bashrc or .profile:

# libraries
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib:/home/pi/dldt/inference-engine/bin/armv7l/Release/lib"

0 Kudos
NicolaReina
Employee
3,567 Views

Hi do you see significative improvements wotrh the compile on PI4?

0 Kudos
GM__Durga_Prasanna
3,567 Views

Hi, 

I bought Raspberry 4 and NCS 2. I want to install and run openvino object detection samples using usb camera. It will be very helpful if you could pointing me to right direction. 

Thanks & Regards,

Prasanna

0 Kudos
cheiser
Beginner
3,372 Views

Any updates on this?  I tried following the suggestions from earlier in the thread but this doesn't work with RPi4 and the recent 64-bit Raspian release.  I would really like to benchmark the NCS2 performance with the full 64-bit platform.  Thanks, -ch

0 Kudos
Reply