Inspiration
Homework photos take up a lot of storage on our phones, and oftentimes you don't even realize how many you have or how much storage it is actually taking up. This is a problem that we all had, with some members of our group having hundreds of homework photos without knowing, and others having to delete old photos because they were running out of storage, a large portion of which is consumed by these homework photos. Students are always taking photos related to school, even as young as middle and high school. We wanted to find a way to most effectively and easily organize these files for students at large.
What it does
We created a website that effectively sorts images into Homework and Not Homework, allowing users to more easily manage their files. They can input large sums of files at once and then have the website output whether each file is homework or not in order allowing the users to more clearly see their files and easily delete all of their unnecessary files.
How we built it
We split into two groups working on the two different aspects of the project at once. Half of us worked on creating the actual model and altering it to make it as accurate as possible. The other half of us worked on creating a website that was not only aesthetically pleasing, but was also effective in implementing our ML algorithm into real life.
Challenges we ran into
We initially planned on using a KNN machine learning algorithm for discerning whether or not a given image was homework or not. After finally finishing the coding for said KNN algorithm, the model was simply not accurate enough (it was around 87% accurate). We realized that if we wanted to create a more effective model that actually discerned between homework and not homework effectively had to switch from a KNN algorithm to a CNN algorithm.
Accomplishments that we're proud of
We are proud to have created a working CNN algorithm that too, one with a pretty high accuracy. Additionally, we were able to learn how to use Flask effectively to implement our ML algorithm into our website when we all had very limited experience with Flask going into this project. The website is aesthetically pleasing and easy to use for all users and is a great foundation for future work that could be done with this algorithm.
What we learned
We learned how to use many new applications of Scikit-learn, Flask, TensorFlow, Numpy, and Matplotlib. We also deepened our understanding of both CNN and KNN modeling as well as how to go about creating ML modeling algorithms in general. We also spent some time learning more about app development to best serve our future goals of our project. Beyond the technical skills we both sharpened and learned as a whole. We learned how to work effectively as a team even though we had never previously collaborated on any project. We used our time effectively and helped each other out when necessary in order to create the best possible product.
What's next for Convolutional Neural Network - Homework Classifier
Our main goal is to expand from a website to an app. After receiving specific permissions, the app should be able to sort through all of the images in the users camera roll to organize said images into Homework, and Not Homework. This app would then be able to place all the Homework images into an album and offers the user and opportunity to delete said album (and all images as a result) at once.
Built With
- css
- flask
- matplotlib
- numpy
- python
- scikit-learn
- tensorflow
Log in or sign up for Devpost to join the conversation.