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.

OpenVINO NCS2 on Pi 4 Ubuntu 64bit

Freman
Beginner
2,028 Views

Hi

I'm aware I'm not on an officially supported distro/install method but I was hoping for some pointers in the right direction.

Someone asked a similar question in this thread

https://community.intel.com/t5/Intel-Distribution-of-OpenVINO/How-to-install-Openvino-on-Ubuntu-Arm64-architecture/td-p/1222442

And was directed to look at https://software.intel.com/content/www/us/en/develop/articles/arm64-sbc-and-ncs2.html

I've basically followed that installation method (some tweaks were required, I assumed install_dependancies.sh is now install_build_dependencies.sh)

What I have is an installation that works, or rather doesn't error/crash but isn't doing a very good job of actually functioning

wget https://download.01.org/opencv/2021/openvinotoolkit/2021.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.xml
wget https://download.01.org/opencv/2021/openvinotoolkit/2021.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.bin
wget https://lifeisanepisode.com/wp-content/uploads/girl-gardening.jpg
./object_detection_sample_ssd_c -m face-detection-adas-0001.xml -d MYRIAD -i girl-gardening.jpg


Produces

[ INFO ] InferenceEngine:
2.1.custom_master_4c5568e8584acae3345285f961526c3abe0f1ce0
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ] /home/ubuntu/models/girl-gardening.jpg
[ INFO ] Loading Inference Engine
[ INFO ] Device info:
MYRIAD
myriadPlugin version ......... 2.1
Build ......... custom_master_4c5568e8584acae3345285f961526c3abe0f1ce0
[ INFO ] Loading network:
/home/ubuntu/models/face-detection-adas-0001.xml
[ INFO ] Preparing input blobs
[ WARNING ] Image is resized from (899, 540) to (672, 384)
[ INFO ] Batch size is 1
[ INFO ] Preparing output blobs
[ INFO ] Loading model to the device
[ INFO ] Create infer request
[ INFO ] Start inference
[ INFO ] Processing output blobs
[0, 1] element, prob = 1.000000 (0, 0)-(27, 26) batch id : 0 WILL BE PRINTED!
[1, 1] element, prob = 1.000000 (14, 0)-(46, 25) batch id : 0 WILL BE PRINTED!
[2, 1] element, prob = 1.000000 (35, 0)-(69, 26) batch id : 0 WILL BE PRINTED!
[3, 1] element, prob = 1.000000 (24, -1)-(84, 31) batch id : 0 WILL BE PRINTED!
[4, 1] element, prob = 1.000000 (56, 1)-(90, 25) batch id : 0 WILL BE PRINTED!
[5, 1] element, prob = 1.000000 (78, 0)-(113, 23) batch id : 0 WILL BE PRINTED!
[6, 1] element, prob = 1.000000 (64, -1)-(126, 27) batch id : 0 WILL BE PRINTED!
[7, 1] element, prob = 1.000000 (101, 0)-(138, 21) batch id : 0 WILL BE PRINTED!
[8, 1] element, prob = 1.000000 (121, 0)-(159, 21) batch id : 0 WILL BE PRINTED!
[9, 1] element, prob = 1.000000 (142, 0)-(180, 21) batch id : 0 WILL BE PRINTED!
[10, 1] element, prob = 1.000000 (164, -1)-(203, 21) batch id : 0 WILL BE PRINTED!
[11, 1] element, prob = 1.000000 (184, -1)-(223, 21) batch id : 0 WILL BE PRINTED!
[12, 1] element, prob = 1.000000 (206, -1)-(244, 21) batch id : 0 WILL BE PRINTED!
[13, 1] element, prob = 1.000000 (228, -1)-(266, 22) batch id : 0 WILL BE PRINTED!
[14, 1] element, prob = 1.000000 (249, -1)-(287, 22) batch id : 0 WILL BE PRINTED!
[15, 1] element, prob = 1.000000 (271, -1)-(308, 22) batch id : 0 WILL BE PRINTED!
[16, 1] element, prob = 1.000000 (292, -1)-(330, 22) batch id : 0 WILL BE PRINTED!
[17, 1] element, prob = 1.000000 (313, -1)-(351, 22) batch id : 0 WILL BE PRINTED!
[18, 1] element, prob = 1.000000 (335, -1)-(373, 22) batch id : 0 WILL BE PRINTED!
[19, 1] element, prob = 1.000000 (356, -1)-(394, 22) batch id : 0 WILL BE PRINTED!
[20, 1] element, prob = 1.000000 (377, -1)-(416, 21) batch id : 0 WILL BE PRINTED!
[21, 1] element, prob = 1.000000 (398, -1)-(435, 21) batch id : 0 WILL BE PRINTED!
[22, 1] element, prob = 1.000000 (420, 0)-(455, 21) batch id : 0 WILL BE PRINTED!
[23, 1] element, prob = 1.000000 (441, 0)-(473, 23) batch id : 0 WILL BE PRINTED!
[24, 1] element, prob = 1.000000 (466, 0)-(495, 24) batch id : 0 WILL BE PRINTED!
[25, 1] element, prob = 1.000000 (489, 0)-(517, 24) batch id : 0 WILL BE PRINTED!
[26, 1] element, prob = 1.000000 (510, 0)-(538, 25) batch id : 0 WILL BE PRINTED!
[27, 1] element, prob = 1.000000 (534, 0)-(561, 24) batch id : 0 WILL BE PRINTED!
[28, 1] element, prob = 1.000000 (554, 0)-(581, 24) batch id : 0 WILL BE PRINTED!
[29, 1] element, prob = 1.000000 (574, 0)-(602, 27) batch id : 0 WILL BE PRINTED!
[30, 1] element, prob = 1.000000 (596, 0)-(626, 27) batch id : 0 WILL BE PRINTED!
[31, 1] element, prob = 1.000000 (616, 2)-(647, 31) batch id : 0 WILL BE PRINTED!
[32, 1] element, prob = 1.000000 (634, 0)-(664, 29) batch id : 0 WILL BE PRINTED!
[33, 1] element, prob = 1.000000 (659, 0)-(686, 26) batch id : 0 WILL BE PRINTED!
[34, 1] element, prob = 1.000000 (683, 0)-(711, 27) batch id : 0 WILL BE PRINTED!
[35, 1] element, prob = 1.000000 (703, 0)-(732, 27) batch id : 0 WILL BE PRINTED!
[36, 1] element, prob = 1.000000 (722, 0)-(748, 28) batch id : 0 WILL BE PRINTED!
[37, 1] element, prob = 1.000000 (749, 0)-(776, 26) batch id : 0 WILL BE PRINTED!
[38, 1] element, prob = 1.000000 (764, 1)-(791, 27) batch id : 0 WILL BE PRINTED!
[39, 1] element, prob = 1.000000 (790, 1)-(815, 27) batch id : 0 WILL BE PRINTED!
[40, 1] element, prob = 1.000000 (815, 2)-(839, 28) batch id : 0 WILL BE PRINTED!
[41, 1] element, prob = 1.000000 (828, 0)-(854, 25) batch id : 0 WILL BE PRINTED!
[42, 1] element, prob = 1.000000 (855, 0)-(881, 26) batch id : 0 WILL BE PRINTED!
[43, 1] element, prob = 1.000000 (873, 0)-(899, 28) batch id : 0 WILL BE PRINTED!
[44, 1] element, prob = 1.000000 (0, 20)-(24, 53) batch id : 0 WILL BE PRINTED!
[45, 1] element, prob = 1.000000 (17, 21)-(45, 50) batch id : 0 WILL BE PRINTED!
[46, 1] element, prob = 1.000000 (37, 20)-(68, 47) batch id : 0 WILL BE PRINTED!
[47, 1] element, prob = 1.000000 (57, 20)-(89, 46) batch id : 0 WILL BE PRINTED!
[48, 1] element, prob = 1.000000 (79, 21)-(111, 46) batch id : 0 WILL BE PRINTED!
[49, 1] element, prob = 1.000000 (102, 21)-(133, 47) batch id : 0 WILL BE PRINTED!
[50, 1] element, prob = 1.000000 (124, 21)-(155, 46) batch id : 0 WILL BE PRINTED!
[51, 1] element, prob = 1.000000 (145, 20)-(176, 45) batch id : 0 WILL BE PRINTED!
[52, 1] element, prob = 1.000000 (166, 20)-(197, 45) batch id : 0 WILL BE PRINTED!
[53, 1] element, prob = 1.000000 (187, 20)-(218, 46) batch id : 0 WILL BE PRINTED!
[54, 1] element, prob = 1.000000 (209, 21)-(240, 47) batch id : 0 WILL BE PRINTED!
[55, 1] element, prob = 1.000000 (230, 20)-(261, 46) batch id : 0 WILL BE PRINTED!
[56, 1] element, prob = 1.000000 (251, 20)-(283, 47) batch id : 0 WILL BE PRINTED!
[57, 1] element, prob = 1.000000 (273, 20)-(305, 47) batch id : 0 WILL BE PRINTED!
[58, 1] element, prob = 1.000000 (293, 20)-(326, 47) batch id : 0 WILL BE PRINTED!
[59, 1] element, prob = 1.000000 (315, 20)-(347, 47) batch id : 0 WILL BE PRINTED!
[60, 1] element, prob = 1.000000 (336, 20)-(369, 47) batch id : 0 WILL BE PRINTED!
[61, 1] element, prob = 1.000000 (357, 20)-(390, 47) batch id : 0 WILL BE PRINTED!
[62, 1] element, prob = 1.000000 (379, 20)-(411, 47) batch id : 0 WILL BE PRINTED!
[63, 1] element, prob = 1.000000 (400, 20)-(433, 45) batch id : 0 WILL BE PRINTED!
[64, 1] element, prob = 1.000000 (422, 20)-(453, 46) batch id : 0 WILL BE PRINTED!
[65, 1] element, prob = 1.000000 (445, 21)-(474, 47) batch id : 0 WILL BE PRINTED!
[66, 1] element, prob = 1.000000 (467, 21)-(496, 48) batch id : 0 WILL BE PRINTED!
[67, 1] element, prob = 1.000000 (489, 22)-(518, 48) batch id : 0 WILL BE PRINTED!
[68, 1] element, prob = 1.000000 (511, 22)-(540, 48) batch id : 0 WILL BE PRINTED!
[69, 1] element, prob = 1.000000 (532, 22)-(559, 48) batch id : 0 WILL BE PRINTED!
[70, 1] element, prob = 1.000000 (554, 19)-(580, 47) batch id : 0 WILL BE PRINTED!
[71, 1] element, prob = 1.000000 (576, 18)-(602, 46) batch id : 0 WILL BE PRINTED!
[72, 1] element, prob = 1.000000 (597, 18)-(623, 47) batch id : 0 WILL BE PRINTED!
[73, 1] element, prob = 1.000000 (619, 14)-(646, 43) batch id : 0 WILL BE PRINTED!
[74, 1] element, prob = 1.000000 (638, 18)-(665, 48) batch id : 0 WILL BE PRINTED!
[75, 1] element, prob = 1.000000 (662, 20)-(688, 50) batch id : 0 WILL BE PRINTED!
[76, 1] element, prob = 1.000000 (682, 21)-(708, 51) batch id : 0 WILL BE PRINTED!
[77, 1] element, prob = 1.000000 (704, 17)-(730, 47) batch id : 0 WILL BE PRINTED!
[78, 1] element, prob = 1.000000 (728, 19)-(754, 48) batch id : 0 WILL BE PRINTED!
[79, 1] element, prob = 1.000000 (744, 22)-(769, 51) batch id : 0 WILL BE PRINTED!
[80, 1] element, prob = 1.000000 (768, 18)-(793, 45) batch id : 0 WILL BE PRINTED!
[81, 1] element, prob = 1.000000 (790, 18)-(814, 45) batch id : 0 WILL BE PRINTED!
[82, 1] element, prob = 1.000000 (814, 16)-(837, 44) batch id : 0 WILL BE PRINTED!
[83, 1] element, prob = 1.000000 (835, 19)-(859, 46) batch id : 0 WILL BE PRINTED!
[84, 1] element, prob = 1.000000 (851, 19)-(876, 48) batch id : 0 WILL BE PRINTED!
[85, 1] element, prob = 1.000000 (875, 15)-(899, 46) batch id : 0 WILL BE PRINTED!
[86, 1] element, prob = 1.000000 (0, 36)-(24, 71) batch id : 0 WILL BE PRINTED!
[87, 1] element, prob = 1.000000 (18, 40)-(43, 72) batch id : 0 WILL BE PRINTED!
[88, 1] element, prob = 1.000000 (38, 43)-(64, 72) batch id : 0 WILL BE PRINTED!
[89, 1] element, prob = 1.000000 (60, 44)-(88, 72) batch id : 0 WILL BE PRINTED!
[90, 1] element, prob = 1.000000 (83, 45)-(110, 73) batch id : 0 WILL BE PRINTED!
[91, 1] element, prob = 1.000000 (101, 44)-(130, 70) batch id : 0 WILL BE PRINTED!
[92, 1] element, prob = 1.000000 (125, 42)-(152, 69) batch id : 0 WILL BE PRINTED!
[93, 1] element, prob = 1.000000 (148, 44)-(176, 70) batch id : 0 WILL BE PRINTED!
[94, 1] element, prob = 1.000000 (168, 44)-(195, 70) batch id : 0 WILL BE PRINTED!
[95, 1] element, prob = 1.000000 (190, 43)-(217, 69) batch id : 0 WILL BE PRINTED!
[96, 1] element, prob = 1.000000 (211, 42)-(239, 67) batch id : 0 WILL BE PRINTED!
[97, 1] element, prob = 1.000000 (233, 42)-(260, 68) batch id : 0 WILL BE PRINTED!
[98, 1] element, prob = 1.000000 (252, 43)-(280, 69) batch id : 0 WILL BE PRINTED!
[99, 1] element, prob = 1.000000 (276, 42)-(303, 68) batch id : 0 WILL BE PRINTED!
[100, 1] element, prob = 1.000000 (296, 42)-(323, 68) batch id : 0 WILL BE PRINTED!
[101, 1] element, prob = 1.000000 (318, 41)-(345, 68) batch id : 0 WILL BE PRINTED!
[ INFO ] Image out_0.bmp created!
[ INFO ] Execution successful

