What is the problem you are solving?
We are solving the problem of being able to recognize what type of object is in the frame (image classification), specifically related to items that are typically trashed. The goal would be to implement this in some sort of sorting robot to be able to automate garbage sorting.
Why did you choose this problem?
We wanted to work with images, and we think being able to automatically determine where waste should go is an important problem as it contributes to the recycling process.
Briefly explain the models you experimented with to solve the problem.
We start with a basic convolutional neural network (Sequential Kera CNN model) but it wasn't very accurate (60% accuracy) so we tried to use hugging face with transformers but finally settled on transfer learning with RESNET50 and added to it a couple of other layers (which improved accuracy to more than 80%).
What challenges did you face?
We faced problems getting accuracy out of the model, especially validation accuracy and having over fitting. Another challenge was to understand how to use the tools proposed in the libraries (Keras, hugging face, pyTorch) as they have a dense API.
What is the result you are the most satisfied with (accuracy, other metrics, etc)?
We are satisfied with the accuracy we got out of the model: 87% validation accuracy which we consider fairly good.
If you were to continue this project, what would you explore doing / improve?
We work would on improving the accuracy and also adding some more variety to the dataset since it seems that some of our categories perform less well than others. A solution would be to balance the dataset. A feature we want to add is to be able to classify more than one element if the image present multiple. We would use image segmentation to box the images and then send the images bounded by a box to the model for classification.
Built With
- flask
- keras
- tensorflow
- vue
Log in or sign up for Devpost to join the conversation.