There are different ways to enable access control and personalize common objects (physical key, pin code, fingerprint or face authentication). Face recognition is the most convenient way to authenticate users because it is immediate, touchless, and secure (biometric data).

Approach

Frames are grabbed from a camera input (/dev/videox) and processed by two neural network models (face detection and face recognition) interpreted by theTensorFlow Lite runtimeframework.
A GStreamer pipeline is used to stream camera frames (using v4l2src), to display a preview (using waylandsink), and to execute neural network inference (using appsink).
The result of the inference is displayed using overlay generated by GtkWidgets with Cairo.

use-case-ai-for-linux-face-recognition-pipeline use-case-ai-for-linux-face-recognition-pipeline use-case-ai-for-linux-face-recognition-pipeline

Pipeline

Sensor

USB webCam or built-in camera.

Data

Data format RGB888 color input image with resolution of 96x96 

Results

Model: Custom CNN for face detection and for face recognition 
Results on STM32MP157F (High-perf) 
The average execution frame rate to execute both face detection and face recognition on1 faceis around 5 fps 
- Face detection execution time ~ 70 ms 
- Face recognition execution time ~ 55 ms 

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

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

Smart mirrors for fitness: pose estimation and multi-person tracking

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

Object detection | Vision | STM32Cube.AI | Idea | GitHub | Video | Dataset | Smart building

Personal protective equipment detection

Detection of personal protective equipment on workers using an object detection AI model.

Smart city | Smart home | Smart office | Context awareness | Vision | AI for Linux | Idea | Video

People detection and counting solution

Optimized computer vision using an MPU running at 8 FPS.