Created for HackRiddle 2019 (February 10, 2019)
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.
What it does
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:
- Open Present! in Training mode ->
- use camera to scan person's face for 3-5s ->
- switch to Scanning mode ->
- point camera at original person's face ->
- person will be marked as "Present" for the current class session
Challenges we ran into
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.
Accomplishments that we're proud of
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.