Smart cities Smart offices Smart homes AI for Linux Context awareness Vision

People detection and counting solution

Optimized computer vision using an MPU running at 8 FPS.

People detection and counting solution People detection and counting solution
People detection and counting solution People detection and counting solution
Smart cities Smart offices Smart homes AI for Linux Context awareness Vision
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

Optimized with

Compatible with

STM32MP1 series

Compatible with

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.

Optimized with 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.

Compatible with STM32MP1 series

You also might be interested by

Industrial | Smart offices

Low-power anomaly detection on a fan

Low-power anomaly detection solution running on a sensor.

Industrial | Smart offices | Smart buildings | Smart homes

Face identification with ID3 Technologies

End-to-end AI solution for face identification running on STM32 microcontrollers.

Industrial | Smart cities

Direct current arc faults detection

Build your own arc fault detection mechanism with edge AI.