Trash(garbage) detection by deep learning


#1

Have anyone try to do this by object detection network like yolo v3, Faster RCNN? Try to google but haven’t found research papers focus on trash detection with big data set and decent results.

The type of the trash I would like to detect are

  1. cigarette
  2. metal(can of coca-cola, 7up etc)
  3. paper
  4. cardboard
  5. plastics

Since the garbage I want detect are semi-rigid, I think they maybe good candidates for object detection network.

The problem I have no idea how to solve is, how could I classify it is a garbage, or not a garbage?
A can or bottle may looks like a garbage for the machine even it is not a garbage(ex : coca-cola on the table)


#2

Hi @stereomatchingkiss,

You need to think about the context you’re going to apply the model, and get data that will be representative of what the model will be applied to. Are you looking at this dataset? It looks like this is for classification (rather than object detection), and would give a model that’s useful for sorting garbage at a recycling plant. So a coca-cola can should always be classed as metal garbage.

Check out the models in GluonCV for Classification and then models for Object Detection if you’re able to get your hands on some bounding box labels.


#3

Yes, but it is small and for classification task

The use cases are detect garbage on road, peddler, super market, park by surveillance camera
You could treat it as one of the features of a security app.

Since this app plan to use surveillance camera to detect garbage, it is possible for it to treat a metal which is not a garbage as a garbage, I can tell the object detector it is a metal I want to detect, but the detector do not know it is a garbage or not.

I checked them before and have trained a detector with yolo v3 by custom data. You can check my blog post if you are interesting.

Edit : It is just a concept right now, since I do not have a way to access the garbage captured by tons of surveillance camera, I may give up on this plan.


#4

You need to first define garbage conceptually. As an example, you might define it as any small object that’s on the road (that’s not a vehicle). You could then run image segmentation (to work out where the road is) and then object detection to find objects in the road. But all of this needs a suitable dataset of course. Good luck with the project!