Face Recognition Attendance System


Face Recognition Attendance System

This Project Based on the face Recognition system for attendance in our collage or institute ,this project is Written in python Language.


























1.Problem Statement:

Maintaining the attendance is essential in every foundation for checking the performance of students as well as employee. Each organization has its own technique. Traditionally student’s attendance is taken physically on attendance register or sheet, given by the employee in class. These stamping techniques are repetitive and tedious. Physically recorded participation can be effortlessly controlled. Besides, it is exceptionally hard to confirm one by one student in a substantial classroom environment with disseminated branches whether the verified students are really reacting or not.

2. Detailed Problem Description :

Current Systems At present attendance marking involves manual attendance on paper sheet by professors and teachers. but it is very time consuming process and chances of proxy is also one problem that arises in such type of attendance marking. also there are attendance marking system such as RFID , Biometrics etc. but these systems are currently not so much popular in schools and classrooms for students as they have thier own advantages and disadvantages. 

The Problems with Current System The problem with this approach in which manually taking and maintains the attendance records is that it is very inconvenient task. Traditionally, students attendances are taken manually by using attendance sheet given by the faculty members in class, which is a time consuming event.

Moreover, it is very difficult to verify one by one student in a large classroom environment with distributed branches whether the authenticated students are actually responding or not. The ability to compute the attendance percentage becomes a major task as manual computation produces errors, and also wastes a lot of time. This method could easily allow for impersonation and the attendance sheet could be stolen or lost.


Advantages Over Current System The previous approach in which manually takes and maintains the attendance records was very Inconvenient task. Traditionally, students attendances are taken manually by using attendance sheet given by the faculty members in class, which is a time consuming event. Moreover, it is very difficult to verify one by one student in a large classroom environment with distributed branches whether the authenticated students are actually responding or not. The ability to compute the attendance percentage becomes a major task as manual computation produces errors, and also wastes a lot of time. 

This method could easily allow for impersonation and the attendance sheet could be stolen or lost. An automatic attendance management system using biometrics would provide the needed solution. The results showed improved performance over manual attendance management system. 

Biometric-based techniques have emerged as the most promising option for recognizing individuals in recent years since, instead of authenticating people and granting them access to physical and virtual domains based on passwords, PINs, smart cards, plastic cards, tokens, keys and so forth, these methods examine an individuals physiological and/or behavioral characteristics in order to determine and/or ascertain his identity. Biometric based technologies include identification based on physiological characteristics (such as face, fingerprints, finger geometry, hand geometry, hand veins, palm, iris, retina, ear and voice) and behavioral traits (such as gait, signature and keystroke dynamics).




Face recognition appears to offer several advantages over other biometric methods, a few of which are outlined here: Almost all these technologies require some voluntary action by the user, i.e., the user needs to place his hand on a hand-rest for fingerprinting or hand geometry detection and has to stand in a fixed position in front of a camera for iris or retina identification. 

However, face recognition can be done passively without any explicit action or participation on the part of the user since face images can be acquired from a distance by a camera. This is particularly beneficial for security and surveillance purposes. Furthermore, data acquisition in general is fraught with problems for other biometrics : techniques that rely on hands and fingers can be rendered useless if the epidermis tissue is damaged in some way (i.e., bruised or cracked).

 

3. Identify the potential functions/operations that should be performed by your project and you are planning to incorporate those in your final product.


Now a days attendance marking involves manual attendance on paper sheet by professors and teachers but it is very time consuming process and chances of proxy is also one problem that arises in such type of attendance marking. So there is a need to develop an attendance system which is automated and which reduce the paper work and also eliminate the chances of proxy. The goal of this project is to design an Automated attendance Management System which has the following functions:
 
  1.  Learning Phase- Detection identification of seat locations in an unknown environment.
  2.  Monitoring Phase- Detection of entering leaving events for each occupant into from respective seat.
  3.  Real-time system- Implementation of real-time Attendance marking system and report generation. To recognize the detected faces by the use of a suitable algorithm for Tracking The Particular Student Present In Class or Not.
  4. Linking the information captured by the feed to the Excel Sheet for accuracy of results Like
1. Student Name.
2. Present -YES/NO.
3. Real Time When Student Enter The Classroom
4. Current Date Which date Students Come To The Classroom.
To Download class attendance Datasheet if Required.
4. Functional Decomposition of the project.







5. Identify at least three options (technologies) that can be used to develop the project in hand:
OpenCV:

