Giter VIP home page Giter VIP logo

smart-attendance-system-using-tensorflow's Introduction

Smart-Attendance-System

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.

Note: We have OpenCV version of this project also-

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

What this project is all about?

This project is all about attendance management sysetm in digitilize ways by using Facial Recognition with the help of Machine Learning.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

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.

How to use this project?

Once you install these in your machine then just run project.

i. How to 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.

ii. How to create your own dataset for image training-

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]

  1. Just run the project and now login as admin (you need to create superuser first).

  2. Go to cpanel in website and upload excel sheet.

    Cpanel-

    Image

  3. 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-

    Image

    Set Permission-

    Image

    Copy links of videos-

    Image

    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-

    Image

    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.

iii. How to check / recognize face-

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).

  1. Just go "Mark Attendance" and submit image or use camera to capture image.

    Image

iv. How to check attendance-

Just go to Check Attendance" page and enter roll number to check attendance. If attendance makrked then it will show result.

Image

Image

If you want to know backend of Tensorflow used in this project then just click here

Features of Smart Attendance System-

  • 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.

Technology used-

  1. Python
  2. Machine Learning
  3. Django
  4. Tensorflow
  5. OpenCV
  6. Sklearn
  7. Numpy
  8. Sqlite
  9. HTML, CSS, JavaScripts, Bootstrap, Jquery

Any questions?

Feel free to contact me

License-

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

smart-attendance-system-using-tensorflow's People

Contributors

dipeshpal avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.