Smart Attendance System is the way to modernized the existing method of marking attendance on register. It helps to reduce complexity of management. Smart Attendance System not only provide record of attendance of student, it uses Machine Learning technique to identify person facial details to mark attendance on database and it can also perform statistical analysis of student data and provide recommendation to student. It is smart because it provide attendance record to student, teacher and admin in digitalize ways.
In OpenCV version we used OpenCV to train the model but due to less accuracy in real world implementation we used tensorflow. If you want to just explore OpenCV version then just click here
This project is all about attendance management sysetm in digitilize ways by using Facial Recognition with the help of Machine Learning.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
I am using miniconda and Python 3.6.6. Make sure you have miniconda / anaconda or Python installed. Recommended Prerequisites-
- Miniconda or
- Python 3.x
Install following (You can install latest versions)
- Django==2.1.7
- django-pagedown==1.0.6
- tensorflow==1.13.1
- numpy==1.16.3
- opencv-contrib-python==4.0.0.21
- opencv-python==3.4.0.14
- Pillow==5.4.1
- pytz==2018.9
- scikit-learn==0.20.2
- scipy==1.2.1
- xlrd==1.2.0
You can install all these with "requirements.txt" file. Just Run following command in terminal-
pip install -r requirements.txt
You can install all these in your virtual environment or directly in your system interpreter.
Once you install these in your machine then just run project.
Just go to your project root folder "Toto-Smart-Attendance-System". Then change directory to "Toto_Smart_Attendance_System" folder and now open command prompt/Terminal and then run following command-
python manage.py runserver
It will start server in your local machine. Now just hit your local server ip provided by the project in you terminal and just start using project.
You may need to create superuser to explore all functionality.
To train your own dataset or faces you need to upload excel sheet in this website. [You can subl=mit data in various ways but because we don't want to use any physical hardware to submit data or don't want to spent money on anything thats why we will submit excel file to train the model or create our own dataset]
-
Just run the project and now login as admin (you need to create superuser first).
-
Go to cpanel in website and upload excel sheet.
Cpanel-
-
How to create excel sheet?
3.1 Upload some videos to google drive and get links of all the videos (permission: anyone with the link)
Upload Videos-
Set Permission-
Copy links of videos-
3.2 Now paste these screenshot in excel file (Downlaod Sample Excel File)
In this sheet you have to enter Name, Roll Number and Video's Link. It conatains 3 Columns (Name, Roll Number, Video).
DO NOT CHANGE ANY COLUMN NAME or DO NOT ADD ANY COLUMN
You can add as many rows you want
Refer screenshot below-
3.3 Once you create excel sheet now upload it. After uploading you will get button to start training. Just click on "Start Training". Your training will started, it may take some time depending on your video's length (20-30 second video is enough). Once training is done you will get success message. While training you can go to Command Prompt and see the status.
You can click potos of face and upload it to website manually (If you upload single image at a time then their is less possibility of face detection) or you can directly capture images by using your webcamera (Recommended: Beacuse it capture multiple images at a time which increase possibility of marking attendance by recognize face in images).
Just go to Check Attendance" page and enter roll number to check attendance. If attendance makrked then it will show result.
If you want to know backend of Tensorflow used in this project then just click here
- It provide attendance management system.
- It use mark attendance with user captured photo/image only.
- Admin just have to provide excel sheet in this format (Click Here to see the format) to server [Upload excel to server].
- It will download videos and create dataset for training and testing, and create model for it.
- It provide roles to user. Admin, Teacher and Student. Admin can do anything, Teacher can mark attendance and check attendance, Student can check attendance only.
- It let admin to create/update/delete article also.
- Python
- Machine Learning
- Django
- Tensorflow
- OpenCV
- Sklearn
- Numpy
- Sqlite
- HTML, CSS, JavaScripts, Bootstrap, Jquery
Feel free to contact me
You have to give me credit.
You can add following lines in your project/code/videos/document to give me credit.
Credit: Dipesh Pal
Project is originally developed by Dipesh Pal.
github.com/Dipeshpal
www.dipeshpal.com
www.youtube.com/DipeshPal17
You can thanks me by Subscribe me on YouTube: Subscribe