This project is a face-recognition-based Student Attendance System built using deep learning and computer vision techniques. It detects and recognizes student faces from video or images and automatically logs attendance.
π¨βπ» This repository contains two separate versions of the system β each in its own branch β using different deep learning approaches.
- π₯ Face detection from images or video frames
- π§ Deep learning-based face recognition
- ποΈ Automated attendance logging
- π§ͺ Training pipeline for custom student datasets
This repo includes two different implementations of the attendance system:
Custom CNN-based face recognition system
- Uses a basic Convolutional Neural Network.
- Simple model architecture.
- Trained from scratch on student face images.
- Good for learning, prototyping, or smaller datasets.
Advanced DenseNet121-based system using transfer learning
- Uses DenseNet121, a powerful pre-trained CNN.
- Higher accuracy and faster convergence.
- Ideal for larger, real-world datasets.
- Employs OpenCV for face detection and Keras for model training.
Branch | Description |
---|---|
main |
Project overview + README only |
cnn-version |
Full project code for custom CNN approach |
densenet-version |
Full project code using DenseNet121 |
graph TD;
A[Capture Video or Images] --> B[Extract Frames]
B --> C[Detect Faces using OpenCV]
C --> D[Preprocess Faces]
D --> E[Train CNN / DenseNet Model]
E --> F[Recognize Faces in New Images]
F --> G[Mark Attendance in CSV]
Each branch contains its own implementation:
.
βββ notebooks
βββ requirements.txt
βββ README.md
Each branch has its own requirements.txt
, but common dependencies include:
- Python 3.8+
- TensorFlow / Keras
- OpenCV
- NumPy, Pandas
Contributions and improvements are welcome! If you'd like to improve the model, fix a bug, or enhance documentation, feel free to fork the repo and submit a pull request.