deep-waste-app

Managing waste in fun and easy way with AI ♻️😊🤖

https://github.com/sumn2u/deep-waste-app

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: preprints.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary

Keywords

community-project deep-learning eco-friendly enviroment flutter flutter-apps garbage-classification github hacktoberfest image-classification learn machine-learning open-source open-source-project pr-welcome recycle recycling student-vscode travis
Last synced: 5 months ago · JSON representation

Repository

Managing waste in fun and easy way with AI ♻️😊🤖

Basic Info
  • Host: GitHub
  • Owner: sumn2u
  • License: bsd-3-clause
  • Language: Dart
  • Default Branch: master
  • Homepage: https://www.dwaste.live/
  • Size: 43.9 MB
Statistics
  • Stars: 57
  • Watchers: 3
  • Forks: 20
  • Open Issues: 1
  • Releases: 0
Topics
community-project deep-learning eco-friendly enviroment flutter flutter-apps garbage-classification github hacktoberfest image-classification learn machine-learning open-source open-source-project pr-welcome recycle recycling student-vscode travis
Created about 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Code of conduct

README.md

Deep Waste: Scan, identify, learn, manage, and earn rewards.

Build Status License

D.Waste is as an open source AI-powered app that enables users to identify the type of waste they are trying to dispose of and provides guidance on how to do so correctly. The app offers a rewards program to incentivise proper waste management, and users can earn points for correctly identifying and disposing of waste. The app also provides educational resources on waste management and tracks the user's progress over time. Deep Waste is currently available on App Store the and Google Play Store.

D.Waste App

Background

Waste identification is a crucial step in the waste management process that enables facilities to properly handle, recycle, and reduce their waste, while also ensuring compliance with regulations and tracking their progress over time. The integration of machine learning models with mobile devices can enhance the precision, ease, and effectiveness of waste management endeavors, as well as furnish valuable information for monitoring and decreasing waste.

In this app, we have prepared a substantial collection of waste images and trained a machine learning model. The trained model is then installed on a mobile device, enabling real-time waste identification. By simply capturing an image of the waste with their mobile device, users can receive an instant classification of the waste into categories such as paper, plastic, glass, metal, and more, via the machine learning model. With this approach, one can have many advantages such as: - Convenience: By using mobile devices, waste identification can be performed anywhere, at any time, making it more accessible and convenient for users. - Increased Accuracy: Machine learning models are trained on large datasets, which can result in improved accuracy compared to manual waste classification. - Real-time Feedback: By using a mobile device, users receive instant feedback on the type of waste they are dealing with, allowing them to make informed decisions on how to properly manage the waste. - Data Collection: The data collected through mobile waste identification can be used to track waste generation and management efforts over time, helping to identify areas for improvement and set new waste reduction goals.

Features

Here are some of its features:

📸 Snap or upload a picture of a waste
📱 Install the app on your phone for easy access
♻️ Learn how to recycle effectively using AI
🥤 Keep track of how many waste items you've recycled
🏆 Get rewarded for each managed waste
🌍 Help to make our earth cleaner
✨...and much more to come - all for free & no sign in needed!

Deep Waste - Making waste management fun and easy   | Product Hunt

How is it used?

After training the AI model, we export it to TensorFlow Lite for mobile device compatibility. Using the app, users take or upload a picture of their waste, which the model then analyzes and provides suggestions for waste management. When users successfully manage their waste, they receive rewards. To enhance the accuracy of the system, users can submit incorrect predictions and specify the type of waste.

Research papers

Several research papers have been published to support this research. Here are a few of them:

Data sources

We have created our own waste dataset to support the app which can be found in Kaggle. These dataset consists of waste images grouped into 10 classes (metal, glass, biological, paper, battery, trash, cardboard, shoes, clothes, and plastic). It is collected from various internet sources and through the app, labeled and manually verified. Data preprocessing activities including data cleaning, resizing, normalization, and file format handling were performed.

Waste Dataset

Challenges

This project classifies most of the waste but for some, it's still a problem. These images whose accuracy is less than 45 or with wrong prediction needs to be find into the model so that machine can learn from it. Besides that, some of the devices has problem running the model resulting crashing the whole application.

REST API?

The REST API of the deep waste model can be found here.

What next?

The plan is to add a way to support internationlization. The language support will help to reach more people and lessen the boundries.

Demo

Deep Waste

Available on

Google Play

App Store

Getting Started

  1. Install Flutter: Follow the instructions at flutter.io/setup.
  2. Clone this repository.
  3. Navigate to the deep-waste-app directory.
  4. Run the application: Execute the command flutter run.

Structure

The main classes are under lib directory.

directory | description

assets
├── models
# waste classification model
lib
├── ...
├── components                   # reusable components
├── constants                    # constants used in project
├── models                     # data structure to define the shape of data
├── screens                    # different view used in the app
├── controller                    # an intermidiate between view and model responsible for updating model and manupluates the view of the app    
├── test                    # Test files (alternatively `spec` or `tests`)
└── routes.dart             # maps urls for navigation
└── ...

