All Projects → Madhubalajb → FaceNet-based-Attendance-System

Madhubalajb / FaceNet-based-Attendance-System

Licence: other
Deep Learning based Web Application for marking attendance of students by recognizing the student's faces from the surveillance video footage of classroom.

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to FaceNet-based-Attendance-System

Facenet
Face recognition using Tensorflow
Stars: ✭ 12,189 (+48656%)
Mutual labels:  face-recognition, facenet, mtcnn
facenet-pytorch-glint360k
A PyTorch implementation of the 'FaceNet' paper for training a facial recognition model with Triplet Loss using the glint360k dataset. A pre-trained model using Triplet Loss is available for download.
Stars: ✭ 186 (+644%)
Mutual labels:  face-recognition, facenet
disaster-crawler
Data sources from Kimono currently unavailable
Stars: ✭ 13 (-48%)
Mutual labels:  ajax, web-application
Face-Recognition-Jetson-Nano
Recognize 2000+ faces on your Jetson Nano with database auto-fill and anti-spoofing
Stars: ✭ 63 (+152%)
Mutual labels:  face-recognition, mtcnn
FaceIDLight
A lightweight face-recognition toolbox and pipeline based on tensorflow-lite
Stars: ✭ 17 (-32%)
Mutual labels:  face-recognition, mtcnn
FaceNet-IOT
IOT implementation for FaceNet project by David Sandberg https://github.com/davidsandberg/facenet
Stars: ✭ 18 (-28%)
Mutual labels:  face-recognition, facenet
FaceRecognitionCpp
Large input size REAL-TIME Face Detector on Cpp. It can also support face verification using MobileFaceNet+Arcface with real-time inference. 480P Over 30FPS on CPU
Stars: ✭ 40 (+60%)
Mutual labels:  face-recognition, mtcnn
Facerecognition
Webcam face recognition using tensorflow and opencv
Stars: ✭ 192 (+668%)
Mutual labels:  face-recognition, mtcnn
Face-Recognition-FaceNet
A python script label faces in group photos using Facenet. 🎉
Stars: ✭ 21 (-16%)
Mutual labels:  facenet, mtcnn
Facial-Recognition-Using-FaceNet-Siamese-One-Shot-Learning
Implementation of Facial Recognition System Using Facenet based on One Shot Learning Using Siamese Networks
Stars: ✭ 104 (+316%)
Mutual labels:  face-recognition, facenet
SensorsAndAi
SensorAndAi is an android application which will give you the complete information about all the sensors and some basic information about artificial intelligence.This application will tell you about the use and implementation of the sensor and artificial intelligence.This app will show you how sensor and artificial intelligence is used in any an…
Stars: ✭ 29 (+16%)
Mutual labels:  web-application, face-recognition
DeepFaceRecognition
Face Recognition with Transfer Learning
Stars: ✭ 16 (-36%)
Mutual labels:  face-recognition, facenet
Klik Socialmediawebsite
Complete PHP-based Login/Registration system, Profile system, Chat room, Forum system and Blog/Polls/Event Management System.
Stars: ✭ 129 (+416%)
Mutual labels:  ajax, web-application
Flight-Booking-System-JavaServlets App
✈️ An enterprise level Flight Booking System for Turkish Airlines (web-application) based on the Model View Controller (MVC) Architecture made using Java Servlets, Java Server Pages (JSPs). Moreover authentication and authorization for users is implemented. The web-application is also secured against SQL Injection and Cross-Site Scripting attacks.
Stars: ✭ 107 (+328%)
Mutual labels:  ajax, web-application
Openface
Face recognition with deep neural networks.
Stars: ✭ 14,249 (+56896%)
Mutual labels:  face-recognition, facenet
FaceRecog
Realtime Facial recognition system using Siamese neural network
Stars: ✭ 47 (+88%)
Mutual labels:  face-recognition, facenet
Face
I have published my face related codes in this repository
Stars: ✭ 53 (+112%)
Mutual labels:  facenet, mtcnn
Facenet Pytorch
Pretrained Pytorch face detection (MTCNN) and facial recognition (InceptionResnet) models
Stars: ✭ 2,564 (+10156%)
Mutual labels:  face-recognition, mtcnn
teaching-web-technologies-spring-2019-2020
Core PHP web project
Stars: ✭ 10 (-60%)
Mutual labels:  ajax, web-application
Nearest-Celebrity-Face
Tensorflow Implementation of FaceNet: A Unified Embedding for Face Recognition and Clustering to find the celebrity whose face matches the closest to yours.
Stars: ✭ 30 (+20%)
Mutual labels:  face-recognition, facenet

