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