The main purpose of this application is to detect and count people in a given area using an NN model running on an STM32MP1 MPU. The results are displayed on a host PC through a local ethernet connection to ensure data privacy. Non-sensitive data are transferred between the edge device and the host.

Approach

This people counting demonstration was designed to highlight several interesting features offered by STM32MP1 MPU in Artificial intelligence, computer vision, and connectivity use cases. The STM32MP1x is used as a headless camera device that will compute video frames and transfer non-sensitive data to another device via a local ethernet connection for restitution, in order to protect people privacy. 
STM32MP1x MPU:  
- Camera streaming via camera pipeline. 
- Neural Network inference for people detection and counting (reached 8fps ). 
- Ethernet connectivity to transfer people coordinate that will be computed on the edge. 
- Data privacy: no sensitive data are transferred between the 2 devices. 
Computer: 
- Ethernet connectivity via in-house protocol to retrieve coordinate data from the STM32MP1x. 
- GUI to display the information of the people coordinates in a virtual environment (picture of the empty scene is retrieved only once when the demo is installed). 
- GUI to control the STM32MP1x MPU to tune computing behavior based on user constraints (people area counting, ). 

Sensor

USB webcam or built-in camera.

Data

Data format
RGB image 
Image size: 240x240 

Results

Model: ST INTERNAL Yolo_LC 
Results on STM32MP157F (High-perf) 
Inference time: 125 ms
Frame rate: 8 fps
Optimized with
AI for OpenSTLinux
AI for OpenSTLinux
Compatible with
STM32MP1 series
STM32MP1 series

Resources

Optimized with AI for OpenSTLinux

X-LINUX-AI is an STM32 MPU OpenSTLinux expansion package for running AI models on STM32MP1 microprocessors. It contains Linux® AI frameworks, as well as application examples.

AI for OpenSTLinux AI for OpenSTLinux AI for OpenSTLinux

Compatible with STM32MP1 series

STM32MP1 microprocessor series from single Arm® Cortex®-A7 up to dual Arm® Cortex®-A7 and Cortex®-M4 cores A general-purpose microprocessor portfolio enabling easy development for a broad range of applications, the STM32MP1 series has the ability to support multiple and flexible applications, achieving the best performance and power figures at any time.

STM32MP1 series STM32MP1 series STM32MP1 series
You might also be interested by

Partner | Smart city | Transportation | Vision | STM32Cube.AI | STM32 AI MCU | Video

Number-Plate Recognition (ANPR) based on Vision AI by Irida Labs

Vision AI-powered solution for Automatic Number-Plate Recognition (ANPR) for smart city applications, running on STM32 MCUs

Entertainment | Image recognition | Vision | STM32Cube.AI | Demo | Tutorial | GitHub | Video

AI-powered smart fitness mirror with pose estimation

Track and analyze users' body movements to provide feedback on exercise with STM32N6 at 28 FPS.

Predictive maintenance | Accelerometer | NanoEdge AI Studio | Video | Partner | Industrial

How to implement on-device anomaly detection with rtone and NanoEdge AI studio on STM32 mcus

Anomaly detection solution on industrial equipment, running on STM32 MCU.