Automated Facial Recognition Attendance System

by Grazwiss in Circuits > Computers

65 Views, 0 Favorites, 0 Comments

Automated Facial Recognition Attendance System

456.jpg

Introduction


In the 21st century, with advanced technology at our disposal, improving processes like attendance marking is not just possible but necessary. Traditional methods are time-consuming and often lead to lost instructional time. This project introduces an automated system using facial recognition technology to streamline attendance, making it quicker, more accurate, and less disruptive.


Why I Created This Project


As a first-year student in computer science, I am always eager to apply what I learn in practical projects. During my classes, I noticed that a significant amount of time was spent on taking attendance, which could be better utilized for learning. This inspired me to develop an automated attendance system using facial recognition technology. My goal is to create a solution that benefits both students and teachers by making attendance tracking more efficient and allowing more time for educational activities.


Supplies

3.jpg

Brainstorming


While brainstorming the project, I realized I needed reliable and affordable components that could be easily sourced. After researching various options, I settled on using a Raspberry Pi and a high-quality webcam. These components are not only cost-effective but also widely available, making it easy for others to replicate this project.


Materials Required:


  • Raspberry Pi 5
  • Logitech C920s Pro HD Webcam
  • Freenove Project Kit (small LCD display and RGB lights)
  • Laptop
  • Tripod (optional)


Bill of Materials: https://docs.google.com/spreadsheets/d/1BlDbp66P_Iwa-VEPZAdooTdgt5qYiIiZ/edit?gid=1027946977#gid=1027946977

123.jpg
Screenshot_3.png

Data Gathering and Annotation


Collecting and Preparing Data:

1. Data Collection: Gather at least 2000-3000 facial images with the consent of participants. Ensure diverse lighting and angles for robust model training. You can use datasets that can be found online. Here is a website that I found particularly useful: (https://www.kaggle.com/).


2. Data Annotation: Use Roboflow to annotate images by drawing bounding boxes around faces. 


More detailed information can be found here: https://blog.roboflow.com/getting-started-with-roboflow/

Screenshot_4.png
Screenshot_5.png
Screenshot_6.png

 Model Training Training the Recognition Model:


  • Preprocessing and Augmentation: Resize images to 640x640. Apply augmentation techniques like flip, rotation, shear, and brightness to enhance the dataset. 


  • Model Training: Train the model using YOLO v8 in a Python environment. First you export the dataset from Roboflow:

789.jpg

 Integration and Testing Setting Up the System:


  • Hardware Integration: Set up the Raspberry Pi and connect to the LCD display and RGB lights.


  • Software Deployment: Deploy the trained model, make the connection to the Raspberry and enjoy the results. 

For the connection and all the other codes please check my GitHub repository: https://github.com/