AI on STM32 : People Counting Demonstration - Advanced model detection in computer vision
Channel: STMicroelectronics
Date: 2021-09-02

- Find out more information: 
https://bit.ly/CountingAI
https://bit.ly/fp-ai-vision1

This video shows our demo for people counting that leverages our function pack, FP-AI-VISION1.

FP-AI-VISION1 is an STM32Cube function pack featuring examples of computer vision applications based on Convolutional Neural Network (CNN). FP-AI-VISION1 is composed of software components generated by the X-CUBE-AI Expansion Package complemented with application software components dedicated to the AI-based computer vision application.
The application examples provided in the function pack are food recognition (recognizing among 18 classes of common food), person presence detection (identifying whether a person is present in the image or not), and people counting (counting the number of persons in a scene) based on an object detection Neural Network model.
FP-AI-VISION1 implements advanced computer vision application using STM32_AI_Runtime Neural Networks libraries. Libraries are based on pre-trained models and are generated with the X-CUBE-AI Expansion Package for the STM32CubeMX tool.
The function pack demonstrates the integration of two types of Neural Network model: 32-bit floating-point model and 8-bit quantized model. It also demonstrates model integration in different memory configurations (relying only on MCU internal memory or using also external memories).
The FP-AI-VISION1 function pack features an image library, STM32_Image, that can be used to develop specific computer vision applications, together with the suggested combination of hardware boards. It includes various processing functions to process the content of the frame buffer.
The FP-AI-VISION1 function pack also includes the drivers for the camera as well as the framework for capturing images into the frame buffer, preprocessing the content of the frame buffer, and running the Neural Network inference.
The FP-AI-VISION1 function pack features a USB webcam application, which can be used to create image and video datasets as well as to perform live testing on the host. The FP-AI-VISION1 runs on the STM32H747I-DISCO Discovery board connected to the B-CAMS-OMV camera module bundle (advised) or STM32F4DIS-CAM camera daughterboard (legacy only).

Features 
Complete firmware to develop a computer vision application on STM32 microcontroller
Image pre-processing library (STM32_Image)
Neural Network library optimized for STM32 (STM32_AI_Runtime) generated by means of the X-CUBE-AI Expansion Package for STM32CubeMX
Food recognition application based on Convolutional Neural Network
Person presence detection application based on Convolutional Neural Network
People counting application based on object detection Neural Network model
USB webcam application enabling the STM32H747I-DISCO board to act as a USB video camera (UVC) device when connected to a host
Integration examples based on float and quantized models
Libraries enabling the test, debug and validation of the embedded application
Support for camera frame capture to enable image dataset collection
Sample implementations available for the STM32H747I-DISCO Discovery board connected to the B-CAMS-OMV camera module bundle
Free and user-friendly license terms