A Contactless Attendance System where your face is identified for Attendance. ✨
Motivation 😲
This Repository was created as a part of MINeD Hackathon, a national level hackathon organized by Centre of Excellence in Data Science at the CSE Department of Nirma University.
We seek to provide a valuable attendance service for employees. Reduce manual process errors by provide automated and a reliable attendance system uses facial recognition technology.
Features 📋
- Check Camera
- Capture Faces
- Train Faces
- Recognize Faces & Attendance
- Automatic Email
Screenshots 📷
1. GUI
2. Command Line Interface
3. Checking Camera
4. Recognize Image
5. Automail
Tech Stack Used 💻
Build With -
- Python 3.8
Modules Used -
- OpenCV Contrib
- Pillow
- Numpy
- Pandas
- Shutil
- CSV
- yagmail
- Tkinter
Facial Recognition Algorithms -
- Haar Cascade
- LBPH (Local Binary Pattern Histogram)
Softwares Used -
- Pycharm 2019.2
- VS CODE
- Jupyter Notebook
- Git
Installation 🔑
Create Environment
First open the terminal or command line in the IDE and copy the following code.
python -m venv venv
Then activate the virtual enviroment using the code below for windows.
.\venv\Scripts\activate
Note: If your pc don't have virtual enviroment or pip install the follow this link. How to create Virtual Enviroment
Installing the Packages
After creating the enviroment on your project, let's install the necessary packages.
To install those package open the terminal or command line and paste the code from below:
pip install -r requirements.txt
Note: During the package installation, sometimes it shows errors due to package dependencies and to avoid those error you can install those packages as admin.
Test Run 🚴
After creating the virtual environment and installing the packages, open the IDE terminal to run the program.
- To use Command Line Version Use:
py main.py
- To use GUI Version Use:
py main_gui.py
Test Run for CAS as shown below:-
How To Use? 📝
If you want to use it then follow the steps below:
- First download or clone the repository.
- Import the project to your preferable IDE. Recommended : PyCharm
- Create a python virtual environment.
- Install all the packages from requirements.txt.
- Change the mail information in the Info.py.
- Run the project using the Command Prompt or PowerShell or your IDE Terminal Button.
Top comments (6)
That's cool, I have also tried the same with cv2, but we can't expect 100% of face match, with a lower quality camera.
But I have tried in a different way, like setting images in a particular folder with person name, so that it trains the pictures in that folder with folder name, draws a graph on face so while reading the video and validates the face from example% to example%,
my-code
And finally using mask for face like setting hue, saturation, so and so for making it easier to read the video.
My project might not be as good as you guys but I just wanna know, this is a proper or have to do change
Appreciate that but actually in some ways you've done better like directly reading from the video and we'll look forward to change according to your suggestions. And yeah the camera quality is lower so accuracy is not as expected.
but my project needed a good ammount of pictures, atleast 4-5 pics to get a decent recognition, pictures to train, so it wont get confused and give other details. and you have to use PiL for image processing functionality
Yes, that's true. I did look into that in your repo.
Congrats to your team :)
Thanks ;)