Overview
This reference implementation showcases a retail capacity limit application, line monitoring application, one-way monitoring application and social distancing application.
- Retail capacity limit application showcases where a people counter keeps track of how many people are in the store based on the detected people entering and exiting the store. Single virtual line is configured for both entrance and exit areas to indicate the limits of entering and exiting the area of interest.
- One-way retail application monitors if people are walking in the correct direction in a one-way direction store aisle and reports the people walking in the wrong direction.
- Line monitoring retail application counts people standing in, waiting line at a retail store. The application estimates how many people are waiting in a line by doing an intersection between the people detected and a virtual line.
- Social distancing application gives count of people who do not maintain social distance.
Try the reference implementation in the Intel® Developer Cloud for the Edge Container Playground powered by Red Hat* OpenShift*, a Kubernetes* environment for testing containers with Intel® hardware.
How It Works
The application uses the Inference Engine and Model Downloader included in the Intel® Distribution of OpenVINO™ toolkit doing the following steps:
- Ingests video from a file, processing frame by frame.
- Detects people in the frame using a pre-trained DNN model.
- Extracts features from people detected using a second pre-trained DNN in order to do a tracking of the people.
- If analytics field is socialdistancing in the camera_config.json file, then the application computes Euclidean distance between all the people and checks to see whether any people are violating N pixels apart.
- If analytics field is capacitylimit in the camera_config.json file, then the application checks if people cross the predefined virtual gates based on the coordinates and identify in which direction the virtual gate was closed to determine if it is an entry or exit event.
- The people counter is updated based on the entry and exit data.
- If analytics field is capacitylimit in the camera_config.json file, then the application checks if any of the tracked persons are not going in the predefined allowed direction.
- The oneway counter is updated based on the people violating the specified direction.
- If analytics field is linemonitoring in the camera_config.json file, then the application checks for the count of people in the line area. The queue line area is defined by a virtual line in the configuration file. The result of the amount of people in line are showcased in the screen.
- Store total violations count of social distancing data in InfluxDB*.
- Visualize the stored data of InfluxDB on Grafana* dashboard.
The DNN models are optimized for Intel® architecture and are included with the Intel® Distribution of OpenVINO™ toolkit.
Try It
Features
The following are features are included:
- Container Images: grafana:mcss, influxdb:1.8, mcss_covid19_solution:1.0, eclipse-mosquitto:1.5.8
- Software Stack: Intel® Distribution of OpenVINO™ Toolkit (Intel® Deep Learning Streamer [Intel® DL Streamer]), InfluxDB, Grafana, MQTT containers in a Helm-chart
- Task: Object Detection with Intel® DL Streamer (gstreamer pipeline)
- Model Info: Pedestrian detector model with MobileNetV2-like backbone for retail scenario.
- Precisions Supported: N/A
- Outputs: Exposes 2 web-services (URLs). One link showing annotated input streams with fps, bounding boxes for pedestrians with detected violations, and one for Grafana dashboard.
Download
Select Configure & Download to install and run Social Distancing for Retail Settings on your device.
Features
Time to complete: 20-30 minutes
Programming Language: Python* 3
Available Software: The following are included in the Social Distancing for Retail Settings zip file:
- Intel® Distribution of OpenVINO™ toolkit Release
Recommended Hardware
The hardware below is recommended for use with this reference implementation. For other suggestions, see Recommended Hardware.
Learn More
To continue your learning, see the following guides and software resources:
Support Forum
If you're unable to resolve your issues, contact the Support Forum.
Commonly Used Together
Edge Insights for Vision
Deploy and optimize computer vision and deep learning workloads. Run multiple inference workloads on a single chip. Implement as a containerized architecture or stand-alone runtime.