GithubHelp home page GithubHelp logo

gicait / plitter Goto Github PK

View Code? Open in Web Editor NEW
20.0 5.0 2.0 317.66 MB

pLitter is a standardized, deep learning friendly dataset and pre-trained model that can be used for detecting plastic litter in streets , road-sides, etc. Additionally, all supplementary codes related to this repository are also published here.

Python 40.23% JavaScript 0.82% Jupyter Notebook 58.95%
deep-learning trash litter plastic object-detection plastic-pollution computer-vision litter-mapping opensourcedataset

plitter's Introduction

pLitter - Plastic Litter identification and monitoring

An initiative of GIC-AIT to address the plastic pollution through leveraging the Deep Learning and geospatial technologies. pLitter tool and its modules enbale us to map or monitor the plastic pollution in various parts of the outdoor environment. pLitter follows 4M (MAN, MACHINE, MAPPING, AND MONITORING) and uses different tools/methods for data (image/videos) colelction mathcing to the location of plastic pollution, and Deep Learning based object detectors for litter objects identification in the collected data.


# Mapping

VM camera

Surveying the roadsides and streets at city scale reveals the littering conditions such as identification of hotspots. The feasible and cost-effective way is using vehicle mounted cameras for data collection. AI algorithms can detect the macro plastic litter in the imagery and it can be associated with the corresponding GPS location. We successfully used this method to map the city scale level in two cities Chiang Rai and Ubon Ratchathani in Thailand, Hanwella and Mawanella in Sri Lanka, and Can Tho in Vietnam. We call this approach as pLitter-Street

pLitter-Street helps to make predictions to detect theplastic litter in the images/videos and these detections are being used to map plastic litter distribution (as snapshot of plastic pollution) in the cities. Example heat-map of a beach at Rayong(Thailand) is showing plastic litter distribution in a city is shown below. Visit https://plitter.org/street or https://gicait.github.io/pLitter/street/ plitter street mapping here.

Demo Heatmap

Drones are useful for data collection for plastic pollution mapping in remote areas where the road network is not available and manual data collection not feasible. Addressing the integration of plastic monitoring in the riverbank and water bodies, aerial images are deployed to deliver the higher resolution of plastic waste accumulated and floated in the river and map the extended area of the river.


# Monitoring

CCTV Unit Timelapse video

Rivers are one of the major pathways of plastic debris into the ocean. These plastics in the rivers may dispose through direct dumping into the river flow, catalysed by the rain and exacerbated by the flooding events. For the estimation and flux monitoring of floating plastic in the river, it requires stationary cameras for continuous image capturing at location with recording evidence of floating plastics. We installed multiple cameras on the Mekong River near the golden triangle in Chiang Rai of Thailand and our cameras are in continuous function from November 2021 to till date. The advantage of our cameras is AI enabled to automatically detect the floating plastics and low cost.


# Motivation

