Trash AI

Trash AI: A Web GUI for Serverless Computer Vision Analysis of Images of Trash - Published in JOSS (2023)

https://github.com/opensacorg/trash-ai

Science Score: 54.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary

Keywords from Contributors

blackhole gravitational-lenses meshes pypi annotations simulations hydrology stellar exoplanets pde

Scientific Fields

Computer Science Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Web based trash image classification

Basic Info
  • Host: GitHub
  • Owner: opensacorg
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: aws/trashai-staging
  • Homepage: https://www.trashai.org
  • Size: 70.7 MB
Statistics
  • Stars: 51
  • Watchers: 10
  • Forks: 32
  • Open Issues: 31
  • Releases: 3
Created about 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Trash AI: Web application for serverless image classification of trash

Website status

Project Information

Project Summary

Trash AI is a web application where users can upload photos of litter, which will be labeled using computer vision to detect and categorize litter in the image by type. Early inspiration from WADE AI streamlined this development. Trash AI will enhance the abilities of researchers to quickly label trash in photos.

Demo

image

Deployment

You can simply go to www.trashai.org to start using the tool or deploy it yourself. Current self-deployment options are local deployment with docker to remote on Amazon Web Services (AWS).

Run Local Docker Instance

docker run -p 5150:5150 -it code4sac/trashai:latest

Navigate to http://localhost:5150

If you are attempting to run on an Apple Silicon device, you might get the following error:

docker: no matching manifest for linux/arm64/v8 in the manifest list entries.

This can be remedied by specifying the build platform.

docker run --platform linux/x86_64 -p 5150:5150 -it code4sac/trashai:latest

Deploy to Any Webserver

If you want to deploy this to a static web directory and serve it using apache or nginx, you can do so with the following command using /var/www/html as an example destination directory.

```

create container from latest public trash ai docker image

id=$(docker create code4sac/trashai:latest)

copy the static files

docker cp $id:/usr/share/nginx/html /var/www/html

remove created container

docker rm -v $id ```

Local Development

  • Run the environment live with localstack and docker.

AWS Deployment

  • Instructions on bringing up a new AWS deployment.

Continuous Integration and Continuous Delivery (CI/CD) - Github Actions

  • Mostly CD at this point.

Github Actions AWS Deployment Role

  • Runs the complex stuff so you don't have to.

Tests

Instructions for automated and manual tests here.

Functionality

Documentation on typical workflow and functionality of the tool can be found here

Contribute

We welcome contributions of all kinds.

To get started, look at the Start Here section of the project board

You can open an issue or pull request.

Here are some ideas on How to Contribute.

Please adhere to this project's Code of Conduct.

Owner

  • Name: Open Sacramento
  • Login: opensacorg
  • Kind: organization
  • Email: hello@opensac.org
  • Location: United States of America

We're civic-minded volunteers who contribute our skills toward using the web as a platform for local government and community service.

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Cowger
  given-names: Win
  orcid: "https://orcid.org/0000-0001-9226-3104"
- family-names: Hollingsworth
  given-names: Steven
- family-names: Fey
  given-names: Dan
- family-names: Norris
  given-names: Mary C
- family-names: Yu
  given-names: Walter
- family-names: Kerge
  given-names: Kristiina
- family-names: Haamer
  given-names: Kris
- family-names: Durante
  given-names: Gina
- family-names: Hernandez
  given-names: Brianda
contact:
- family-names: Hollingsworth
  given-names: Steven
doi: 10.5281/zenodo.8384126
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Cowger
    given-names: Win
    orcid: "https://orcid.org/0000-0001-9226-3104"
  - family-names: Hollingsworth
    given-names: Steven
  - family-names: Fey
    given-names: Day
  - family-names: Norris
    given-names: Mary C
  - family-names: Yu
    given-names: Walter
  - family-names: Kerge
    given-names: Kristiina
  - family-names: Haamer
    given-names: Kris
  - family-names: Durante
    given-names: Gina
  - family-names: Hernandez
    given-names: Brianda
  date-published: 2023-09-29
  doi: 10.21105/joss.05136
  issn: 2475-9066
  issue: 89
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 5136
  title: "Trash AI: A Web GUI for Serverless Computer Vision Analysis of
    Images of Trash"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.05136"
  volume: 8
title: "Trash AI: A Web GUI for Serverless Computer Vision Analysis of
  Images of Trash"

GitHub Events

Total
  • Watch event: 1
  • Member event: 1
  • Fork event: 1
Last Year
  • Watch event: 1
  • Member event: 1
  • Fork event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 223
  • Total Committers: 17
  • Avg Commits per committer: 13.118
  • Development Distribution Score (DDS): 0.57
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Steven Hollingsworth s****h@b****m 96
Dan Fey f****m@g****m 32
dependabot[bot] 4****] 31
josephmfaulkner j****r@g****m 26
Steven Hollingsworth h****d@g****m 13
Win Cowger, PhD w****r@g****m 5
Elizabeth Pierotti 6****3 5
Zesky665 z****c@g****m 3
wyu k****a@g****m 3
Donald Brower d****1@g****m 2
Jonathan Romano j****n@l****m 1
Jim Ewald j****d@g****m 1
Jeff M 4****e 1
Gina Durante 4****9 1
Arfon Smith a****n 1
Andrew S 9****d 1
Leonidas Gkimisis 9****h 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 44
  • Total pull requests: 63
  • Average time to close issues: 2 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 8
  • Total pull request authors: 10
  • Average comments per issue: 1.59
  • Average comments per pull request: 0.19
  • Merged pull requests: 54
  • Bot issues: 0
  • Bot pull requests: 25
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • epierotti3 (15)
  • wincowgerDEV (14)
  • feydan (6)
  • shollingsworth (5)
  • lennartsteenberghs (1)
  • natebass (1)
  • DhruvSingh0905 (1)
  • TomyangSydney (1)
Pull Request Authors
  • dependabot[bot] (25)
  • feydan (11)
  • shollingsworth (11)
  • epierotti3 (6)
  • Zesky665 (3)
  • wincowgerDEV (3)
  • lovejavaee (1)
  • arfon (1)
  • luxaritas (1)
  • SyntheticNerd (1)
Top Labels
Issue Labels
enhancement (14) reviewer comment (10) documentation (9) role: project managers (8) role: data science / ML engineers (8) bug (4) size: 2 pt (3) size: 3 pt (3) size: 1 pt (3) recruitment (3) help wanted (3) role: leadership (2) role: marketing / outreach (2) good first issue (1) never closes (1) duplicate (1) role: design (1) size: 4 pt (1) role: front end (1)
Pull Request Labels
dependencies (25) role: project managers (2) reviewer comment (1) enhancement (1) role: leadership (1)

Dependencies

.github/workflows/bootstrap.yml actions
  • actions/checkout v1 composite
  • actions/setup-node v2 composite
  • aws-actions/configure-aws-credentials master composite
.github/workflows/draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/github-role.yaml actions
  • actions/checkout v1 composite
  • actions/setup-node v2 composite
  • aws-actions/configure-aws-credentials master composite
.github/workflows/infra.yaml actions
  • actions/checkout v1 composite
  • actions/setup-node v2 composite
  • actions/setup-python v3 composite
  • aws-actions/configure-aws-credentials v1 composite
.github/workflows/manual_run.yaml actions
  • actions/checkout v1 composite
  • actions/setup-node v2 composite
  • actions/setup-python v3 composite
  • aws-actions/configure-aws-credentials v1 composite
localdev/Dockerfile docker
  • node 14.18-buster build
model/build/Dockerfile docker
  • python 3.9 build
frontend/yarn.lock npm
  • 989 dependencies
infra/package.json npm
  • @types/jest ^26.0.10 development
  • jest ^26.4.2 development
  • serverless ^2.72.1 development
  • serverless-localstack ^0.4.35 development
  • serverless-offline ^8.4.0 development
  • ts-jest ^26.2.0 development
  • ts-node ^9.0.0 development
  • typescript ~3.9.7 development
  • vite ^3.0.4 development
  • @aws-cdk/aws-amplify 1.141.0
  • @aws-cdk/aws-certificatemanager 1.141.0
  • @aws-cdk/aws-cloudfront 1.141.0
  • @aws-cdk/aws-iam 1.141.0
  • @aws-cdk/aws-route53 1.141.0
  • @aws-cdk/aws-route53-targets 1.141.0
  • @aws-cdk/aws-s3 1.141.0
  • @aws-cdk/aws-s3-assets 1.141.0
  • @aws-cdk/aws-secretsmanager 1.141.0
  • @aws-cdk/aws-ssm 1.141.0
  • @aws-cdk/core 1.141.0
  • @types/folder-hash ^4.0.1
  • @types/node ^17.0.12
  • aws-cdk 1.141.0
  • aws-cdk-local ^1.65.8
  • aws-sdk ^2.1063.0
  • child_process ^1.0.2
  • constructs ^10.0.0
  • folder-hash ^4.0.1
  • source-map-support ^0.5.16
  • typescript-language-server ^0.9.4
infra/yarn.lock npm
  • 1193 dependencies
infra/requirements.txt pypi
  • aws-cdk-lib *
  • awscli *
  • awscli-local *
  • boto3 <2
  • localstack-client *
backend/package.json npm
  • form-data ^4.0.0
  • nodemon ^2.0.15
  • serverless ^3.1.1
  • serverless-localstack ^0.4.35
  • serverless-offline ^8.5.0
  • serverless-python-requirements ^5.4.0
backend/yarn.lock npm
  • 582 dependencies
frontend/package.json npm
  • @nuxt/types ^2.15.8 development
  • @nuxt/typescript-build ^2.1.0 development
  • @nuxtjs/vuetify ^1.12.3 development
  • @vue/test-utils ^1.3.0 development
  • babel-core 7.0.0-bridge.0 development
  • babel-jest ^27.4.4 development
  • jest ^27.4.4 development
  • ts-jest ^27.1.1 development
  • vue-jest ^3.0.4 development
  • @nuxtjs/axios ^5.13.6
  • @tensorflow-models/coco-ssd ^2.2.2
  • @tensorflow/tfjs ^3.13.0
  • core-js ^3.19.3
  • crypto-js ^4.1.1
  • dayjs ^1.10.7
  • dexie ^3.2.1
  • file-saver ^2.0.5
  • jszip ^3.8.0
  • nuxt ^2.15.8
  • tiny-timer ^1.6.0
  • vue ^2.6.14
  • vue-inner-image-zoom ^1.1.1
  • vue-lodash ^2.1.2
  • vue-server-renderer ^2.6.14
  • vue-template-compiler ^2.6.14
  • vuetify ^2.6.1
  • vuex-persistedstate ^4.1.0
  • webpack ^4.46.0
backend/requirements.txt pypi
  • aws-lambda-powertools *
  • boto3 <2
  • fastapi *
  • mangum ==0.12.4
  • python-multipart ==0.0.5