Owen is a TA for CS 61A, the Structures and Interpretation of Computer Programs course at UC Berkeley, and every week in the discussion section that he teaches, he takes attendance to ensure that his students are keeping up with the pace of the course. The current method for doing this is by creating a Google Form each week and displaying the link in class so that students can indicate their attendance within a narrow window of time. But this presents several disadvantages. First of all, it is a slow process since students must be given several minutes so that each student that is present can fairly access the form before it is locked again. Also, there is an issue of legitimacy as it is easily possible for a friend in the class to forward the URL of the form to a peer who decided not to attend so that they may falsely claim attendance. And finally, this solution is worse than the traditional calling out of names so it doesn't allow instructors the extra opportunity to learn the names of their students.
What it does
This Android application has the instructor take a picture of his or her class of students and then it automatically identifies students present based upon a pre-loaded database of individual headshot photos and records the results.
How we built it
We used Android Studio to create the application and used the Android Camera API to perform image processing.
Challenges we ran into
We originally planned to use the image processing features available in OpenCV and although we were able to make it work in an isolated project, we were unable to integrate it into the Android Studio environment because there were conflicts with our attempts to add the jar file that OpenCV depends on. We tried to negotiate with Android Studio whether Java 1.7 or 1.8 should be used but were eventually forced to abandon this approach and to take advantage of Android's Camera API instead.
Accomplishments that we're proud of
For several of us, this was the first mobile application we've ever made. We were also very impressed by what we were able to accomplish in terms of successfully identifying and matching faces in an image.
What we learned
Android development can be very stubborn at times as well as slow to compile/test. But on the bright-side, several of us created our first mobile application this weekend and learned a thing or two about image processing and facial recognition!
What's next for RolyPoly
Currently, we display attendance results within the app after the process is completed. In the future and for when this app is implemented in the classroom, it would be convenient for results to automatically be uploaded to an aggregate Google Spreadsheet that multiple instructors can contribute RolyPoly data to.