Skip to content

ElisaCovato/Smart-Queuing-System---Intel-Edge-AI-Nanodegree

Repository files navigation

Smart Queuing System

Project 2 of the Intel® Edge AI for IoT Developers Nanodegree Program.

Smart Queueing System demo

The project

The aim of the project is to develop a smart queuing system and choose the appropriate hardware for three different scenarios:

To meet the customer requirements and constraints for each scenario, the system is tested on CPU, Integrated GPU, VPU and FPGA.

Project steps

The project has been developed following the steps below.

Choose best hardware

A best hardware choice has initially been determined based on the requirements and needs for each scenarios.

The initial choice is documented in the hardware choice document.

Build application

For the three scenario, the main script is person_detect.py. The detection model used is the pre-trained person-detection-retail-0013, based on MobileNetV2-like backbone.

To test the script in the three different scenarios, use the following command:

python3 person_detect.py --model <path_to_the_model> --video ./scenarios/<scenario>/<scenario>_original.mp4 --queue_param ./scenarios/<scenario>/<scenario>_queue_param.npy

Compare performance

The performance of the application has been tested using the Udacity workspace provided with IEI Tank AIOT Developer Kit. The queue_job.sh script is used to submit job to Intel DevCloud and then the result are collected once the job is finished.

The tested devices for each scenario are:

Revise hardware choice

After testing the performance for each device, the initial hardware choice has been reviewed and both the testing and the revision are documented in the hardware choice document.