Gagandeep-Singh-Code / Student-attendance-monitoring-management-system

Student attendance monitoring management system

Home Page:https://student-attendance-monitoring-management-system.azurewebsites.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Student attendance monitoring management system

There is a limited amount of time in which the teaching faculty in a classroom not only has to make sure that the concepts are comprehensible but rather than having the content at the focal point they have to focus on various aspects such as taking attendance, being attentive for every student and trying to deliver the content with sincerity. This puts off the balance leading to deterioration in learning, and wastage of valuable time and effort. Our project aims to make the lives of teachers easier by automatically marking students' attendance using Face recognition. It'll reduce the time wasted in taking attendance and also prevent proxy attendance. This project will also upload the attendance directly to a spreadsheet. It will not cause any disturbance during teaching and also save time. Although, it has some limitations on the distance from the students from which it can work, the use of high quality cameras and multiple cameras can reduce it. The project is quite realistic and efficient. This project uses the Microsoft Azure Face API as base resource along with Azure SQL Databases for storage and Azure SQL servers to manage databases. The project was deployed using Azure App Services. The source code is written in python using Visual Studio Code.

Project URL: https://student-attendance-monitoring-management-system.azurewebsites.net

Demo Video URL: https://youtu.be/S-YPfO8QaFE

Project Description:

(1) This project was deployed using Azure App Services. Deployed Python (Flask) web app to Azure App Service. The below image shows creation of Azure App Service under Student-attendance-monitoring-management-system. The Azure App Services is used in this application to be able to deploy the Flask application written in python, since it allows you to host your website instead of the local host. In this manner the application is accessible through the URL generated by Azure and hence is available to a bigger audience for use without the hassle of hosting a website on your own.

WebApp

URL: https://student-attendance-monitoring-management-system.azurewebsites.net After Clicking on the URL you are redirected to the application. WebPage

The web app is not currently in working state because the database services have been stopped but the demo can be watched at this URL. Demo URL: https://youtu.be/S-YPfO8QaFE

(2) The project's foundation depends on the Azure FaceAPI service. The Azure Face service provides AI algorithms that detect, recognize, and analyze human faces in images. The Azure FaceAPI service is used for identity verification which can be done once when a person is onboarded, and repeated when they access a digital or physical service. Face detection is required as a first step in all the other scenarios. The Detect API detects human faces in an image and returns the rectangle coordinates of their locations. It also returns a unique ID that represents the stored face data. This is used in later operations to identify or verify faces. Face identification can address "one-to-many" matching of one face in an image to a set of faces in a secure repository. Match candidates are returned based on how closely their face data matches the query face. No machine-learning expertise is required, the FaceAPI does all the work for you. The below image shows creation of Azure FaceAPI resource.

FaceAPI

-Using the KEY and ENDPOINT of the FaceAPI resource, we are able to upload images, create person groups and a person ID for an invidual person belonging to a particular person group. The library used by the program is "azure-cognitiveservices-vision-face". From this library even further FaceClient library is imported for the functions related to Azure Face services. The image shows code snippet for creating a object of the FaceClient library.

FaceAPICode1

-By navigating to https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395248 we can get details related to the person groups created using the FaceAPI. The below image displays the webpage.

FaceAPIWebsite

-Different persons ID's can be found by entering the person group ID and the subscription key. The below image depicts this.

FaceAPI2

-By clicking on the Add Student Record button on the web application a user can add new students' data.

WebPage1

-Here you add the data.

WebPage4

-After the data has been added then the changes for the new user say "user10" is reflected on FaceAPI website.

FaceAPI3

(3) Azure SQL Server is used to create a server for the SQL database where we would be able to store the student information and be able to extract it further on. The Azure SQL Database is a service provided by Microsoft to be able to access a fully managed SQL Database without going through the hassle of installing the software and performing the configuration either on the local system or an Azure Virtual Machine. Azure SQL Databases used to store the students' data and the person ID associated with each person.Azure SQL servers resource is used to access the Azure SQL Databases resource. With the help of all the credentials of Azure SQL servers we are able to upload and store the acquired data in Azure SQL Databases. The below image shows creation of Azure SQL Databases resource.

DB1

-Initially when the record for "user10" has not been added there is no row for this particular user as shown below.

DB2

-When the Add Student Record on the web application is pressed and the students details have been added and as you click on the submit button the camera is triggered and it automatically captures 20 frames of the person while moving its face in different directions. Let's say we add "Jimmy Kimmel" as name and "A10" as roll number and since a person group named "classroom" was already created there is no need to create new but you can wish to create new by typing yes. The below image depicts this.

WebPage6

-When the data is added on Add Student Record page of the web application then the changes are reflected on the database with the corresponding person ID received from the FaceAPI as shown below.

DB3

(4) By clicking on the Take Attendance button on the web application a user can automatically take the attendance as the image is automatically captured and detection of faces is carried out. These faces are then uploaded to identify to which person they belong using the persoID. The below image shows Take Attendance button.

WebPage3

The below image shows the web page where you will be directed after clicking on Take Attendance button.

WebPage5

When identifying a person in the image for attendance, the corresponding person IDs are acquired from the database and API call is made to identify each person and automatically create a spreadsheet highlighting the attendance recorded. The download hyperlink in the above image can be used to download the report created by the application. The below image was used for testing as shown in the demo, for which the result attendance report was generated.

attend 1 1

The below image shows the final report generated.

FinalReport

The below image shows the resource group "Project" and all the resource created under it.

Project-ResourceGroup

About

Student attendance monitoring management system

https://student-attendance-monitoring-management-system.azurewebsites.net


Languages

Language:Python 75.7%Language:HTML 20.5%Language:CSS 3.4%Language:JavaScript 0.5%