FaceNet based Attendance System

A Deep Learning based Web Application for marking attendance of students by recognizing the student's faces from the surveillance video footage of classroom.

Getting Started

A Web Application in Python for recognizing student's faces in a classroom from the surveillance video and marking the attendance in an Excel Sheet. Deep learning algorithms like MTCNN and FaceNet are used for face detection and recognition respectively. And using the Flask framework, the Web App was created.

Algorithms Used

  • MTCNN (Multi-Task Cascaded Convolutional Neural Networks)
  • FaceNet

Prerequisites

The following things needs to be installed properly in your machine.

  • Tensorflow
  • Python
  • Flask
  • scipy
  • opencv
  • h5py
  • matplotlib
  • Pillow
  • requests
  • psutil

For installing the packages use pip install command.

How to use

Step 1: Prepare Dataset

The required number of images (atleast 10) for each students should be collected and stored in seperate folders. The folders should be named in the respective students name. The path to folders can be Root_folder/attendance/facenet/dataset/raw/

raw_folder

Step 2: Detect and Align Faces

Here the MTCNN face detection algorithm is used. It takes Root_folder/attendance/facenet/dataset/raw/ as input and returns Root_folder/attendance/facenet/dataset/aligned/ as output. Basically, it detects the faces, aligns face region of each image and store it in the aligned directory.

Run the following command in the command prompt.

$ python attendance/facenet/src/align/align_dataset_mtcnn.py 
attendance/facenet/dataset/raw attendance/facenet/dataset/aligned 
--image_size 160 --margin 32

aligned_folder

aligned_faces

Step 3: Training The Faces

The output dataset from Step 2 are fed into the Support Vector Machine classifier which generates a 512 dimensional embedding vector for faces of each students and trains the classifier on the generated vectors.

Run the following commands in the command prompt.

$ python attendance/facenet/src/classifier.py TRAIN 
attendance/facenet/dataset/aligned attendance/facenet/src/20180402-114759/  
attendance/facenet/src/20180402-114759/my_classifier.pkl 
--batch_size 1000 --min_nrof_images_per_class 10  --nrof_train_images_per_class 10 --use_split_dataset

Step 4: Report folder

Create an empty folder named Reports. This is for storing the Excel sheets report of the attendance, which is automatically generated when the Facenet algorithm recognizes the students. This is implemented using XlsxWriter Python module.

Step 5: Running the Web Application

Now run the Web application by $ python run.py It will show a localhost address like http://127.0.0.1:5000/ which will be the URL for the Web App.

Step 6: Storing Data

While running the application, it redirects to the Home page. On that page, there is an Add class details hyperlink. Basically it asks the user to enter the student's details. The provided details are stored in the Sqlite Database.

Note: The Name of each students entered should be the same as the name of the student's dataset created in step 1.

Step 7: Uploading Image

On pressing the Take Attendance hyperlink, it redirects you to a page where the user needs to upload an image of the classroom.

Note: The image should be in a good resolution and also it contains the clear faces of all students.

Result

After uploading the image it takes sometime to process. You can view the running background details in the command prompt. Then it creates an Excel sheet in the Reports folder which contains the attendance details.

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].