What Inspired Us
The main goal of this project was to learn more about machine learning and its practical applications. Having little to no experience on machine learning between team members, we decided to go simple and build a classification model based on existing neural nets. After settling on machine learning, we were inspired to tackle classification problems that were simple but relevant. One of the many shared nitpicks between team members was the sheer amount of clutter in terms of the camera roll on a person's phone. Countless scanned homeworks, memes, and screenshots blotted out more personal photos of family and friends. We wanted to make something that would quickly be able to filter out and delete irrelevant information
What it does
The app scans through a users camera roll and sends it to a server that categorizes and then determines if it should be kept. The user can see a summary of their photos and filter out unwanted photos based on categories.
How we built it
The app was built using Swift. The classification model is a transfer learning model built using Tensorflow. It relies on the pre-trained MobileNetV2 with the top layer removed. The top layer is then trained using a new dataset with more specific categories. The app will upload the images to the flask server, which will use the classification model to predict the category of the photo. This information is sent to the app, which shows the user which categories
Challenges we ran into
We wanted to work with React Native, but we were unable to integrate it with the camera roll. Additionally, we wanted the app to be run locally, but had difficulties using tensorflow lite and porting the learning model to mobile. We chose to go with a flask server as an alternative. Another challenge was the time pressure of training the neural net. We ended up training the model on approximately ~100,000 images, which was reduced from our dataset of about ~300,000 images. Additionally, we reduced the number of epochs to reduce time spent training, and did not fine tune our model to adjust the initial weights of the MobileNetV2 neural net.
Accomplishments that we're proud of
The neural network was surprisingly accurate, ~97% accuracy, though we trained it using a limited number of categories.
What we learned
We learned the basics of neural networks and how to integrate neural networks with mobile apps. Additionally, we (Akshit) learned about developing in Swift and Flask.
What's next for Cleanr
Our next goal is to work on the UI and improve the apps functionality.



Log in or sign up for Devpost to join the conversation.