But the image ends up looking like

 

out_0.jpg


Platform: Raspberry Pi 4 Model B Rev 1.4 (8 gig)

OS: Ubuntu 20.04 LTS 64-bit

CPU: ARM Cortex-A72 (aarch64)

 

Any tips? This is my third install. I do know that I can install the 32 bit version of raspberry pi os and follow the regular install of the OpenVINO toolkit for that OS and it works perfectly but I wanted to see if I could get the 64 bit version going to make full use of the 8 gigs of memory.

Cheers.

0 Kudos
9 Replies
Iffa_Intel
Moderator
2,011 Views

Greetings,


The abnormalities are expected as only Ubuntu 18.04 is validated to be fully compatible with Openvino.

You may refer here for more: https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_linux.html


My suggestion is, you can try to use Ubuntu 18.04-64bit instead or use Raspbian.


Guide for Raspbian: https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_raspbian.html



Sincerely,

Iffa




0 Kudos
Freman
Beginner
2,007 Views

Thanks for the feedback @Iffa_Intel I've rebuilt from scratch on ubuntu 18.04 64bit and have the same problem, I even tried from git as it appears there aren't any aarch64 builds available

0 Kudos
Iffa_Intel
Moderator
2,001 Views

Another thing to note that the Ubuntu 18.04 is fully validated with OpenVINO NOT on Raspberry pi.