Contributing

Contributions are always welcome. Feel free to report Issue or send Pull Request.

Acknowledgments

We extend our heartfelt thanks to all the users and contributors who provided invaluable feedback and suggestions. Your insights and the images you shared have been instrumental in enhancing our model. Thank you for your support and collaboration in making this project better.

License

``` BSD 3-Clause License

Copyright (c) 2023, Suman Kunwar

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ``` Feel free to reach out to us at sumn2u (at) gmail.com, to Suman directly if you have any questions or feedback! Hope you find this useful 💜

Owner

  • Name: Suman Kunwar
  • Login: sumn2u
  • Kind: user
  • Location: Texas
  • Company: @LatanaTech

Co-Founder Mom's Store Nepal | Frontend Consultant @Latana

GitHub Events

Total
  • Watch event: 13
  • Pull request event: 2
  • Fork event: 7
Last Year
  • Watch event: 13
  • Pull request event: 2
  • Fork event: 7

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 54
  • Total Committers: 1
  • Avg Commits per committer: 54.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
suman s****r@d****m 54
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 3
  • Total pull requests: 3
  • Average time to close issues: 2 months
  • Average time to close pull requests: 17 days
  • Total issue authors: 1
  • Total pull request authors: 3
  • Average comments per issue: 2.67
  • Average comments per pull request: 0.33
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 16 minutes
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • sumn2u (3)
Pull Request Authors
  • mohitrajsinha (2)
  • saras1212 (1)
  • sumn2u (1)
Top Labels
Issue Labels
enhancement (2) up for grabs (1) hacktoberfest (1) help wanted (1)
Pull Request Labels

Dependencies

ios/Podfile cocoapods
  • TensorFlowLiteC = 2.2.0
ios/Podfile.lock cocoapods
  • FMDB 2.7.5
  • Flutter 1.0.0
  • TensorFlowLiteC 2.2.0
  • image_picker 0.0.1
  • sqflite 0.0.2
  • tflite 1.1.2
android/app/build.gradle maven
  • org.jetbrains.kotlin:kotlin-stdlib-jdk7 $kotlin_version implementation
pubspec.lock pub
  • archive 3.3.5
  • args 2.3.2
  • async 2.9.0
  • boolean_selector 2.1.0
  • characters 1.2.1
  • charcode 1.3.1
  • checked_yaml 2.0.2
  • cli_util 0.3.5
  • clock 1.1.1
  • collection 1.16.0
  • convert 3.1.1
  • crypto 3.0.2
  • cupertino_icons 1.0.3
  • expandable 5.0.1
  • fab_circular_menu 1.0.2
  • fake_async 1.3.1
  • flutter 0.0.0
  • flutter_easyloading 2.2.2
  • flutter_launcher_icons 0.11.0
  • flutter_lints 1.0.4
  • flutter_plugin_android_lifecycle 1.0.11
  • flutter_spinkit 4.1.2+1
  • flutter_svg 1.1.6
  • flutter_test 0.0.0
  • http 0.12.2
  • http_parser 3.1.4
  • image 3.3.0
  • image_picker 0.6.7+22
  • image_picker_platform_interface 1.1.6
  • js 0.6.5
  • json_annotation 4.8.0
  • lints 1.0.1
  • matcher 0.12.12
  • material_color_utilities 0.1.5
  • meta 1.8.0
  • nested 1.0.0
  • path 1.8.2
  • path_drawing 1.0.1
  • path_parsing 1.0.1
  • pedantic 1.11.1
  • petitparser 5.1.0
  • plugin_platform_interface 1.0.3
  • pointycastle 3.6.2
  • provider 5.0.0
  • sky_engine 0.0.99
  • source_span 1.9.0
  • sqflite 2.2.4+1
  • sqflite_common 2.4.2+2
  • stack_trace 1.10.0
  • stream_channel 2.1.0
  • string_scanner 1.1.1
  • synchronized 3.0.1
  • term_glyph 1.2.1
  • test_api 0.4.12
  • tflite 1.1.2
  • typed_data 1.3.0
  • vector_math 2.1.2
  • xml 6.1.0
  • yaml 3.1.1
pubspec.yaml pub
  • flutter_launcher_icons ^0.11.0 development
  • flutter_lints ^1.0.0 development
  • flutter_test --- !ruby/hash:ActiveSupport::HashWithIndifferentAccess sdk: flutter development
  • cupertino_icons ^1.0.2
  • expandable ^5.0.1
  • fab_circular_menu ^1.0.0
  • flutter --- !ruby/hash:ActiveSupport::HashWithIndifferentAccess sdk: flutter
  • flutter_easyloading ^2.2.2
  • flutter_svg ^1.1.6
  • image_picker ^0.6.7+12
  • provider ^5.0.0
  • sqflite ^2.2.4+1
  • tflite ^1.1.2
android/build.gradle maven