How to make Neural Network Ignore the background?

I'm running deep learning on rocks, the trey the rocks sit on needs to be ignored, so I paint it a different color (neon green) and used a color thresholder generator to remove the background.
The problem is the 'removed' section still shows up as pixels on the image. So even when I 'remove' the background, the image itself still has all that empty space. I want the neural network to completely ignore it and only see the rocks.
Please help, for a really thorough solution I'll send you some bitcoin :)

6 comentarios

Jose Marques
Jose Marques el 9 de Sept. de 2017
What kind of information you want from the neural networkw? Perhaps you do not have to remove the background (the code maybe learn even with the background)
Simon MADEC
Simon MADEC el 9 de Sept. de 2017
There is a lot of possibilities, the best results may be achieved using mask RCNN. You can try this : https://github.com/jasjeetIM/Mask-RCNN
Steven Moran
Steven Moran el 10 de Sept. de 2017
I'm using the neural network to classify rocks. But if it sees the background it thinks the background is a rock and tries to classify it as such. I need it to completely ignore the background.
It is not clear what your classes are. From your description I deduce
class1 = tray
class2 = rock
which probably is not correct.
So, please enlighten us.
Greg
Image Analyst
Image Analyst el 13 de Sept. de 2017
An image must remain rectangular so you can't really "remove" the pixels. You can color them a different color like blue or green or black, but they are still there if you want it to be a 2-D image, as opposed to just a 1-D list of color values. Please define exactly what "remove" means to you. Do you just mean "ignore"? Or do you think (incorrectly) that the "tray" pixels can somehow be thrown away so they do not even appear in the image at all?
Steven Moran
Steven Moran el 13 de Sept. de 2017
I want the neural network to ignore the background.
Apparently that simply means I need to train a 'class' as the background itself, since the background can't be 'removed' fully?
I have 6 classes of rock types. Apparently I need to make the background Tray as a class also?

Iniciar sesión para comentar.

Respuestas (2)

Greg Heath
Greg Heath el 13 de Sept. de 2017
You don't need to remove the background.
Just consider it another class.
Hope this helps.
Thank you for formally accepting my answer
Greg

1 comentario

Steven Moran
Steven Moran el 13 de Sept. de 2017
Ok I'll try it this weekend. I'll let you know how it goes.

Iniciar sesión para comentar.

Helper
Helper el 13 de Sept. de 2017

1 voto

If you want to classify different types of rock, then you do not have to remove the background.
One of the powerful place of Neural Network is it could extract useful feature automatically (namely, remove the useless information automatically). Generally, the first several layers of Neural Network work as feature extractor, and the following layers work as a classifier.

1 comentario

Steven Moran
Steven Moran el 13 de Sept. de 2017
Editada: Steven Moran el 13 de Sept. de 2017
one of my rock classes is very smooth and dark(like the background trey surface). that's why Im thinking I need to paint the background and set the background as its own class. I'm also splitting the screen into 300x300 pixel segments so get the exact percentage of each rock type present in the sample. When I segment it into smaller portions, it thinks the background is a smooth rock. That's why I need to paint it and set it as its own class I think.

Iniciar sesión para comentar.

Categorías

Más información sobre Deep Learning Toolbox en Centro de ayuda y File Exchange.

Preguntada:

el 7 de Sept. de 2017

Editada:

el 13 de Sept. de 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by