Have you attended an online call with Public Lab? We'd love your feedback!

Question: How can I identify bits of plastic from the beach in an image?

jlev is asking a question about general: Follow this topic

jlev asked on February 01, 2018 00:52
481 views | #15654

A friend at Greenpeace asked me if there's a way to automate counting micro-plastic particles from beach surveys.

I played around a bit with the Image Sequencer, but it wonder if there's a relatively simple filter I can apply to the RGB channels to find edges, without having to predefine the colors I want to extract.

I attached an example image, which could also be on a dark background if that would help with the lighter pieces. Once we have a good filtering process, we'd want to build a simple webapp to let people take photos and do counts themselves.


Ooh! @maxliboiron maybe you know something about this? I have to dig through some old emails to find someone else who's mentioned this to me too.

Is this a question? Click here to post it to the Questions page.

Reply to this comment...

What might be the processing steps, to try to break this down? Could they look like some of the steps @SimonPyle, @AmberWise, @damarquis and @amirberAgain have prototyped for dust detection?

I collected up a bunch of this work under the tag #particle-imaging too.

Is this a question? Click here to post it to the Questions page.

Reply to this comment...

Could you upload a few more image samples? Is it possible to ask that the samples be illuminated from a wide light source such that shade will be kept to a minimum? Is it possible to place a scale on the side of the image?

Is this a question? Click here to post it to the Questions page.

Reply to this comment...

I tried to apply the same simplistic approach as was in the particle image. Not sure why, but Sobel didn't work, but Canny did. Other than that - this is a more difficult problem, the particles are not as spaced out and are actually touching, some pieces are the same color and brightness as the background, others have a sharp color variation inside of the particulate. I think that we have a large set of images it would be easy enough to start generating image snippets that could then be rated, annotated and labeled by crowdsourcing. But my inexperienced gut feeling is that this would pose a harder problem than the dust particles. In the image below red rectangles are based on hue (none found - need to figure out why), green rectangles are based on the Saturation channel and blue rectangles are on the value (sorta grayscale).


Thanks @amirberAgain. I've contacted my friend at Greenpeace and asked him for some more images with less overlap and a wider array of lighting conditions. They're just trying to figure out if this is viable at the moment, so thanks for your insight.

And just to link to what @amirberAgain mentioned about automatic particle detection in #silica #dust pollution:



Reply to this comment...

Another ask/ suggestion would be to image using black/uv light, most plastics would show strong signs of fluorescence which might help descriminating them from the background. If we get really lucky they might be able to use it to tell types of plastics and get an indication to the time it would take then to decompose.

Reply to this comment...

More info here

Reply to this comment...

Got some good feedback from @maxliboiron from Newfoundland and http://civiclaboratory.nl --

@maxliboirox: You can't. Not with any accuracy. A few folks have been working in this for years. Nothing yet (or maybe ever).

@maxliboirox: @publiclab Yep-- the microplastics CS project on zooniverse is about ID-ing plastics in photos. They know/outline the limitations pretty well (only large plastics, which accounts for only 7% of all marine plastics), films are hard to see, etc. They've been working in an algorithm to ID large plastics from drone footage, since the other limitation is the resolution and number of photos you'd need to make any count useful.


Reply to this comment...

Another ask /suggestion : place particles on a polarized film sheet illuminated from below, image with a cross polarizer to remove the background.

Reply to this comment...

If this thread is still valid, the edge-detect module is going to change soon. In the PR https://github.com/publiclab/image-sequencer/pull/771 , significant changes will be made to the module. If someone wants to use the module currently, they can clone the fork where this change is hosted https://github.com/HarshKhandeparkar/image-sequencer . The branch name is 'complete-edge-detect' https://github.com/HarshKhandeparkar/image-sequencer/tree/complete-edge-detect?files=1 . I will post a sample output image in this answer. I hope this helps.

Edit: the image isn't uploading, here is a link to the same https://user-images.githubusercontent.com/34770591/52835912-814b2700-310e-11e9-9486-ca203531a4e4.png

Is this a question? Click here to post it to the Questions page.

Hello guys! Update! A working UI for new edge-detect module is available here https://harshkhandeparkar.github.io/image-sequencer/examples/legacy/

Please note that in the link provided above, the page will not look proper. This is because there is a bug in image sequencer code itself. This will be fixed soon. Sorry for the inconvenience.

If you couldn't upload an image when I first uploaded the link, that has been fixed now. You can upload images. Just be sure to clear the cache. I myself used edge detect on the original plastics image and got this result

My image isn't uploading. Why is this happening? Can someone help me? The progress bar doesn't change.

Is this a question? Click here to post it to the Questions page.

Update! Edge Detect Module completion pr has been merged into the main branch.

Demo for the module is available here https://harshithpabbati.github.io/image-sequencer/

Reply to this comment...

Log in to comment