Introduction
This project is intended to make taking attendance less of a hassle for educators. With the help of machine learning and computer vision along with cloud storage technology, this problem can be fixed. We intend to use a camera to detect students, and if they are new to the system, they will be asked to identify themselves. Otherwise, they will be matched to an existing user. When the educator wants to get the results, the program will export the attendance to an excel spreadsheet.
Driving Question: How can we make a program that is able to be used at many different schools in order to make the process of taking attendance easier and more efficient which can allow more time for lectures and other educational activities?
Background Research
Artificial intelligence is the development of computer science which can perform tasks that normally require human oversight. Artificial intelligence can also be used to detect faces within an image by looking for certain human features like noses, eyes, and mouths. This type of image recognition can be used for identification of individuals. Structured Query Language (SQL) is used to communicate with a database which can store any type of data. When information about a user is stored in a database, using SQL can help retrieve specific types of information back, which is really useful for this project.
Action Video
Materials
For our materials we will need a computer with a functioning interactive development environment (IDE) such as Visual Studio Code and we will have to have access to libraries such as OpenCV, pyQt, and face_recognition
Visual Studio Code
OpenCV
pyQT
face_recognition
Laptop
Webcam
Before Training
After Training
Procedure
Determine which face recognition software is the fastest and most accurate
Set up UI and use OpenCV to display stream on UI window
Create a folder of known images
Whenever an unknown face is detected, show a window of that face and ask for this person's name
Once a name is received train the model with the new face and name
When the 'Export' button is pressed, export a .xlsx sheet of names and time of attendance
Safety
Make sure to encrypt data so that no hackers can get access to personally identifiable information. We don't want pictures of high school students to be put into the hands of the wrong person. The only way to access the data base is through the original computer that the program is on. In regards to personal safety, ensure good posture and take frequent breaks.
Investigation Questions
Can this project be used in the future as a legitimate way of taking attendance?
Currently, the program is in its early stages and can only be done on a small scale. Eventually, there is a possibility that this can be used for the whole school as the program will be trained to understand who is new and who has already been in the system. As the database of pictures of students gets bigger and bigger, the program will be able to easily differentiate between people and mark them either present, tardy, or absent.
Since the program is using face recognition, how is runtime performance compared to traditional methods?
The original purpose of this project is to make a process that is the most efficient possible. Through our face recognition and databases, we believe that this program is efficient and will mark someone as present within seconds of them walking into the room.
Why would someone recreate this program instead of just doing attendance the old-fashioned way?
Although recreating this program may take some time and a little lesson in code, it will be worth it in the long run. Having to take attendance every day manually can sometimes be a pain. Sometimes administrators are always on teachers because they forget to take attendance. With this program, every class will have taken attendance and there won't have to be any calls to specific classes reminding the teacher to take attendance.
Where else can this program be implemented other than schools?
This program can be implemented almost anywhere. Office jobs are a great example because as soon as a person enters their cubicle or office then they will be marked as here for the day. You can further implement a time feature which can be used to see when people clock in or out which will make paying people by the hour extremely easy. Sometimes people forget to clock in which will be a pain to determine how much time they actually worked.
With the development of our Automated Attendance Program we were able to gain the understanding of computer vision and image processing concepts such as feature extraction and image processing. We gained hands-on experience with programming and problem-solving: we gained practical experience with programming concepts such as loops, conditionals, and functions. This project also exposed us to machine learning and artificial intelligence and we learned about the basics of machine learning and how it can be used to classify images based on their content. We also learned about the different types of machine-learning algorithms and how they differ in terms of their complexity and performance.
Real Life Connections:
AI can be applied to a variety of fields in including medicine, software, and even the arts. We can see advancements such as Dall-E which is able to draw very creatively based on text input and chatGPT being an incredibly sophisticated chatbot. With all of this progress, the quality of life will increase for many Americans, but may make some jobs obsolete as more and more services become automated.
The technology we have created can be used by law enforcement agencies to identify individuals who may have committed a crime. Face recognition can be used to control access to secure areas like banks, government buildings, and data centers.
Our program can be used to keep track of employee attendance and ensure timely arrival and departure.
An attendance program using face recognition can be used in schools, colleges and universities to monitor the attendance of students and reduce the manual workload of teachers.
AI has been making many jobs more efficient. From unlocking your phone to using it to open your bank account. All your information is unlocked with your face and allows many people to not have to remember their passwords for important accounts. As we continue to develop and research AI, we are able to train it to understand between what is real and fake in order to prevent any fraudulent activities.