I noticed that you are using face detection model which you converted to IR with object detection sample ssd.


Instead using this pair of combination (as object detection mainly focuses to detect object instead of faces), try this:


Interactive face detection: https://www.youtube.com/watch?v=HEntm0TUqM8 OR

Python face recognition: https://www.youtube.com/watch?v=zgOoSjwMTLE OR

Object detection: https://www.youtube.com/watch?v=oSk3NMZCsv0


These videos would show you the specific model with specific compatible sample to be used with.


Sincerely,

Iffa


0 Kudos
Freman
Beginner
1,989 Views

Every time I go down the python route it ends in a dumpster fire.

I tried your object detection video but, couldn't satisfy tensorflow dependancy, so I figured I'd optimise the models on my macbook, download the mac installer, start going through it's steps... get to

/opt/intel/openvino_2021/deployment_tools/model_optimizer/install_prerequisites$ ./install_prerequisites.sh and get

ERROR: Could not find a version that satisfies the requirement mxnet<=1.5.1,>=1.0.0 (from -r /opt/intel/openvino_2021.1.110/deployment_tools/model_optimizer/install_prerequisites/../requirements.txt (line 3)) (from versions: 1.6.0, 1.7.0.post1)
ERROR: No matching distribution found for mxnet<=1.5.1,>=1.0.0 (from -r /opt/intel/openvino_2021.1.110/deployment_tools/model_optimizer/install_prerequisites/../requirements.txt (line 3))

