We were inspired to create Class Capture after seeing the extensive amount of time often wasted in classrooms by doing the menial task of attendance. We have personally experienced this massive time waste, especially in our band class where the teacher is often overwhelmed by the number of students and is unable to quickly take attendance.

What it does

Class Capture uses OpenCV to detect if all students are present and then prints out a list of all absent students. While creating this aspect of it we realized how this technology could also be used in security by simply checking if anyone entering a school is seen in the school's face database. If the person is not then an alarm is sounded.

How we built it

We built this app by creating a directory with different faces including faces of our family and friends and famous people's faces. This served as the list of students in the class. The code then uses the encodings received from the picture already there and then when the program is run compares and finds the closest match to these face encodings through the webcam. It then draws a box around your face identifying its confidence level. If the confidence level is under 85 we don't consider it a match. If confidence is above we consider it a match and then add that student's name to the list of confirmed attendance. We end up checking through the total class list and the list of confirmed attendance printing out students that aren't part of the confirmed attendance list.

Challenges we ran into

Some challenges that we ran into involved the face recognition software we were using. We found that our first attempt wasn't consistent enough so we decided to use a different method that turned out more consistent because of the confidence ratings. We also decided to create a nice-looking website where users can download the app from and we had a little bit of trouble using flask to download the file. We eventually managed to figure out how to do it by using Flask's send_file function along with Flask's linking.

Accomplishments that we're proud of

We are especially proud of how consistent the face recognition is, along with the webpage designed for the download. We created this webpage because we both love the creative aspects of coding as well and thought it was a fun and simple way to spice up our project.

What we learned

Through the creation of this project, we gained a better understanding of advanced OpenCV and how to use it to recognize faces, we also learned how to use Flask to create a python web app.

What's next for Class Capture

In terms of what's next for Class Capture, we want to create an even more user-friendly experience for teachers so that they don't have to download and deal with the OpenCV code. We plan to do this by letting teachers upload images of their students to the website and then letting them click a button that pulls up the webcam which upon closing will output the result to the webpage telling the teachers which students are absent.

Share this project: