Inspiration
The driving force behind this project for us came from our concerns about environmental sustainability. With the hope that big tech companies might be developing innovative solutions to minimize environmental impacts, we wanted to contribute by applying cutting-edge technology like YOLOv5 to real-world challenges. Our goal was to create an object detection system that could eventually assist in areas like waste management or environmental monitoring.
What it does
This project trains a YOLOv5 model for object detection and deploys it through a user-friendly web interface. Users can upload images via the website, and the model will process these images to detect objects in real-time. The detected objects are then displayed on the same page, giving immediate feedback. This makes it easy to interact with the object detection model without needing deep technical knowledge or manual intervention.
How we built it
We started by training a YOLOv5 model using Python, focusing on object detection. The training process involved setting up a robust environment, preparing data, and fine-tuning the model for accuracy. Once the model was ready, we developed a web interface using Flask for the backend to handle image uploads and run inference on the uploaded images. For the frontend, we used HTML, CSS, and JavaScript to create a simple and intuitive design for users to interact with.
Integrating the trained YOLOv5 model into the web interface was the toughest part. This required careful coordination between the backend (Flask) and frontend (HTML/CSS/JavaScript) to ensure that the model could process the uploaded images and display results efficiently. We also set up virtual environments to manage dependencies, which was key to keeping the project running smoothly.
Challenges we ran into
The major challenge I encountered was integrating my trained YOLOv5 module with the web interface. I had the model, backend, and frontend ready, but getting them to work together was far more difficult than anticipated. It took me over 4 hours to figure out how to connect everything and set up the virtual environment correctly. This process taught me that even though the individual pieces might work perfectly in isolation, connecting them into a cohesive system can be a real test of patience and problem-solving skills.
Accomplishments that we're proud of
Both my teammate and I had little experience with backend and frontend development, which made this project a huge challenge for us. With limited time, we were almost ready to give up, but we pushed through. Independently, we figured out how to integrate everything and complete the project as planned. We're incredibly proud of our determination and the fact that we successfully brought our idea to life despite the obstacles.
What we learned
This project taught us the importance of being consistent and problem-solving. We learned that while tools like YOLOv5 and Flask may seem straightforward, setting up environments and connecting different components takes time and effort. We also gained valuable experience in backend and frontend development, which was entirely new to us. Most importantly, we learned that consistency and teamwork can help overcome even the toughest challenges, and figuring things out independently builds a strong sense of accomplishment.
What's next for ML for Garbage Detection
The next steps for this project include feeding more real-time images into the model to further improve accuracy and precision. We plan to enhance the model by incorporating more diverse datasets, which will help the system better identify objects in different environments. Additionally, we aim to integrate the model into a camera system for real-time inference, enabling real-time garbage detection and monitoring for potential environmental applications.
Built With
- css
- flask
- html
- javascript
- jupyter
- notebook
- pytorch
- ultralytics
- yolo
Log in or sign up for Devpost to join the conversation.