Facial Recognition Security System

Cover

The Artificial Intelligence Learning (AI) + Machine Learning Kit

Cover

Instruction and resources

Project Overview

This project focuses on developing a face recognition program capable of identifying human faces in images and determining if faces in different images are the same person. It involves comparing facial features and storing patterns in a database, teaching data management through adding or deleting entries. The system will be upgraded to perform real-time recognition and integrate with hardware for practical use.

Hardware

The following components will be prepared in the kit for this project:

  • Breadboard

  • STEPico development board

  • Multiple jumper wires

  • A SG90 servo

  • A Buzzer

  • ST7789 display

  • A USB cable

Breadboard, STEPico, ST7789 display, Buzzer Servos and accessories, jumper wires, USB cable

Tutorial

In the previous chapters, we gradually became more familiar with the process of information transmission between software and hardware via serial communication, as well as how to utilize microcontrollers to precisely control various types of hardware. These chapters laid the foundation for understanding how hardware and software can work together seamlessly to perform complex tasks.

The Learning Part

Setting Up Your Environment

Setting Up Your Development Environment

To start programming on the Cursor IDE for your Raspberry RP2040 microcontroller project, ensure you have Python version 3.9 or 3.10 installed. You'll need to set up your virtual environment with the following command:

pip3 install opencv-python mediapipe pyserial insightface

The Employee Management System is an essential component for maintaining and updating our facial recognition database. Its key functionalities include:

  1. Displaying a comprehensive list of all registered employees

  2. Facilitating the deletion of employee records when necessary

  3. Enabling the editing of employee names while preserving their associated facial data

  4. Ensuring persistent storage and efficient retrieval of the employee database

This program directly supports our main facial recognition program (face_detect.py) by ensuring that it always has access to the most current and accurate employee information. The Employee Management System allows for ongoing updates to the database, which is critical for maintaining the effectiveness of our facial recognition capabilities over time.

Hardware Setup

The hardware component is built around a microcontroller that interfaces with several peripherals, including a display screen, LEDs, a servo motor, and a buzzer. This setup allows the system to provide visual feedback, control access, and alert users or administrators when necessary. The microcontroller communicates with the main facial recognition software, receiving status updates and personnel information, which it then translates into physical actions and visual displays.

After you complete the project, it looks like the following:

  1. When the program detects you, the buzzer remains silent, and your name is displayed on the

  1. When the program detect any non-register person, the LED lights will turn to red while the buzzer sounds the alarm, and the warning text will be displayed on the ST7789 display.

Video Walkthrough

Last updated

Was this helpful?