What kind of images/objects are the most easy for neural networks to detect?

I need to design a marker image that should be detected by the neural network. I am aware that it is not a complex task just to detect an image and this can be done with OpenCV alone. However the detector but this should also work also in pure visibility conditions (low light, out of focus, worn out/partially damaged, makes tiny part of the image only, etc). The background around the marker image is just the real world, difficult to predict what it could be there.

What kind of images are the most easy for neural networks to work with? Most important

  • Should it have sharp contrast like letters or road signs or color gradients may work better?
  • Would repeating pattern (like chevron frame around) as part of the object help or better to have every piece of the tag unique?

I know that neural networks are mostly used to the "real world" images like humans and horses, but I am not sure if they are better objects or just it is more impressive to get them recognized.

From the other side, objects that humans make on purpose just to recognize them (like road signs) mostly use sharp contrast. I do not remember any road or other sign with any kind of color gradient but repeating pattern like chevron frame around is sometimes used. From the other side, a road sigh with color gradients is more complex to manufacture, and maybe the technology simply did not exist when they were first invented.

Is there any consensus which kind of objects are the most easy to recognize by neural networks under "noisy input" conditions?

Topic image-recognition

Category Data Science


You are describing the field of robust object detection.

It depends greatly on the specifics of the data and model. Similar to person looking for their keys at night only under a street light, most robust object detection research is related to autonomous driving.

The simplest answer might be something out of sample from the training data. If the marker object is 100% synthetic, a model would quickly learn it since there would be no confusion with other inputs. Again, the definition of 100% synthetic would depend on the training set.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.