The Geoinformatics Center (GIC) of Asian Institute of Technology (AIT) partnered with the United Nations Environment Program (UNEP) for years, to form a network of volunteer cleanup teams to perform beach/river cleanup activities. Together UNEP and GIC worked for the CounterMEAUSRE project (https://countermeasure.asia/) in 2018, funded by the Government of Japan. The CounterMEASURE project works to identify sources and pathways of plastic pollution in river systems in Asia, particularly the Mekong and the Ganges. During the project implementation, project partners including local governments and universities collected thousands of images using GIC Mobile Application (Plastic Accumulation Hotspot Survey: https://arcg.is/1bDqbW) and it was not used to identify plastic litter. Therefore, our ultimate target is to build image recognition tools with modern machine learning techniques to quickly identify plastic litter in different scenes such as roadside, riverside, and beachside. We do believed that the outcome of this work can be used to inform policy decisions and actions to beat plastic pollution and ensure rivers are free of plastic waste.


# Our Approach

In the conventional sense, typical machine learning pipeline consisted of collecting data, annotating data, training, validation and prediction. This is a very successful pipeline for many problems such as face detection, character recognition, etc. But the problem with plastic litter is, simply it is trash, it can be seen in various types, shapes, forms, backgrounds etc. So, variations are too complex to capture in a single model with a single annotated dataset. So we believe, the solution for this is Active Learning. Our ultimate goal would be to go beyond domain specific plastic litter detections, and provide detection capabilities in a wide range of cities (universal plastic litter detector). Schematic diagram of active learning framework that we are using for plastic litter identification problem is shows in the below Figure.

HeatMap


# Datasets

We have prepared datsets separatelty for street level plastic litter (pLitterStreet) and floating plastic litters (pLitterFloat). These datasets contains RGB images, plastic litter annotations (JSON format same as COCO).

pLitterStreet Dataset.

This dataset contains images from following locations,

  • Pathumthani, Ubon Ratchathani, and Chiang Rai (Thailand)
  • Can Tho (Vietnam)
  • Hanwella & Mawanella (Sri Lanka)
  • Other Mekong river basin areas (contains only piles i.e, clusters of litter on the roadsides)

pLitterFloat (link will be updated) contains data from,

  • Mekong river, Chaing Rai, Thailand
  • Ruak river, Chiang Rai, Thialand
  • Chao Praya river, Bangkok, Thailand
  • Cantho river, Cantho, Vietnam (coming soon)

Trying add more data from new locations (please contact us if you have data to contribute.)

Note: We have used a open-source Annotator tool built from COCO annotator for generation of bounding box annotations with the help of group of annotators. If you are planning to generate your own training data, it is an option


# Pre-trained models

Trained weights of YOLOv5 are give below.

Dataset Model AP50 Link
Street YOLOv5l 0.77 download
CCTV YOLOv5s 0.43 download

# Usage

Refer to pLitter Street demo for street level detection and mapping Refer to pLitter CCTV demo for detecting the floating plastics.

Also visit pLitter pages to look at the all initiatives of pLitter.


# Citation

Use the below bibtex to cite us.

@misc{plitterstreet,
      title={pLitterStreet: Street Level Plastic Litter Detection and Mapping}, 
      author={Sriram Reddy Mandhati and N. Lakmal Deshapriya and Chatura Lavanga Mendis and Kavinda Gunasekara and Frank Yrle and Angsana Chaksan and Sujit Sanjeev},
      year={2024},
      url={https://arxiv.org/abs/2401.14719},
      eprint={2401.14719},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

@misc{pLitterFloat_2022,
  title={pLitter-float, floating plastic litter detection in the rivers},
  author={Sriram Reddy, Chatura Lavanga, Kavinda Gunasekara, and Angsana Chaksan},
  year={2022},
  publisher={Github},
  howpublished={\url{https://github.com/gicait/pLitter/}},
}

Developed by

Geoinformatics Center of Asian Institute of Technology.

Supported by

CounterMEASURE project of UN Environment Programme.

plitter's People

Contributors

lakmalnd avatar sriramreddym avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

plitter's Issues

Demo Files/Documentation.

I'm interested in trying out the library and trying to walk through the demo. There's no documentation as mentioned in pLitter/demo/pLitterStreet_demo.ipynb: "A video file and GPS track file in CSV format is must. Check out the documentation for preparing it." And I can't seem to download the sample data from the google drive. I think it has been removed. Thanks.

Inhomogeneous shape

I run start.sh in cctv branch with your test.jpg image but I have this issue:

Traceback (most recent call last):
File "cctv/capture_track.py", line 247, in
tracker_preds = tracker.update(preds, curr_frame)
File "/dev/plitter/./Yolov5_StrongSORT_OSNet/trackers/strong_sort/strong_sort.py", line 91, in update
outputs.append(np.array([x1, y1, x2, y2, track_id, class_id, conf, queue]))
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (8,) + inhomogeneous part.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.