In my school days and now days to I have been seeing most of the school in my areas using papers based school management and attendance system for manage the school students details. This kind of system would take too much time to process the student attendance details and students' performance in their subject. Also paper based system there is so much less efficient in the data eaccuracy some times that lead to data missing. Furthermore In my school days, some students got ready to come to school from home but in reality, they didn't come to school in spite of that they spent their time at outside place during the school time. but their parents imagined their child went to school in another side the class teacher's perspective the specific student didn't come to school. sometimes this situation leads thebiggest misunderstanding between the parents and school staff.
SolutionYes, of course, there are already have so many cloud platforms out there for school students' progress and Attendance monitoring here I have used anArtificial intelligence-based Face recognization cloud solution for Student Attendance monitoring and progress updates. Throughout this mobile app platform when a student did not come into the class while the teacher making attendance by using his or her phone camera the system will send a notification to the parent's phone number the student who not in the classroom and also marked as Absent and other students details who present at that moment will mark as a present. As well as throughout the mobile cloud platform can read and write the student marks a specific subject and get analysis of that student. Through this mobile cloud platform Every school can register their school also can create own class into that system. In their own classroom teachers can update their student details ,Attendance, Marks, and subjects. as well as get the analytical report of each and every student throughout this system.
Database StructureHere I have used the flutter framework for mobile development and firestore for cloud storage.
Here I have given the structure of my firestore cloud in the following pictures
Now let's jump into how these things work
Sign upThis is the user interface for the signup page. throughout this UI schools can register their school using their email id and password. if they already don't have to create an account in the system.
here I have enabled the firestore email service to store email as a document id for specific schools registered through this mobile app platform. the school will be get notified by their email authentication token.
when user hit the submit button the school name and id for the school will be created in the firestore. as you can see above in my database structure. the following code shows how the data will be stored in the firestore.
if the user already have created the account they can use login UI to get into their school.
here is the sign in logic for the user who already created their account in the system. if anyone who don't already have create the account can't able to enter into the system.
if they successfully enter into the system they have to create their own class name. The class name will be a document id in the firestore cloud.
here I have parsed the uid which is the school document id that was created using. this uid and the selected classid will be parsed as apipeline to get into aspecific end. It will be easy to get into the specific school and selected class of the school. here I have created the collection for class and also user could able to create their class as a document id.
when the user after created their class, when after clicking on the button the id will be successfully created and move to the next page.
Then they will move into this dashboard. here they will have five options
Add Student
using this interface the teachers can add student details. the following pictures show how the database code will work. when theuser gives after the student details. The student details will be given to the system by addressing the userid, classid and studentid. here the userid and the class id will use to send the data to the specific school of thespecific classroom.
using the student id which already given into the system, they can delete the field of student values using that id as well as can view the student details of that student also can add the subjects for the student using student id that what are the subjects that he will be going to take to the specific term.
this is following code shows in the backend how the code will be going to work for ad the subjects for the term by selecting the student id from the dropdown menu.
using the marks update option you can add the marks for the subjects by using that student id. also user can make updates,delete queries for the marks of that student. The database functions for write,update,delete operations are below in code snippet
Before going to take recognition of each student users tohave to store the images of each student. It works with two computer vision models working together, the
Google Firebase ML vision
model to perform the face detection and preprocessing in the image
MobileFaceNet
This model process, classify and transform into a data structure ‘savable’ by a database (an array of numbers). I have used this pre-trained TensorFlow lite model from here. MobileFaceNets are a set of CNN models, which use less than 1 million parameters and are specifically tailored for high-accuracy real-time face verification on mobile and embedded devices.
Under the same experimental conditions,MobileFaceNetsachieve significantly superior accuracy as well as more than 2 times actual speedup overMobileNetV2(which is explained in this post).
For more info check outthis paper.
With ML Kit’s Face Detection API, you can detect faces in an image, identify key facial features, and obtain the contours of detected faces. It works very well preprocessing the image to detect the zone to be cropped and then processed by the MobileFaceNet model.
as soon as you enter into the add image page you will have two options to select the image of the student. whether you can select from your gallery or you can capture the image through the camera
As soon as you select the image, the ML vision model detects existing human faces in the frames that the camera preview, the class Face contains the coordinates of the points that make up the frame around the face.
when the user presses the submit button The detected face of the last frame is captured, cropped, and then pre-processed to be processed by thetheMobileFaceNetmodel. The MobileFaceNet model returns an output (array of numbers). then it will be stored as an array in the database.
The coding procedure for this task is too long I have attached the code link below in the code section.
Face RecognizationIf it’s the Face recognization, the application performs a search in the database comparing the Euclidean distance between the ML output of the image and the ML outputs stored for each user, the one that matches or is close enough (accuracy above the threshold) to the application put the value as present in that day for that recognized face student. likewise, the Euclidean distance will be measured for each and every student image store in the database when after the recognization finished for that particular day if who's animage stored is not recognized will be marked as absent for that day notification will also send to parents of that student.
Attendance and Result progressfor this part, the code doesn't have completed yet. but I will explain the process. when you enter into this page you have to select whether you want to view attendance or result progresses. if you click Attendance you can view the attendance of the student by selecting their student id from the list. which will show how many days they have present, how many days they have absent, also by selecting the range of dates or specific dates you can view whether they are present or not. Also selecting the date and selecting all student options from the student option you can view present and absent students from the selected date.
when you get into the Result progress page by selecting the student id and term test you can view the student's term test subjects scores, Total performance, Average also in what specific subject that student has to improve his performance, also it will provide some materials to improve his performance.
Future hopeThis mobile app platform is still now in the developing stage. In future, I will be going to change it as totally school management app such as staff management,Teachers attendance, and their progress. It will reduce the time of workload, data missing, can get results at the instant moment, make school work as much as faster than the papers works. mostly face recognization-based attendance systems are using anyhardware-based device such as Raspberry pi or others. here I am going to embedded everything in the mobile app platform.
Comments