Inspiration
With our professors at university consistently warning against cheating through using classmates' iclickers for them as well as the advancing capabilities of machine learning, we set out to create a method of simply scanning a room for profiled individuals and logging their attendance in an intuitive manner.
What it does
OptiPoll uses the tensorflow machine learning library and a raspberry camera to process individuals in front of it. If the student has been profiled and is in the feed, the OptiPoll raspberry pi will send the attendance data to an Amazon Web Server. This server's data is embedded into a website, which will display the present individuals along with their logged attendance as of now.
How we built it
Our team divided the project into three distinct yet interconnected fields: training the neural network graph using our appearances as profiles, setting up the Amazon Web Server to handle incoming attendance data, and design an website to embed and display this data. Each individual section was completed and then integrated amongst each other together. The raspberry pi successfully turns on, connects to the internet, waits for button input, and pushes attendance data with each press of a wired button.
Challenges we ran into
Creating a format for the raspberry pi to handle incoming images with the trained neural network was partciularly challenging; however, we settled on using the input of a wired in button to take pictures and run a script to evaluate and push the results. In addition, embedding the data from the Amazon Web Server in a form which can update with each refresh took a long period of time, but the syntax was eventually discovered.
Accomplishments that we're proud of
Creating a method to handle image classification and digital uploads in a manner not involving a screen or keyboard was very pleasing as the unit can be handled simply by plugging into power and waiting. In addition, combining the fields of local processing, cloud solutions, and web development in a seamless form was particularly satisfying.
What we learned
Our team learned how to not only train a neural network for image classification, but handle the inference graph in a tangible manner, allowing us to experience machine learning in a deeply intuitive fashion. Furthermore, we also learned how to work with Amazon Web Servers for cloud solutions, a skill applicable to a variety of data or processing related tasks.
What's next for OptiPoll
In future revisions, we aim to develop a frontend for profile training so that any user may enter photos and have the neural network automatically profile them. In addition, we would like to make use of a machine learning processor such as Google Coral to accelerate the classification process, as well as reduce load on the main cpu. Lastly, we would like to develop a form of iClicker integration to provide a transition for educators to begin using optical attendance alongside existing platforms.
Built With
- amazon-web-services
- css
- dynamodb
- html5
- javascript
- lambda
- python
- raspberrypi
- s3
- tensorflow
Log in or sign up for Devpost to join the conversation.