Automatic Attendance Management System Using Face Detection
Maintenance of attendance is a difficult task in various institutions. Every institution has its own method of taking attendance such as using attendance sheet or by using some biometric methods. But these methods consume a lot of time. Mostly student attendance is taken with the help of the attendance sheet given to the faculty members. This consumes a lot of work and time. We do not know whether the authenticated student is responding or not. Calculation of consolidated attendance is another major task which may cause manual errors. In some other cases, the attendance sheet may become lost or stolen by some of the students. Thus came my inspiration of the development of an automatic attendance system.
Features
- Deep Neural Network for Facial Detection and Recognition of registered users
- Automatic Enrollment of new faces with a unique id to match with the administrator.
- Dashboard for viewing Attendance Recorded.
- Cloud-Based architecture for Marking Timestamp in real-time.
Workflow
- A video Recorder is used for recording real-time videos minimum, 4 Mega Pixels
- The recorder is connected over a personal area network that transfers the frame to the server
- The algorithm is deployed over the server which reads the frames from the recorder as an input
- A neural network detects if the frames contain faces. If yes the frames are cropped and the faces are sent to a different neural network for recognition, else next frame is scanned
- A Custom Convolution Neural Network trained over some registered users is used to recognize the faces and returns the name of the user or in case of new face returns a new face.
- If the face is recognized, the database is updated for that particular person with the timestamp.
- If the face is not recognized the cropped face and the frame is kept for future training
- When the system is disconnected from the camera and the video feed stops the Convolution Neural Network is trained over the new faces using transfer learning so that the model is not trained over the previously recognized faces.
Knowledge Gained
- Integration of WebApps with Deep Learning models for real-time computation
- Exploiting parallelism for handling multiple streams of video data from different cameras.
- API Development for HTTP Requests.
- Implementing Transfer Learning used in training model on new data for auto-enrollment.
- Combination of CNN with other Neural layers for small yet powerful networks so that they have very less computation and time requirements.