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

Vision | Tutorial | GitHub | Appliances | Smart city | STM32Cube AI Studio | Object detection | STM32 AI MCU

How Edge AI Cameras are changing the future of smart retail

Detect and count fridge beverages fully on-device for smarter retail inventory, with Camthink's NE301

Vision | STM32Cube.AI | STM32 AI MCU | Partner | Video | Smart home | Smart building

How to personalize smart home with familiar face identification

embedUR's on-device face authentication embedded on STM32N6 with easy mobile enrollment

Vision | STM32Cube.AI | STM32 AI MCU | Partner | Smart home | Wearables | Microphone | Accelerometer | Tutorial

Handheld development platform for real-time vision, motion, and voice at the edge

All‑in‑one STM32N6‑based platform for on‑device edge AI with NPU acceleration