Skip to content

StarrySkyrs/EcoSage

Repository files navigation

AltaML Hackathon 2023 - Sustainability
♻️ 🌎 Eco Sage 🌎 ♻️

At a glance ...

Welcome to the ♻️🌎 Eco Sage 🌎♻️ hackathon project repository! Our goal is to create an innovative recycling app that simplifies the recycling process by providing clear instructions on how to recycle various objects. The app takes an input image of an object, uses advanced image processing and language models, and outputs detailed recycling instructions based on a comprehensive knowledge database.

Table of Contents 📋

Project Overview 🚀

In this hackathon project, we are building a recycling app that consists of three main components: image segmentation, image captioning, and recycling instructions generation. The web app is launched using Streamlit. workflow

1️⃣ Image Segmentation

The first step of our pipeline involves image segmentation. We utilize Fast Segment Anything Model (FastSAM) CNN model to analyze the input image and identify objects within it. The model will then crop these objects to provide a clear view of each item.
For more information about FastSAM, visit the documentation.

2️⃣ Image Captioning

Once the objects are segmented, we proceed to generate descriptions for each of them using the BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation model. It takes the segmented image and provides a caption describing the contents of an image.
For more information about BLIP, visit the documentation.

3️⃣ Recycling Instructions Generation

The final step of our pipeline involves generating recycling instructions based on the object descriptions and our comprehensive knowledge database. We utilize OpenAI's Language Model to create detailed and specific instructions on how to recycle each identified object. The knowledge database contains links to the City of Calgary's recycling guidelines What goes where?.
For more information about OpenAI, visit the documentation.
For more information about City of Calgary guidelined, visit the What goes where?

How to Run EcoSage 💻

  1. Clone this repository using git clone https://github.com/altaml-hackathon/hackathon-aug-2023-happy.git
  2. Go to the root folder and create your conda environment using make setup-environment
  3. Copy the secrets file using cp secrets.env.template .env if working in bash, or copy secrets.env.template .env if working in CMD or PowerShell and replace the contents of the file with your credentials.
  4. Open another terminal. Then, launch the web app using cd deployment_components\backend\knowledge_base from the root folder and run uvicorn main:app --reload.
  5. Upload an image of .png, .jpeg or .jpg format in the app and enjoy the recycling instructions! 😊

Contributions Welcome! 🙌

Since this is a proof of concept project during a hackathon, it has several areas of improvement and scalability! As such, we encourage contributions to improve the ♻️🌎 Eco Sage 🌎♻️ app! To make you contribution, follow these steps:

  1. Fork this repository to your GitHub account.
  2. Create a new branch for your feature using git checkout -b <feature>/<your-feature-name>.
  3. Commit your changes using git commit -m 'Add some feature'.
  4. Push to the branch using git push origin <feature>/<your-feature-name>.
  5. Open a pull request, and our team will review your contribution. 🌱🌍

Contact Us 🕊️

Our beautiful team: @fatemehyb, @ameeny, @timurkz, @hannayurchyk, @ACCHarles and @StarrySkyrs! ❤️
Thank you for joining us in this important endeavor to promote recycling and sustainability!
🌿🌟

About

Innovative recycling app that simplifies the recycling process by providing clear instructions on how to recycle various objects.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published