Auto Flora Detection in Images

My image dataset is from http://www.image-net.org . There are various syntheses for different things, such as flora, fauna, people, etc.
I need to prepare a classifier that predicts 1 if the image belongs to a floral synset and 0 otherwise.
Images belonging to flower synset can be viewed at http://www.image-net.org/explore by clicking on the plants, flora and plants option in the left pane.

These images include a wide variety of plant plants, herbs, shrubs, flowers, etc. I can’t understand what functions to use to train the classifier. These images have a lot of greenery, but there are many floral images that do not have a lot of green component. Another feature is the shape of the leaves and petals.

It would be helpful if anyone could suggest how to extract this figure and use it to train the classifier. Also suggest what other functions can be used to train the classifier.
And after extracting the functions, which algorithm should be used to train the classifier?

+4
source share
2 answers

Not sure if form information is the dataset approach that you are attached to.

Just by looking at some of the images, I have a few suggestions for classification:

  • Natural scenes rarely have straight lines - line detection
  • You can reset scenes in which there is an “unnatural” color in them.
  • If you want to try something more advanced, I would suggest that the hybrid between entropy / pattern recognition will be a good classifier, as natural scenes have many others.
  • Trying to match patterns / matching shapes for leaves / petals will ruin your heart - you need to use something much more general.

As for which classifier to use ... I would first advise K-tools initially, and as soon as you get some results, find out if the Bayes or Neural Net will be worth the extra effort.

Hope this helps.

T.

Expanded:

"Unnatural colors" can be highly saturated colors outside the realms of greens and browns. They are good for detecting natural scenes, since there should be ~ 50% of the scene in the green / brown spectrum, even if the flower is in the center of it.

In addition, the detection of a straight line should produce few results in natural scenes, since straight edges are rare in nature. At a basic level, create an edge image, sprinkle it, and then look for line segments (pixels that approach a straight line).

Entropy requires knowledge of machine vision. You go to the scene, determining localized entropies, and then histogram the results here - this is a similar approach that you will have to use.

You would like to be promoted in Machine Vision if you want to try pattern recognition, as this is a complex issue, not something you can invoke in a code sample. I would only try to implement them as a classifier when information about colors and edges (lines) is exhausted.

If this is a commercial application, you should contact an MV expert. If this is a college assignment (if it is not a thesis), the color and information on the borders / lines should be more than enough.

+4
source

HOOG functions are pretty much the de facto standard for these problems. They are a bit involved in the calculation (and I don’t know what environment you work in), but powerful.

A simpler solution that can make you work and work, depending on how complex the data set is, is to extract all the overlapping patches from the images, group them using k-tools (or whatever you like), and then present the image as a distribution over this set of quantized image patches for a controlled classifier such as SVM. You will be surprised how often this works, and this should at least provide a competitive baseline.

0
source

Source: https://habr.com/ru/post/1440532/


All Articles