I noticed the scripts in the video require tensorflow 1.x
openvino goes ahead and installs tensorflow 2.x

Nothing against you personally, but I have to ask.
Why is this such a mess? Could you imagine the community you could build if the tooling wasn't.... *waves hands* this?

0 Kudos
Freman
Beginner
1,985 Views

Hmm it's probably worth noteing

 

From the raspberry pi setup instructions...

 

  1. ./armv7l/Release/object_detection_sample_ssd -m face-detection-adas-0001.xml -d MYRIAD -i <path_to_image>
0 Kudos
Freman
Beginner
1,984 Views

Which also don't work.

Step by step following those instructions on a fresh install of raspbian 32bit...

https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_raspbian.html

-- Found InferenceEngine: /opt/intel/openvino/deployment_tools/inference_engine/lib/armv7l/libinference_engine.so (Required is at least version "2.1")
CMake Warning at /opt/intel/openvino/deployment_tools/inference_engine/share/ie_parallel.cmake:6 (find_package):
By not providing "FindTBB.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "TBB", but
CMake did not find one.

Could not find a package configuration file provided by "TBB" with any of
the following names:

TBBConfig.cmake
tbb-config.cmake

Add the installation prefix of "TBB" to CMAKE_PREFIX_PATH or set "TBB_DIR"
to a directory containing one of the above files. If "TBB" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
/opt/intel/openvino/deployment_tools/inference_engine/share/InferenceEngineConfig.cmake:170 (include)
CMakeLists.txt:141 (find_package)


