I am running OpenVino R2 2019 on Raspberry Pi 3 B+ and performed inference using pre-trained intel model 'person-detection-retail-0013'.
The recorded approximate inference time using NCS1 was 1.94 fps, while using NCS2 1.93 fps.
... # Specify target device self.net.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD) ...
# Prepare input blob and perform an inference. blob = cv.dnn.blobFromImage(frame, size=(672, 384), ddepth=cv.CV_8U) self.net.setInput(blob) out = self.net.forward()
What is the problem here, NCS2 should be much faster? Is it Raspberry pi USB bottleneck, usage of OpenVino's R2 version or something else?
Thanks for reaching out. It is possible that the USB ports of Raspberry Pi, don't have the power required for the NCS2, I recommend you use a power USB hub. Also, updating to the latest version (2020.1.023) of OpenVINO™ Toolkit for Raspbian* OS and using the Inference Engine instead of the OpenCV DNN library.
Thanks for your answer.
According to the official RPI specifications: The Raspberry Pi 3 B+ can supply 1.2 A to downstream USB peripherals.
Since I am not using any other USB peripherals except NCS2 how is that not enough to run it properly? Can you give me some power/current requirements for NCS2?
You should be able to find the specs on the Platform Configurations documentation.
With the model mentioned above, I got the following results using the OpenVINO toolkit 2020.1 for Raspbian OS pre-built package.. Please note that results will very depending on the model.
Intel Movidius NCS: 7.04 FPS
Intel NCS 2: 13.70 FPS.
I used the benchmark_app and the following command.
./benchmark_app -d MYRIAD -m person-detection-retail-0013.
Hope this helps!