None of us had very much experience with implementing computer vision in our projects, so we decided on this project to give us some familiarity with implementing a full-stack attendance system, and to see how implementing computer vision in a project like that would work.
Our project uses complex machine learning algorithms and facial detection libraries to associate a name with a person's face, and can also mark them as being present for a class, if a device with our software was set up in the classroom.
An approximate execution flow looks something like this:
We had initially planned on allowing students to be checked in with a mobile device, but we came to find that OpenCV for Android is not advanced enough to allow this to be easily possible, so we decided to run it on a laptop instead. If this product were to be commercialized, a small SBC running Linux would likely be able to get the job done.
One of the things about this project that we're most proud of is the fact that at no point during final testing or demoing did it give a false positive result. It wasn't exactly always able to find the person, although it worked in around 90% of scenarios.