OpenCV (Open Source Computer Vision Library) is released under a BSD license and hence it is free for both academic and commercial use. It has C++, C, Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for computational efficiency and with a strong focus on real-time applications. Written in optimized C/C++, the library can take advantage of multi-core processing. Enabled with OpenCL, it can take advantage of the hardware acceleration of the underlying heterogeneous compute platform.
Pros:
 First and foremost, OpenCV is available free of cost.
 Since OpenCV library is written in C/C++ it is quite fast.
 Low RAM usage (approx 60–70 mb).
 It is portable as OpenCV can run on any device that can run C.


3.2 Programming/Working Environment:



Python:

Python is an interpreted high-level programming language for generalpurpose programming. Created by Guido van Rossum and first released in 1991, Python has a design philosophy that emphasizes code readability, notably using significant whitespace. It provides constructs that enable clear programming on both small and large scales. Python features a dynamic type system and automatic memory management. It supports multiple programming paradigms, including object oriented, imperative, functional and procedural, and has a large and comprehensive standard library. Python interpreters are available for many operating systems. CPython, the reference implementation of Python, is open source software and has a community-based development model, as do nearly all of its variant implementations. CPython is managed by the non-profit Python Software Foundation.


Tkinter :

Tkinter is the standard GUI library for Python. Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit.


OpenCV:

OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage then Itseez (which was later acquired by Intel). The library is crossplatform and free for use under the open-source BSD license. OpenCV supports the deep learning frameworks TensorFlow ,Torch/PyTorch and Caffe.


3.3 Requirements to run the application:

Supportive Operating Systems: The supported Operating Systems for client include: Windows


3.3.1 Software Requirements:

The Software Requirements in this project include:
a. Python


b. OpenCV framework


c. MS Excel.


Software requirements deal with defining software resource requirements and prerequisites that need to be installed on a computer to provide optimal functioning of an application. These requirements or prerequisites are generally not included in the software installation package and need to be installed separately before the software is installed.
OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code. The library has more than 2500 optimized algorithms, which includes a comprehensive set of both classic and state-of-the-art computer vision and machine learning algorithms. These algorithms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch images together to produce a high resolution image of an entire scene, find similar images from an image database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and establish markers to overlay it with augmented reality, etc. OpenCV has more than 47 thousand people of user community and estimated number of downloads exceeding 7 million. The library is used extensively in companies, research groups and by governmental bodies. As an asynchronous event driven framework.




3.3.2 Hardware Requirements:


The most common set of requirements defined by any operating system or software application is the physical computer resources, also known as hardware. A hardware requirements list is often accompanied by a hardware compatibility list (HCL), especially in case of operating systems. An HCL lists tested, compatible, and sometimes incompatible hardware devices for a particular operating system or application.

 
Components                                                Minimum                                             Recommended 
Processor                                   Intel Core i3-2100 2nd generation               Intel Core i7 5th generation
RAM                                                          4GB                                                                8GB
Camera                                                  HD 720p Webcam                           Full HD 1080p Webcam
Disk                                                       128Gb                                                                 512Gb


GUI CONSTRUCTING

For constructing GUI of Face Detection Attendance System Tkinter is used. Tkinter is the standard GUI library for Python. Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit.















Automated Attendance Management System has the following functions:



 Create Dataset- Clicking this function create dataset of a person and it clicks 60 images of a person.




 Create Dataset - 'Press Capture DataSet Button To Create Dataset'...

 Train Dataset- After creating dataset this function train the dataset images.



 Train Dataset - 'Press Train DataSet Button To Train Deep Learning Model'...






 Recognizing + Attendance - This function recognizes the person and marks its attendance in excel sheet.








 Attendance Sheet- This function opens attendance of current date.







 Attendance - 'Press Button Attendance To Download marks its attendance in excel sheet.
 Project Reports- This function lists all project reports.





 Project Reports- To Press Project Details Button -For lists all project reports.




LOGIN ID AND PASSWORD:
Username: Adesh Singh
Password : Adesh@123
After Enter Username And Password Press Login Button : TO find All the Project Reports Page Look Like This :









 Developers- This open html page And Profile Developer Page Page that contains information about developers.










 Developers- This open html page And Profile Developer Page Page that contains information about developers






After Pressing Developer Button :







 Student Tracking- This Page should be Contain Student Tracking System ,for Student Tracking , Particular Student Class Attended Or Not







Press The Student Tracking Button :




Page-1

Page -2
YOU CAN USE ANYONE
 Recording - This Page Should Contain Live CCTV And Live ClassRoom Recording System,Person Detection ,Video Recording With Sound And Many More Option Use can Use







Press The Recording Button :








 ClassRoom Live System - This Page Should Contain Live CCTV Live ClassRoom Recording System.




>>Student Management System - This Page Should Contain Student management System..