Why does fps onscreen of video very different from fps printed when using -show_stats or -real_input_fps with face detection models? Openvino on FPGA vs CPU: face-detection-adas-001 vs face-detection-retail-0004
Hardware/Software Used
Intel® Distribution of OpenVINO™ Toolkit 2018 R5
Intel® Vision Accelerator Design with Intel® Arria® 10 FPGA (IEI's Mustang-F100-A10)
What I did: Run the face detection model, both while having the video play and show fps on the screen, and without showing the video (using -no_show) and printing fps numbers with either -real_input_fps or -show_stats.
QUESTION: Showing FPS on screen (by omitting no_show flag) doesn’t always give same number as –real_input_fps (retail-0004) and –show_stats (adas-0001). Can vary by 50-100 fps. Is there a reason for this? What does each FPS value (from the flags, higher vs. printed on the video while inference is running, lower) indicate?
Notes / Appendix:
Multiple Videos Processed at Once – Face Detection
Used face-detection-adas-0001
ieisw@ieisw-SER0:~/inference_engine_samples/intel64/Release$
Command:
./multi-channel-demo -m $mFDA32 -i ~/FPGA_POV1/brooklyntest.mp4 ~/FPGA_POV1/brooklyntest.mp4 ~/FPGA_POV1/brooklyntest.mp4 ~/FPGA_POV1/brooklyntest.mp4 ~/FPGA_POV1/brooklyntest.mp4 -nc 0 -no_show -show_stats -d HETERO:FPGA,CPU
Omit -no_show to see real time face detection, used -show_stats to get FPS measurements.
This multi-channel demo supports 25 video files and/or 16 camera streams (still need to test streams).
Multiple Videos Processed at Once – Face Detection
Using face-detection-retail-0004
Using this flag:
-real_input_fps Disable input frames caching, for maximum throughput pipeline
Got FPS for both FPGA in hetero mode and CPU
Command:
./multi-channel-demo -m /opt/intel/computer_vision_sdk/deployment_tools/intel_models/face-detection-retail-0004/FP32/face-detection-retail-0004.xml -i ~/FPGA_POV1/brooklyntest.mp4 -nc 0 –real_input_fps -d HETERO:FPGA,CPU –no_show