The concern for a clean environment implies limiting food waste, we though of automating food waste detection in a warehouse environment.
What it does
Classify bananas seen though a camera as fresh or rotten.
How we built it
Challenges we ran into
- We did not have time to build a proper data set to train our model.
- We did not have an actual rotten banana to test our system at the end.
- We tried to do the inference step on the edge at first using either ONNX or TensorFlow.js, but we encountered compatibility problems that we did not find a way to fix, so we decided to do the inference step on the cloud instead.
- The system had a very low frame rate (often less than one frame per second), this is because we ran the inference on a node which did not have an Nvidia GPU, hence CUDA was not available and we ran it on the CPU instead.
Accomplishments that we're proud of
- Getting the model to work decently in the time we had without having a good dataset for it nor enough time to make one.
What we learned
- How to train Yolov5 with a custom dataset
- How to use websocket with python and js
- How to serialize and deserialize a video
What's next for Rotten Bananas
- Extend to other fruits
- Integrate a routing system to send the fruits in the right place depending on their class
- Integrate a map widget to display food waste collection centers