CMake Warning at /opt/intel/openvino/deployment_tools/inference_engine/share/InferenceEngineConfig.cmake:32 (message):
TBB was not found by the configured TBB_DIR/TBBROOT path. SEQ method will
be used.
Call Stack (most recent call first):
/opt/intel/openvino/deployment_tools/inference_engine/share/ie_parallel.cmake:14 (ext_message)
/opt/intel/openvino/deployment_tools/inference_engine/share/InferenceEngineConfig.cmake:170 (include)
CMakeLists.txt:141 (find_package)

0 Kudos
Freman
Beginner
1,980 Views

Sigh, even the dockerfile provided here is borked https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_docker_linux.html

Fetched 36.1 MB in 20s (1808 kB/s)
Reading package lists...
+ apt-get install -y --no-install-recommends python3-pip python3-dev libpython3.6=3.6.9-1~18.04
Reading package lists...
Building dependency tree...
Reading state information...
E: Version '3.6.9-1~18.04' for 'libpython3.6' was not found

 

0 Kudos
Iffa_Intel
Moderator
1,948 Views

Greetings,

The object detection ssd sample works fine on my end with the face detection model.

Check out my attachments.

Please help to carefully study this official documentation: 

https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_raspbian.html

 

Plus, regarding your error, you need to properly install and setup Python 3.6.

NOTE THAT only these are supported for Raspbian(all are emphasized in the documentation)

Operating Systems

  • Raspbian* Buster, 32-bit
  • Raspbian* Stretch, 32-bit

 

 

 

Sincerely,

Iffa

0 Kudos
Iffa_Intel
Moderator
1,932 Views

Greetings,


Intel will no longer monitor this thread since we have provided a solution. If you need any additional information from Intel, please submit a new question.


Sincerely,

Iffa


0 Kudos
Reply